Commit graph

677 commits

Author SHA1 Message Date
Alexander Bakker
5731cccddc Fix build 2020-02-21 17:23:40 +01:00
Michael Schättgen
48d22fc06d
Merge pull request #304 from alexbakker/microsoft-auth
Add support for importing from Microsoft Authenticator
2020-02-20 18:43:57 +01:00
Michael Schättgen
964ed294a5
Merge pull request #303 from alexbakker/totp-authenticator
Add support for importing from TOTP Authenticator
2020-02-20 17:46:39 +01:00
Alexander Bakker
2a4bb902df Add support for importing encrypted and manually entered tokens from Authy 2020-02-19 12:02:17 +01:00
Alexander Bakker
d3463b82bc Add support for importing from Microsoft Authenticator
Adds support for importing TOTP and Microsoft accounts from Microsoft
Authenticator. Microsoft accounts also use TOTP, but with 8 digits instead
of 6.

This implementation suffers from the same bug (#82) as Google Authenticator, but I
haven't thought of a nice way to solve it yet. We should fix that before
including this feature in a release, though.
2020-02-19 12:00:41 +01:00
Alexander Bakker
ef536a0c07 Abstract away the SQLite database reading logic into a separate class 2020-02-19 12:00:01 +01:00
Alexander Bakker
7e7c5317b1 Add support for importing from TOTP Authenticator
This is by far the most ridiculous format/'security' I've seen so far.
2020-02-19 11:59:34 +01:00
Alexander Bakker
2bf3546971 Make the parsing logic of the QR code URI more robust 2020-02-19 11:17:16 +01:00
Michael Schättgen
cd42b0dc65
Merge pull request #271 from alexbakker/guava
Replace implementations of Base16, Base32 and Base64 with Guava
2020-02-17 22:23:43 +01:00
Alexander Bakker
4ba3caeaf4 Protect writes of the vault file against corruption with AtomicFile
This adds a recovery mechanism for (probably extremely rare) cases where the app
may be killed before it is finished writing the vault file to disk. In the
example below, we see that AtomicFile moved ``aegis.json`` to ``aegis.json.bak``
before writing to ``aegis.json``.

```
bonito:/ # ls -lah /data/data/com.beemdevelopment.aegis.debug/files
total 27M
drwxrwx--x 2 u0_a306 u0_a306 3.4K 2020-02-02 13:22 .
drwx------ 6 u0_a306 u0_a306 3.4K 2020-02-01 19:51 ..
-rw------- 1 u0_a306 u0_a306  19M 2020-02-02 13:22 aegis.json
-rw------- 1 u0_a306 u0_a306  34M 2020-02-02 13:21 aegis.json.bak
```

Because the app was killed before it could
finish writing, it is only 19M in size, instead of the expected 34M. The next
time the app starts, AtomicFile will notice that the .bak file is still present,
and use that instead of the corrupted ``aegis.json`` file.
2020-02-02 13:23:45 +01:00
Alexander Bakker
10ac1af6b0 Replace implementations of Base16, Base32 and Base64 with Guava
I kept the classes in the encoding package and turned them into wrappers for
Guava. I also changed the functions in the Base32 class to take and return
strings insteads if character arrays.
2020-02-01 14:11:55 +01:00
Alexander Bakker
833e75ade1
Merge pull request #301 from acolombo25/master
Add navigation bar color to themes
2020-01-29 20:23:48 +01:00
Andrea Colombo
7bbd80ed21 Add navigation bar color to themes 2020-01-27 11:34:34 +01:00
Alexander Bakker
dbedc9d1d3 Release v1.1.4 2020-01-22 20:42:22 +01:00
Michael Schättgen
3bdcc25ebe
Merge pull request #298 from alexbakker/saf-json
Append ".json" extension to export filenames
2020-01-22 00:40:03 -08:00
Alexander Bakker
d0108e9859 Append ".json" extension to export filenames
Apparently not all SAF providers append a file extension based on the specified
MIME type.
2020-01-21 09:34:06 +01:00
Alexander Bakker
025c89d78c Release v1.1.3 2020-01-20 21:36:15 +01:00
Alexander Bakker
c52e60b410
Merge pull request #288 from michaelschattgen/set-locale
Fix setting locale on 7.0
2020-01-20 21:35:04 +01:00
Michael Schättgen
3cc644193f Update languages and gitignore 2020-01-20 21:34:20 +01:00
Michael Schättgen
8020792024 Fix setting locale on 7.0 2020-01-20 21:01:17 +01:00
Michael Schättgen
837a27f9d7
Merge pull request #293 from alexbakker/password-reminder
Remind users who use biometrics to enter their password periodically
2020-01-20 11:56:49 -08:00
Michael Schättgen
5c71f6254b
Merge pull request #296 from alexbakker/fix-295
Fix #295
2020-01-20 11:56:32 -08:00
Alexander Bakker
bbea6c2ae4 Fix #295 2020-01-19 23:00:03 +01:00
Alexander Bakker
fa799e9542 Remind users who use biometrics to enter their password periodically
Instead of showing the reminder after x unlocks, I decided to show the reminder
2 weeks after the vault was last unlocked with the password. Let me know if you
agree with that.

![](https://alexbakker.me/u/115z6be7go.png)
2020-01-19 15:53:04 +01:00
Alexander Bakker
7f1ce1e645 Release v1.1.2 2020-01-18 14:42:53 +01:00
Michael Schättgen
dc6bf3795a
Merge pull request #286 from alexbakker/intro-text
Add explanation for the security options
2020-01-12 07:58:17 -08:00
Michael Schättgen
a3538f95e2
Merge pull request #285 from alexbakker/storage-permissions
Remove EXTERNAL_STORAGE permissions
2020-01-12 07:53:08 -08:00
Alexander Bakker
85c358043d Add explanation for the security options
This adds some extra explanation of the security options to the intro, as well
as a warning when setting a password.

[<img width=200 src="https://alexbakker.me/u/jipc03u3hx.png">](https://alexbakker.me/u/jipc03u3hx.png)
[<img width=200 src="https://alexbakker.me/u/uw9nbsd95s.png">](https://alexbakker.me/u/uw9nbsd95s.png)
[<img width=200 src="https://alexbakker.me/u/mdoe5m8c3o.png">](https://alexbakker.me/u/mdoe5m8c3o.png)
2020-01-11 13:57:08 +01:00
Alexander Bakker
ab8f01284a Remove EXTERNAL_STORAGE permissions
As we switched to the SAF, we don't need these permissions anymore.
2020-01-11 12:59:09 +01:00
Alexander Bakker
97d824d779
Merge pull request #279 from michaelschattgen/feature/multi-select
Add ability to select multiple entries
2020-01-05 11:42:36 +01:00
Michael Schättgen
eedf9d2935
Merge pull request #278 from alexbakker/scoped-storage
Rewrite the export functionality to use the Storage Access Framework
2020-01-04 13:20:11 -08:00
Alexander Bakker
1ede56e137 Rewrite the export functionality to use the Storage Access Framework
We noticed after the v1.1 release that we need to switch our external storage
access code over to use the Storage Access Framework. The export functionality
was the only piece of code that still used the deprecated method and this patch
addresses that.

The Storage Access Framework is a little annoying to work with, but I don't
think it'll be too painful for our usecase. This switch comes with some nice
benefits for users as well. Users are now able to select a custom storage
location, which can be local or in the cloud.

This also removes ``requestLegacyExternalStorage`` from the manifest, as we
don't need it anymore.
2020-01-04 22:09:13 +01:00
Michael Schättgen
f8c106bcb9 Add ability to select multiple entries
Improve code and add select listeners
2020-01-04 21:15:17 +01:00
Alexander Bakker
10c206270a Release v1.1.1 2020-01-04 12:57:52 +01:00
Michael Schättgen
f7a0ee7174
Merge pull request #275 from alexbakker/thanks-for-the-storage-regressions-google
Set requestLegacyExternalStorage to true in AndroidManifest
2020-01-04 03:33:08 -08:00
Alexander Bakker
f5e8ba96e6 Set requestLegacyExternalStorage to true in AndroidManifest
This is a temporary workaround while we work on support for the Storage Access Framework.
2020-01-03 19:15:04 +01:00
Alexander Bakker
3506fdaad9 Release v1.1 2020-01-03 12:33:15 +01:00
Michael Schättgen
8824b779f5
Merge pull request #273 from alexbakker/fix-notification
Always cancel the persistent notification when the app task is removed
2020-01-03 12:27:17 +01:00
Alexander Bakker
4cab92d615 Always cancel the persistent notification when the app task is removed 2020-01-02 13:05:45 +01:00
Alexander Bakker
35a14d3198
Merge pull request #269 from beemdevelopment/update-translations
Update translations
2019-12-27 00:36:10 +01:00
Michael Schättgen
e46041ece0 Update translations 2019-12-27 00:29:44 +01:00
Alexander Bakker
28ebaf48c8
Merge pull request #268 from beemdevelopment/fix-changelog
Fix changelog
2019-12-26 23:50:58 +01:00
Michael Schättgen
fc96e7919a Replace changelog css colors 2019-12-26 23:25:05 +01:00
Michael Schättgen
08b80d2e72 Fix build 2019-12-26 22:17:32 +01:00
Michael Schättgen
051cf9370b
Merge pull request #257 from alexbakker/action-copy
Add a 'copy' button to the entry action mode menu in MainActivity
2019-12-26 22:14:07 +01:00
Michael Schättgen
3d13296890
Merge pull request #267 from alexbakker/biometric-update
Update gradle and dependencies
2019-12-26 22:04:40 +01:00
Michael Schättgen
93f32c2903
Merge pull request #266 from alexbakker/db-to-vault
Rename "Database" to "Vault"
2019-12-26 21:54:58 +01:00
Alexander Bakker
f168768033 Update gradle and dependencies 2019-12-26 13:23:00 +01:00
Alexander Bakker
5ab4307963 Rename "Database" to "Vault"
We decided on calling the state file the "vault" a while back. This patch makes
the naming consistent across the codebase. I left "DatabaseImporter" classes
alone, because I'm not sure what a better name for those would be.
2019-12-25 19:21:34 +01:00
Alexander Bakker
d0baeef064 Release v1.1-beta1 2019-12-24 15:01:39 +01:00