Commit Graph

213 Commits

Author SHA1 Message Date
1bcbf27c83 feat: Make any SPK survive exactly one rotation 2022-08-08 15:48:12 +02:00
b8b6bbf800 feat: Track the old Signed Prekey after rotation 2022-08-08 15:32:08 +02:00
9c23721904 docs: Add documentation string to Device.toBundle() 2022-08-08 15:11:15 +02:00
9626763b44 feat: Make the replacement functions internal 2022-08-08 15:10:36 +02:00
43080d2ba0 feat: Expose rotating our own bundle's SPK 2022-08-08 15:09:44 +02:00
9f986c3369 feat: Handle empty OMEMO messages 2022-08-08 14:59:46 +02:00
8c1a78e360 feat: Allow encrypting to multiple Jids 2022-08-08 14:44:05 +02:00
5a187bae97 docs: Add documentation string for EncryptedKey 2022-08-08 14:28:52 +02:00
9a9c9f064b feat: Make RatchetMapKey internal 2022-08-08 14:28:02 +02:00
dd96e840d4 feat: Allow calculating fingerprints 2022-08-08 14:26:25 +02:00
70ab74b8dc docs: Add protobuf as a dev dependency 2022-08-07 17:02:06 +02:00
be239fdb43 feat: Add events for commiting the device map and ratchet 2022-08-06 13:51:07 +02:00
859f25d867 feat: Allow serialising and deserialising OmemoSessionManager 2022-08-06 12:24:26 +02:00
3b8ccfaccf docs: Add gitlint to README 2022-08-06 11:26:47 +02:00
189d823c87 fix: Track ratchet sessions using the (jid, device) tuple 2022-08-06 11:25:41 +02:00
f8830b974b chore: Implement gitlint 2022-08-06 11:19:26 +02:00
70d0391020 docs: Fix sentence in README 2022-08-05 18:36:37 +02:00
1a672677e0 docs: Update README 2022-08-05 18:26:20 +02:00
fdc3985a8d feat: Serialise the Double Ratchet 2022-08-05 18:14:10 +02:00
cd77996db4 feat: Allow serialising Device to Json 2022-08-05 17:32:59 +02:00
3a7489a9c3 feat: Make most methods of the SessionManager private 2022-08-05 16:53:31 +02:00
62fdf568aa feat: Notify the user of a modified device 2022-08-05 16:52:02 +02:00
30e3bd78cd feat: Allow initiating multiple sessions for a message 2022-08-05 16:05:05 +02:00
399f8033a3 test: Test the response to the new session 2022-08-05 15:53:16 +02:00
b5d39339d1 feat: Allow building a session when receiving 2022-08-05 13:34:42 +02:00
ff7cc8e95a fix: Migrate more from protobuf 2022-08-05 13:02:44 +02:00
9ed94c8f3a fix: Migrate to custom protobuf 2022-08-05 12:59:10 +02:00
5c3cc424de feat: Implement all protobuf messages 2022-08-05 12:28:46 +02:00
b8d70f1b88 feat: Add helper functions for field Ids 2022-08-04 23:08:02 +02:00
a82b5d0990 feat: Reimplement the OMEMOMessage protobuf schema 2022-08-04 22:55:47 +02:00
08ec093675 fix: Track device Ids as integers 2022-08-04 16:57:12 +02:00
31ee61a5cd feat: Add convenience functions 2022-08-04 16:42:12 +02:00
b745973188 fix: Make decryption work 2022-08-04 16:30:09 +02:00
31d3897995 fix: Migrate Double Ratchet to the helper functions 2022-08-04 14:10:08 +02:00
4d6dbef549 feat: Add a untest decrypt function 2022-08-04 14:01:50 +02:00
e34e0cc7fb feat: Add managing our own keys 2022-08-04 13:19:27 +02:00
27b1931629 feat: Add a basic OMEMO session manager 2022-08-04 12:50:19 +02:00
713ea8e1b1 refactor: Rename key.dart to keys.dart 2022-08-03 17:18:14 +02:00
749e2e1a0a refactor: Move OmemoBundle into omemo/ 2022-08-03 17:16:40 +02:00
55979fcbbe refactor: Move the implementations into their own directory 2022-08-03 17:15:08 +02:00
1349df9274 refactor: Move the DH function into its own file 2022-08-03 16:55:56 +02:00
e11baabfa0 feat: Remove the identityKey == 3 case 2022-08-03 16:52:42 +02:00
f897431692 docs: Improve documentation 2022-08-03 16:50:27 +02:00
45d0c57305 fix: Throw a custom exception 2022-08-03 16:44:18 +02:00
8d222a160f feat: Check the HMAC during decryption 2022-08-03 16:41:33 +02:00
6d8238475c refactor: Remove pkcs7padding function 2022-08-03 16:38:04 +02:00
a95a1e3a8d style: Use .isEven instead of '% 2 == 0' 2022-08-03 16:33:22 +02:00
37155d2a87 test: Test 100 rounds of messages between the two ratchets 2022-08-03 16:32:39 +02:00
2fc2623092 docs: I meant 0.8.3, not 0.8.0 2022-08-03 16:32:22 +02:00
1a0f470ada feat: IMPLEMENT THE DOUBLE RATCHET WITH X3DH 2022-08-03 15:29:13 +02:00