Commit Graph
89 Commits
Author SHA1 Message Date
PapaTutuWawa 96d9c55c87 fix: Make fromJson* functions work when reading JSON from a String 2022-09-15 13:41:33 +02:00
PapaTutuWawa 49c847a96b feat: Remove toJson and fromJson from OmemoSessionManager 2022-09-15 13:22:50 +02:00
PapaTutuWawa cf5331a026 feat: Introduce logging for logging purposes 2022-09-15 13:17:30 +02:00
PapaTutuWawa c1d8073af0 refactor: Remove BTBV's loadState method 2022-09-15 13:06:14 +02:00
PapaTutuWawa 438012d8f8 fix: Hopefully fix all tests being flaky
It seems that the varint encoding function would not work for
some integers as input. This should in theory fix this issue. Since
the SPK IDs are randomly between 0 and 2**32 - 1, it makes sense that
the tests fail only sometimes.
2022-09-14 23:50:54 +02:00
PapaTutuWawa 79704da99c fix: Fix issues with the maps being unmodifiable 2022-09-14 22:02:50 +02:00
PapaTutuWawa 4341797f14 fix: Commit the restored ratchet 2022-09-14 22:02:35 +02:00
PapaTutuWawa c5c579810e fix: Restore the ratchets in case of an error
This means that if the ratchet fails to decrypt a message, from the
outside it will be as if that one message had never been received.
Thus, the ratchet can be used normally. This is to guard against
messages that are received again.
2022-09-14 21:58:41 +02:00
PapaTutuWawa 8991599a0b feat: Allow removing all ratchets for a given Jid 2022-09-11 17:26:54 +02:00
PapaTutuWawa dad938b0e1 feat: Allow initializing the BTBV trust manager in the constructor 2022-09-11 13:43:07 +02:00
PapaTutuWawa ff52c82039 feat: Help with serializing and deserializing the BTVT manager 2022-09-11 13:33:45 +02:00
PapaTutuWawa 12e09947f6 feat: Implement enabling and disabling devices 2022-09-11 12:34:31 +02:00
PapaTutuWawa 0e370a8e19 refactor: Use synchronized's return 2022-09-09 17:39:28 +02:00
PapaTutuWawa 2e10842c54 feat: Make accepted ratchets unacknowledged by default 2022-08-19 16:59:24 +02:00
PapaTutuWawa 0e2af1f2a3 feat: Add a function to check if a ratchet is acknowledged 2022-08-19 16:58:23 +02:00
PapaTutuWawa 80e1b20f27 fix: Fix crash when calling getUnacknowledgedRatchets for a new Jid 2022-08-18 16:21:53 +02:00
PapaTutuWawa d5d4aa9014 feat: Add getDeviceId and getDeviceBundle 2022-08-18 15:30:31 +02:00
PapaTutuWawa ee7b09bdb0 feat: Ratchets should overwrite each other 2022-08-18 15:20:32 +02:00
PapaTutuWawa 73613e266f feat: Allow regerating a device's id 2022-08-18 15:08:05 +02:00
PapaTutuWawa 0a03483aaf feat: Allow regenerating one's device identity 2022-08-18 15:02:17 +02:00
PapaTutuWawa fda06cef55 feat: Implement acknowledging ratchet sessions 2022-08-16 14:02:04 +02:00
PapaTutuWawa 5a097e4d2a feat: Allow removing a ratchet session 2022-08-16 13:27:21 +02:00
PapaTutuWawa 710b3c9497 feat: Allow serialising and deserialising without the ratchets 2022-08-16 12:57:16 +02:00
PapaTutuWawa f540a80ec2 docs: Remove trust manager serialization from OmemoSessionManager 2022-08-16 12:54:15 +02:00
PapaTutuWawa a4589b6e09 feat: Allow access to the device map 2022-08-11 12:02:21 +02:00
PapaTutuWawa d0986a4608 fix: Fix ratchet only working for one message 2022-08-11 11:57:33 +02:00
PapaTutuWawa 234c2088b9 docs: Add notes on protobuf 2022-08-09 16:00:12 +02:00
PapaTutuWawa 6e7b8e3905 docs: Add an example 2022-08-09 15:48:26 +02:00
PapaTutuWawa cb43bbb112 fix: Allow empty OMEMO messages to bypass trust 2022-08-09 14:45:04 +02:00
PapaTutuWawa fa16f97113 refactor: Move events to lib/src/omemo 2022-08-08 19:11:27 +02:00
PapaTutuWawa 5158c32c3d feat: Make BlindTrustBeforeVerificationTrustManager abstract 2022-08-08 18:58:53 +02:00
PapaTutuWawa c1fb79a20f feat: Implement a BTBV TrustManager 2022-08-08 18:47:43 +02:00
PapaTutuWawa dafd0af1e5 feat: Add a base trust manager class 2022-08-08 18:03:05 +02:00
PapaTutuWawa e9f190036c refactor: Move data classes into their own files 2022-08-08 17:43:15 +02:00
PapaTutuWawa 5b739aaf1a fix: Do not keep the old SPK signature 2022-08-08 15:50:00 +02:00
PapaTutuWawa 1bcbf27c83 feat: Make any SPK survive exactly one rotation 2022-08-08 15:48:12 +02:00
PapaTutuWawa b8b6bbf800 feat: Track the old Signed Prekey after rotation 2022-08-08 15:32:08 +02:00
PapaTutuWawa 9c23721904 docs: Add documentation string to Device.toBundle() 2022-08-08 15:11:15 +02:00
PapaTutuWawa 9626763b44 feat: Make the replacement functions internal 2022-08-08 15:10:36 +02:00
PapaTutuWawa 43080d2ba0 feat: Expose rotating our own bundle's SPK 2022-08-08 15:09:44 +02:00
PapaTutuWawa 9f986c3369 feat: Handle empty OMEMO messages 2022-08-08 14:59:46 +02:00
PapaTutuWawa 8c1a78e360 feat: Allow encrypting to multiple Jids 2022-08-08 14:44:05 +02:00
PapaTutuWawa 5a187bae97 docs: Add documentation string for EncryptedKey 2022-08-08 14:28:52 +02:00
PapaTutuWawa 9a9c9f064b feat: Make RatchetMapKey internal 2022-08-08 14:28:02 +02:00
PapaTutuWawa dd96e840d4 feat: Allow calculating fingerprints 2022-08-08 14:26:25 +02:00
PapaTutuWawa be239fdb43 feat: Add events for commiting the device map and ratchet 2022-08-06 13:51:07 +02:00
PapaTutuWawa 859f25d867 feat: Allow serialising and deserialising OmemoSessionManager 2022-08-06 12:24:26 +02:00
PapaTutuWawa 189d823c87 fix: Track ratchet sessions using the (jid, device) tuple 2022-08-06 11:25:41 +02:00
PapaTutuWawa fdc3985a8d feat: Serialise the Double Ratchet 2022-08-05 18:14:10 +02:00
PapaTutuWawa cd77996db4 feat: Allow serialising Device to Json 2022-08-05 17:32:59 +02:00