Commit Graph

41 Commits

Author SHA1 Message Date
Bruno Windels
6bc30bb824 implement megolm encryption 2020-09-03 17:48:59 +02:00
Bruno Windels
5cafef96f5 add RoomEncryption to room 2020-09-03 15:36:17 +02:00
Bruno Windels
408ff3322d content already exists here 2020-09-03 15:30:42 +02:00
Bruno Windels
620fc0d210 JSON stringify payload, olm_encrypt does not do objects 2020-09-03 15:30:18 +02:00
Bruno Windels
8676909a26 don't swallow errors! 2020-09-03 15:30:09 +02:00
Bruno Windels
a943467e71 await txns 2020-09-03 15:30:01 +02:00
Bruno Windels
71ba2dd714 name userId -> ownUserId as elsewhere 2020-09-03 15:29:35 +02:00
Bruno Windels
8d0d4570dd fix import path 2020-09-03 15:29:09 +02:00
Bruno Windels
b2fffee037 give better error when olm plaintext is not json 2020-09-03 15:28:49 +02:00
Bruno Windels
1f8005cdfd forgot to pass account 2020-09-03 15:28:38 +02:00
Bruno Windels
e22131bf57 don't store or return our own device 2020-09-03 15:28:20 +02:00
Bruno Windels
eda15e1141 forgot to remove this after extracting function 2020-09-03 15:27:40 +02:00
Bruno Windels
8d64fa54fe using wrong method here 2020-09-03 15:27:00 +02:00
Bruno Windels
4f4808b94c lock on senderKey while enc/decrypting olm sessions 2020-09-03 12:12:33 +02:00
Bruno Windels
1492b6b6f8 cleanup of olm encryption 2020-09-03 09:53:16 +02:00
Bruno Windels
e3daef5ca9 first draft of olm encryption 2020-09-02 17:58:01 +02:00
Bruno Windels
3cb46b38ff extract olm/Session into own file 2020-09-02 17:38:46 +02:00
Bruno Windels
f1b78a5778 extract groupBy function from olm decryption into util 2020-09-02 17:38:25 +02:00
Bruno Windels
0545c1f0c5 extract verifying a signed object from the device tracker 2020-09-02 17:37:48 +02:00
Bruno Windels
bd64aaf029 create outbound olm session from account
also better error handling
2020-09-02 17:37:13 +02:00
Bruno Windels
1ab356cd9c wrong store name 2020-09-02 14:53:50 +02:00
Bruno Windels
14cba7ec6e need to pass in olm 2020-09-02 14:52:19 +02:00
Bruno Windels
6d3aa219fa implement storing room keys 2020-09-02 14:24:38 +02:00
Bruno Windels
44e9f91d4c to_device handler for encrypted messages
changes the api of the olm decryption to decrypt in batch
so we can isolate side-effects until we have a write-txn open
and we can parallelize the decryption of different sender keys.
2020-09-02 13:33:27 +02:00
Bruno Windels
5fee7fedc3 implement olm decryption algorithm 2020-09-01 17:59:39 +02:00
Bruno Windels
81a1573e3b make a shared olm util for the whole session 2020-09-01 17:57:59 +02:00
Bruno Windels
d43cdfd889 don't crash when tracked user is not there 2020-08-31 16:06:40 +02:00
Bruno Windels
fef6586e5b actually pass the room id 2020-08-31 16:06:31 +02:00
Bruno Windels
78c3157a5f fix not taking into account Object.entries yields arrays for the pairs 2020-08-31 16:05:57 +02:00
Bruno Windels
561df45641 olm.Utility should be instanciated 2020-08-31 16:05:21 +02:00
Bruno Windels
0399562340 fix typo 2020-08-31 16:05:04 +02:00
Bruno Windels
4ef5d4b3b8 implement hsapi /keys/query method 2020-08-31 14:24:09 +02:00
Bruno Windels
8b358379e8 first draft of device tracker
mainly missing race protection with /sync and actually running the code
2020-08-31 14:12:12 +02:00
Bruno Windels
693682f360 move e2ee constants to common file 2020-08-28 14:35:47 +02:00
Bruno Windels
a1ba5d7dba between syncs, generate more otks if needed, and upload them 2020-08-28 13:58:17 +02:00
Bruno Windels
681dfdf62b sync otk count to e2ee account 2020-08-28 13:56:44 +02:00
Bruno Windels
d64db185bd await callback in case we need to read, then write from it 2020-08-28 13:54:42 +02:00
Bruno Windels
3ab5a72221 give e2ee account values a prefix so we can prevent from clearing them 2020-08-28 13:52:27 +02:00
Bruno Windels
d24be7ee55 extract constants out 2020-08-28 13:51:58 +02:00
Bruno Windels
4c290f0394 upload identity and one-time keys 2020-08-27 19:13:24 +02:00
Bruno Windels
f98b3dd5fa create/load olm account before first sync 2020-08-27 19:13:09 +02:00