Commit graph

31 commits

Author SHA1 Message Date
Tulir Asokan
3a6249bf08 dependencies: update go-util 2024-07-13 16:45:02 +03:00
Tulir Asokan
0cbe236550 crypto/sqlstore: fill account_id when updating crypto_secrets schema 2024-07-10 17:35:16 +03:00
Tulir Asokan
b196541e98 Fix crypto_secrets table schema 2024-05-26 00:58:17 +03:00
Toni Spets
11c2907f2e Database level support for key backup versioning
This doesn't plumb anything in yet but adds the columns and types for an
external implementation.

Key backup version is now typed.
2024-02-01 13:22:32 +02:00
Toni Spets
8dc80b3178 Share room keys to known devices on request
If we have shared a session with a device once, allow asking for it
again.
2024-01-26 13:52:25 +02:00
Toni Spets
94664f1c8a Secret sharing implementation 2024-01-24 12:56:46 +02:00
Toni Spets
a3883fcf6f Allow disabling automatic key fetching for Olm machine
Many crypto operations in the Olm machine have a possible side effect of
fetching keys from the server if they are missing. This may be undesired
in some special cases.

To tracking which users need key fetching, CryptoStore now exposes APIs
to mark and query the status.
2024-01-12 14:12:47 +02:00
Tulir Asokan
25bc36bc7a Add more contexts everywhere 2024-01-07 22:45:02 +02:00
Tulir Asokan
bb4427e528 Move dbutil to util package 2023-08-05 18:04:09 +03:00
Tulir Asokan
33e696f02c
Allow marking database upgrades as backwards-compatible (#127) 2023-04-25 15:44:29 +03:00
Tulir Asokan
87d2cbdfe6 Fix mistakes and change db upgrade message 2023-04-12 12:27:55 +03:00
Tulir Asokan
6879d6b693 Delete megolm sessions when receiving new one and when session is fully used 2023-04-11 11:42:13 +03:00
Tulir Asokan
20df20d25a Ratchet inbound sessions on decrypt and delete outbound on ack 2023-04-10 16:27:05 +03:00
Tulir Asokan
cea59a6781 Change megolm session max_age to milliseconds 2023-03-23 16:45:17 +02:00
Tulir Asokan
a5d96e192a Remove sql_store_upgrade.Upgrade 2022-12-03 20:49:25 +02:00
Tulir Asokan
295e1571d3 Add flag to disable wrapping db upgrades in transaction 2022-11-02 19:59:07 +02:00
Tulir Asokan
f4ba0afd59 Wrap connections and remove maulogger dependency in dbutil
Connection wrapper includes query time logging and replacing $x with ?x on SQLite
2022-08-11 18:47:28 +03:00
Tulir Asokan
8abeaa7d60 Update crypto store v0 upgrade 2022-06-23 14:48:44 +03:00
Tulir Asokan
9162944672 Add cross-signing TOFU support 2022-06-23 14:42:05 +03:00
Tulir Asokan
6d5a9d184c Make required trust level in e2be configurable 2022-06-22 20:05:22 +03:00
Tulir Asokan
b3037c1900 Fix another mistake 2022-05-22 01:18:50 +03:00
Tulir Asokan
ffd56c83ab Fix some mistakes 2022-05-22 01:16:44 +03:00
Tulir Asokan
d578d1a610 Move a bunch of stuff from mautrix-whatsapp
Moved parts:
* Appservice SQL state store
* Bridge crypto helper
* Database upgrade framework
* Bridge startup flow

Other changes:
* Improved database upgrade framework
  * Now primarily using static SQL files compiled with go:embed
* Moved appservice SQL state store to using membership enum on Postgres
2022-05-22 00:50:33 +03:00
Tulir Asokan
95662fc3f0 Fix sorting of olm sessions 2021-12-22 22:56:31 +02:00
Tulir Asokan
53be7e7ac8 Add crypto store upgrade for converting VARCHAR(255) to TEXT 2021-08-19 19:10:40 +03:00
Tulir Asokan
495d77b3a0 Merge branch 'master' into cross-sign 2020-10-27 00:38:52 +02:00
Tulir Asokan
72fc4c1643 Stop using github.com/pkg/errors 2020-09-24 14:41:29 +03:00
Nikos Filippakis
f5e1f1e414 Sign and upload master keys of other users
Signed-off-by: Nikos Filippakis <me@nfil.dev>
2020-08-30 20:51:17 +02:00
Nikos Filippakis
211495722d DB changes for storing cross-signing keys and signatures
Signed-off-by: Nikos Filippakis <me@nfil.dev>
2020-08-30 20:45:26 +02:00
Tulir Asokan
24127da284 Add support for storing m.room_key.withheld events 2020-08-03 22:05:01 +03:00
Tulir Asokan
e48414c693 Move crypto SQL store upgrades to separate package 2020-07-10 16:34:23 +03:00