1b22c32ef9
fix(GODT-3102): Distinguish Vault Decryption from Serialization Errors
...
Rather than returning whether the vault was corrupt or not return the
error which caused the vault to be considered as corrupt.
2023-11-30 08:31:14 +01:00
110286b81c
fix(GODT-2813): Write new vault to temporary file first
...
Do not immediately overwrite the old vault with new data. If something
goes wrong, we at least maintain on previously valid state.
2023-07-19 09:12:36 +02:00
0ef9c9c9c9
fix(GODT-2606): Improve Vault concurrency scopes
...
Rewrite the vault to have one RWlock rather then two separate locks for
data and reference counts.
In certain circumstance, it could be possible that that different
requests could end up in undefined states if a user got deleted
successfully while at he same time another goroutine/thread is loading
the given user.
While I have not been able to reproduce this in a test, restricting the
access scope to one lock rather than two, should avoid corner cases
where logic code is executing outside of the lock scope.
2023-05-15 13:28:00 +02:00
eee2c73a61
feat(GODT-2610): re-use previous password when removing and adding back account.
2023-05-08 11:43:48 +02:00
de5fd07a22
feat(GODT-2500): Reorganise async methods.
2023-04-03 07:07:22 +02:00
ec92c918cd
feat(GODT-2500): Add panic handlers everywhere.
2023-04-03 06:38:31 +02:00
e9f20aee7a
fix(GODT-2387): Ensure vault can be unlocked after factory reset
...
When performing a factory reset, we don't want to wipe all keychain
entries. The only keychain entry should be the vault's passphrase,
and we need this to be able to decrypt the vault at next startup
(to avoid it being reported as corrupt).
2023-02-23 08:11:20 +00:00
a377384553
Other: added user's primary email address to the vault.
2023-01-17 11:27:54 +01:00
03c8c323bc
GODT-2251: Store gluon cache in user cache rather than user data
2023-01-16 16:27:41 +01:00
6d0a128111
Other: Update copyright year
2023-01-02 11:09:11 +01:00
9f64e8a6fa
Other: Wipe vault properly on factory reset
...
Deleting the file isn't enough because it's still held in memory
and is written back to disk on the next write (SetLastVersion during
bridge teardown).
2022-11-29 09:59:30 +01:00
48dfdabaf4
GODT-1975: Migrate keychain secrets
2022-11-21 09:00:51 +00:00
7d84ab37f6
GODT-2100: Load users in parallel at startup
2022-11-19 12:13:33 +01:00
e60bbaa60f
Other: Add more user-level logs
2022-11-18 13:30:45 +00:00
6bf67917fb
GODT-2034: Basic vault migration ability (proof of concept)
2022-11-16 13:48:30 +01:00
924a423488
Other: Add some more debug logs
2022-11-16 13:48:30 +01:00
d4c1016e55
Other: Consider vault corrupt if it cannot be unmarshaled
2022-11-16 13:48:30 +01:00
d376b88cf0
Other: Use msgpack instead of json in vault
...
msgpack is much faster at serializing and deserializing than json. Using
it in the vault gives a performance boost.
2022-11-16 13:48:30 +01:00
7c62312220
Other: Fix all linter errors
2022-11-16 12:26:09 +01:00
e10cd2a3ed
GODT-1901: Allow to set IMAP SSL from UI
2022-11-16 12:26:09 +01:00
a74b025de3
Other: Factory reset
2022-11-16 12:26:09 +01:00
ef2dea89b4
Other: Safer vault
2022-11-16 12:26:09 +01:00
fd63611b41
Other: Safer user types
2022-11-16 12:26:09 +01:00
1c922ca083
Other: Fix flaky cookies test
2022-11-16 12:26:09 +01:00
509a767e50
GODT-1657: More stable sync, with some tests
2022-11-16 12:26:09 +01:00
9d69a2e565
GODT-1657: Stable sync (still needs more tests)
2022-11-16 12:26:09 +01:00
6ac68984f2
GODT-1609: Fix bridge password encoding
2022-11-16 12:26:09 +01:00
e9672e6bba
GODT-1815: Combined/Split mode
2022-11-16 12:26:08 +01:00
9670e29d9f
GODT-1815: Start with missing gluon files
2022-11-16 12:26:08 +01:00