Commit graph

36 commits

Author SHA1 Message Date
Tulir Asokan
315d2ab17d all: fix staticcheck issues
Some checks are pending
Go / Lint (latest) (push) Waiting to run
Go / Build (old, libolm) (push) Waiting to run
Go / Build (latest, libolm) (push) Waiting to run
Go / Build (old, goolm) (push) Waiting to run
Go / Build (latest, goolm) (push) Waiting to run
2025-12-08 00:07:25 +02:00
Tulir Asokan
19f3b2179c pre-commit: ban log.Str(x.String()) 2025-08-29 11:07:16 +03:00
Tulir Asokan
421bd5c4c8 crypto/devicelist: remove unnecessary parameter
Some checks are pending
Go / Lint (latest) (push) Waiting to run
Go / Build (old, libolm) (push) Waiting to run
Go / Build (latest, libolm) (push) Waiting to run
Go / Build (old, goolm) (push) Waiting to run
Go / Build (latest, goolm) (push) Waiting to run
2024-12-07 15:04:33 +02:00
Tulir Asokan
3a9061e69c crypto/devicelist: add helper for getting cached device list 2024-12-07 14:59:45 +02:00
Tulir Asokan
0443daef0e crypto: use exzerolog.ArrayOfStrs instead of custom function 2024-06-30 01:14:27 +03:00
Sumner Evans
2810465ef2
verificationhelper: ensure that the keys are fetched before starting
Signed-off-by: Sumner Evans <sumner@beeper.com>
2024-04-25 09:40:57 -06:00
Sumner Evans
65be59bfed
crypto: refactor to remove need for Utility struct
This also removes all dependence on libolm for the functions that were
provided by the Utility struct.

The crypto/signatures package should be used for all signature
verification operations, and for the occasional situation where a
base64-encoded SHA-256 hash is required, the olm.SHA256B64 function
should be used.

Signed-off-by: Sumner Evans <sumner@beeper.com>
2024-01-18 09:17:19 -07: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
Toni Spets
8da3a17402 Add context to OLM machine LoadDevices
As there's a side effect of going to the crypto store we want the
context to at least exist for now.
2024-01-10 13:25:44 +02:00
Tulir Asokan
25bc36bc7a Add more contexts everywhere 2024-01-07 22:45:02 +02:00
Joakim Recht
753cdb2e1c
Add context parameter to all client and bridge API functions (#144) 2023-12-15 16:23:31 +02:00
Tulir Asokan
5b04875090 Add option to not rotate keys when devices change 2023-06-02 18:15:43 +03:00
Tulir Asokan
43d58fbad2 Redact megolm sessions when device is deleted 2023-04-11 12:55:23 +03:00
Tulir Asokan
cd081f597d Move some crypto logs to debug level 2023-02-24 14:19:41 +02:00
Tulir Asokan
55e6fb593c Switch crypto module to zerolog 2023-02-19 22:45:43 +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
28320db1cc Improve device validation errors 2022-07-05 16:14:41 +03:00
Tulir Asokan
d1d7f999f7 Move DeviceIdentity and Fingerprint to id package 2022-07-05 11:56:45 +03:00
Tulir Asokan
5ece4290f3 Improve logging in cross-signing code 2022-06-22 21:33:56 +03:00
Tulir Asokan
6d5a9d184c Make required trust level in e2be configurable 2022-06-22 20:05:22 +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
dfa32fa016 Delete signatures made by keys that have been replaced since
Signed-off-by: Nikos Filippakis <me@nfil.dev>
2020-08-30 20:51:17 +02:00
Nikos Filippakis
c4c4b2c61d Upload cross-signing keys to the server as well besides SSSS
Signed-off-by: Nikos Filippakis <me@nfil.dev>
2020-08-30 20:51:17 +02:00
Nikos Filippakis
50bb209da7 Checking of trust for devices and users based on cross-signing
signatures

Signed-off-by: Nikos Filippakis <me@nfil.dev>
2020-08-30 20:51:17 +02:00
Nikos Filippakis
e0e6e6fc76 Prepare signing key libolm interaction and move cross-signing funcs to a new file
Signed-off-by: Nikos Filippakis <me@nfil.dev>
2020-08-30 20:45:26 +02:00
Nikos Filippakis
83f2636582 Store received cross-signing keys and their signatures
Signed-off-by: Nikos Filippakis <me@nfil.dev>
2020-08-30 20:45:26 +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
fab44b8317 Add method to load devices of specific user from server 2020-07-24 23:49:55 +03:00
Tulir Asokan
ea5cf3ee5e Add some comments and other changes to crypto stuff 2020-06-23 21:42:33 +03:00
Tulir Asokan
929d4932bf Save megolm session in crypto store after using it to encrypt 2020-05-12 23:15:03 +03:00
Tulir Asokan
5b40077033 Don't query changed devices if device list isn't tracked 2020-05-06 19:49:53 +03:00
Tulir Asokan
bef0c221af Actually invalidate outbound group sessions on device list change 2020-05-06 19:19:10 +03:00
Tulir Asokan
a120e7a70f Change stuff and invalidate outgoing group sessions on member event 2020-05-05 18:37:08 +03:00
Tulir Asokan
72957d901d Fix sharing group sessions and change other stuff 2020-04-28 21:32:12 +03:00
Tulir Asokan
fe82e2b914 Add initial outbound encryption 2020-04-28 00:57:04 +03:00