Commit graph

460 commits

Author SHA1 Message Date
Torsten Grote
12b8ec3d18
Merge pull request #322 from chirayudesai/master-deprecation
README: master is now deprecated
2021-10-01 07:49:07 -03:00
Chirayu Desai
5850b1f3eb README: master is now deprecated
Change-Id: I7fd86ac259eaeb698bbe86281c5e3da14cf8b6bd
2021-09-29 20:16:59 +05:30
Torsten Grote
d1b8ec82c1
Merge pull request #320 from chirayudesai/11-2.2
Bump version to 11-2.2
2021-09-29 11:20:27 -03:00
Chirayu Desai
08abcb63d7 Bump version to 11-2.2
User-facing changes:
* Don't backup on metered networks
* Disable spell-checker on recovery code input
* Disable Nextcloud restore when not installed and no store available
* Ask for system authentication before storing a new recovery code
* Prevent screenshots of recovery code
* Add expert settings with an option for unlimited quota
* Allow launching restore through a dialer code
* Restrict exported components

Others:
* Improve .editorconfig setup
* Move LocalContactsBackup to product partition
* Link FAQ in Readme to make it more discoverable
* Compares kotlin-bip39 library with bitcoinj library
* Provide an overview over key derivations
* document potential information leakage through the long-lived SQL caches
* Add warning for third-party tools to README

Change-Id: I095af13d0ff010c9602bc323267c074ce7d019a2
2021-09-29 19:33:45 +05:30
Chirayu Desai
746abba63e Changelog: Update till 11-2.1
* Not full, but better than not having anything here

Change-Id: If80d19882aab607e0598851d2e2ca1b5c7f3cead
2021-09-29 19:33:08 +05:30
Torsten Grote
92d1f4d5f5
Merge pull request #319 from chirayudesai/restore-dialer
Allow launching restore through a dialer code
2021-09-29 10:45:18 -03:00
flawedworld
b2cd3c76a3 Restrict exported components
Change-Id: I30e5f530b6814acd4d3940279de6100f82e68445
2021-09-29 18:57:14 +05:30
Chirayu Desai
38f01765ec Allow launching restore through a dialer code
* We don't show Restore in menu by default since it's
  not the best idea to restore a running system
* However, at the same time, it's good to have a way to do
  that for those who'd like to restore anyway, and the only
  current way is adb, which is not ideal
* Dialing "*#*#RESTORE#*#*" will launch the restore activity

Change-Id: I258fead82f7e916a4de0b314e1840d7aa4b3746c
2021-09-29 18:57:14 +05:30
Torsten Grote
a5a3a85c6c Add expert settings with an option for unlimited quota
Change-Id: Iebaea41ce4e69912f7cb723bd92e94e4396aa657
2021-09-28 22:02:04 +05:30
Torsten Grote
d2a748c34a Prevent screenshots of recovery code
This is may be inconvenient for some people, but it is way more secure as screenshots can be accessed by malicious apps that look our for BIP39 codes. Better to store the code on paper.
2021-09-24 02:55:56 +05:30
Torsten Grote
3b1a4e3881 Use clearer more generic strings 2021-09-24 02:55:56 +05:30
Torsten Grote
6e838978e3 Ask for system authentication before storing a new recovery code
This will help to prevent data extraction via seedvault when somebody gets hold of an unlocked phone. However, it will not help against someone able to force you to provide fingerprints or other device secrets.
2021-09-24 02:55:56 +05:30
Torsten Grote
e0f728205d Split up validating, verifying and storing of recovery code 2021-09-24 02:55:56 +05:30
Michael Bestas
26516d72a2 Disable Nextcloud restore when not installed and no store available
Attempting to install Nextcloud in SetupWizard on a device
that has no app store installed results in a crash.
Disable the option and use an appropriate summary.

Change-Id: Ie3dff8d85ed68b27858fa37b3efb97eb345fa372
2021-09-24 02:53:10 +05:30
Torsten Grote
71f7fd8474 Disable spell-checker on recovery code input
to prevent potential cloud learning or otherwise leaking code
2021-09-24 02:52:06 +05:30
Torsten Grote
84a4390564 Add warning for third-party tools to README 2021-09-24 00:04:56 +05:30
Torsten Grote
308e7148aa document potential information leakage through the long-lived SQL caches 2021-09-24 00:04:56 +05:30
Torsten Grote
012bdefb6b Provide an overview over key derivations 2021-09-24 00:04:56 +05:30
Torsten Grote
d6a95e40ec Compares kotlin-bip39 library with bitcoinj library
to ensure that kotlin-bip39 is not malicious and can be upgraded safely
2021-09-24 00:02:43 +05:30
rugk
d342b04bfb Link FAQ in Readme to make it more discoverable
E.g. for https://github.com/seedvault-app/seedvault/issues/264 I found the FAQ way to late.

And for users this is a very valuable resource. As such, IMHO you should make it more discoverable, e.g. like this.
2021-09-23 23:56:51 +05:30
Torsten Grote
0ed8e94e1d
Merge pull request #303 from mikeNG/code-style
Make code style consistent
2021-09-08 05:56:47 -03:00
Torsten Grote
b149195e7a
Merge branch 'master' into code-style 2021-09-08 05:37:02 -03:00
Michael Bestas
acc332b0fd Move LocalContactsBackup to product partition
Change-Id: I0f463d4310647765266b948276d62171a7f46243
2021-08-27 17:17:59 +05:30
Michael Bestas
532ed5e3f1
Add newline at the end of all files
Change-Id: I85718a4d8254d27e36f1712e4430e82863ba721e
2021-08-25 18:25:00 +03:00
Michael Bestas
d0cf968d06
Improve .editorconfig setup
Add rules for all the project files.
Inspired by android studio editorconfig, results in
all files containing newlines at the end of file for
consistent code style throughout the app.

Change-Id: Ifc98fcf75f8e78526a0e186b2b14d44f0f7e45ac
2021-08-25 18:24:53 +03:00
Torsten Grote
b29a50fdb6
Merge pull request #291 from luca020400/patch-1
Don't backup on metered networks
2021-08-25 10:21:54 -03:00
Luca Stefani
bc24c7804d Don't backup on metered networks
* We better not overuse metered networks as such connections
* are usually sensitive to heavy data usage due to monetary costs and/or data limitations.
2021-08-25 14:59:49 +02:00
Chirayu Desai
96ffcc258d Bump version to 11-2.1
* Only change here is the BIP39 dependency replacement, however
  I'm still bumping version so that it's easy to figure out in case
  there ever was a build with just 2.0 and not this due to whatever reason

Change-Id: I9783d5e038d002e871c09be6fe61174c5a5b901f
2021-07-06 00:02:14 +05:30
Torsten Grote
05640ebb63 Replace novacrypt BIP39 library with the zcash one
which is MIT licensed instead of GPLv3

Change-Id: I30041de5ab1c1f8c7d5f57d6c60e28300a285259
2021-07-05 23:50:18 +05:30
Chirayu Desai
fd4c92bd84 SeedVault 2.0: Now with storage backup!
Change-Id: Ifd639c3c9205b417d1ec37c8e7a11a2119b5cb48
2021-07-05 22:35:08 +05:30
Torsten Grote
23e8f6503c Upgrade storage lib after recent set of changes 2021-07-05 20:08:29 +05:30
Torsten Grote
d13b9ea3fd Always run storage backups in a foreground service
otherwise we get killed for using too much CPU
2021-07-05 20:08:29 +05:30
Torsten Grote
056bdc3bf3 Fix crash that happens when starting RestoreActivity without key
This instantiates all sorts of classes down to Restore which accessed the streamKey that is still unavailable at this point. Now it is only instantiated lazily when actually starting a restore.
2021-07-05 20:08:29 +05:30
Torsten Grote
781bcd28d3 Remove storage snapshots from list if we can't decrypt them 2021-07-05 20:08:29 +05:30
Torsten Grote
26e35e1820 Make 'skip' buttons bigger so they are easier to tap 2021-07-05 20:08:29 +05:30
Torsten Grote
a4cbb0b6df Only request app backup when it is actually enabled 2021-07-05 20:08:29 +05:30
Torsten Grote
1ff8e54748 Re-initialize backup location when changing recovery code
* delete all storage backups for current user
* clears the storage backup cache
* start a new app data restore set and initializes it

The reason is that old backups won't be readable anymore with the new key. We also can't delete other backups safely as we did before, because we can't be sure that they don't belong to a different device or user.
2021-07-05 20:08:29 +05:30
Torsten Grote
347d2a316f Allow using the same storage location on different devices or user profiles
Previously, we would put our files directly in the root of the storage location and delete any existing backups there. When used by different devices or user profiles, these would keep deleting each other's backups.
2021-07-05 20:08:29 +05:30
Torsten Grote
a762d1b64e Upgrade gradle and test libraries 2021-07-05 20:08:29 +05:30
Torsten Grote
342bd2068a Clear existing storage snapshots from storage medium
because that scenario isn't supported at the moment
2021-07-05 20:08:29 +05:30
Torsten Grote
f373f4bb97 release 0.9.7 of storage demo app 2021-07-05 20:08:29 +05:30
Torsten Grote
801dcc42ed add READMEs and tie them together in main README 2021-07-05 20:08:29 +05:30
Torsten Grote
e77d5cad2c Update storage design document and add some TODOs to the code 2021-07-05 20:08:29 +05:30
Torsten Grote
858954e82d Add user dictionary to repo for spellchecker 2021-07-05 20:08:29 +05:30
Torsten Grote
0aee5cc2aa Provide correct version to associated data 2021-07-05 20:08:29 +05:30
Torsten Grote
e7a8ad50e8 Add version number to chunks cache
so we can later do in-place version upgrades and find out which chunks we need to store new versions for
2021-07-05 20:08:29 +05:30
Torsten Grote
61fe823a04 Check that version in snapshot matches the one in chunks 2021-07-05 20:08:29 +05:30
Torsten Grote
be9a84d704 Add storage design document 2021-07-05 20:08:29 +05:30
Torsten Grote
e21207de32 Only require network for storage backups when storage needs network 2021-07-05 20:08:29 +05:30
Torsten Grote
b8ac11e724 apply ktlint to storage.lib as well 2021-07-05 20:08:29 +05:30