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
8991599a0b
feat: Allow removing all ratchets for a given Jid
2022-09-11 17:26:54 +02:00
dad938b0e1
feat: Allow initializing the BTBV trust manager in the constructor
2022-09-11 13:43:07 +02:00
ff52c82039
feat: Help with serializing and deserializing the BTVT manager
2022-09-11 13:33:45 +02:00
12e09947f6
feat: Implement enabling and disabling devices
2022-09-11 12:34:31 +02:00
0e370a8e19
refactor: Use synchronized's return
2022-09-09 17:39:28 +02:00
2e10842c54
feat: Make accepted ratchets unacknowledged by default
2022-08-19 16:59:24 +02:00
0e2af1f2a3
feat: Add a function to check if a ratchet is acknowledged
2022-08-19 16:58:23 +02:00
80e1b20f27
fix: Fix crash when calling getUnacknowledgedRatchets for a new Jid
2022-08-18 16:21:53 +02:00
d5d4aa9014
feat: Add getDeviceId and getDeviceBundle
2022-08-18 15:30:31 +02:00
ee7b09bdb0
feat: Ratchets should overwrite each other
2022-08-18 15:20:32 +02:00
73613e266f
feat: Allow regerating a device's id
2022-08-18 15:08:05 +02:00
0a03483aaf
feat: Allow regenerating one's device identity
2022-08-18 15:02:17 +02:00
fda06cef55
feat: Implement acknowledging ratchet sessions
2022-08-16 14:02:04 +02:00
5a097e4d2a
feat: Allow removing a ratchet session
2022-08-16 13:27:21 +02:00
710b3c9497
feat: Allow serialising and deserialising without the ratchets
2022-08-16 12:57:16 +02:00
f540a80ec2
docs: Remove trust manager serialization from OmemoSessionManager
2022-08-16 12:54:15 +02:00
a4589b6e09
feat: Allow access to the device map
2022-08-11 12:02:21 +02:00
d0986a4608
fix: Fix ratchet only working for one message
2022-08-11 11:57:33 +02:00
234c2088b9
docs: Add notes on protobuf
2022-08-09 16:00:12 +02:00
6e7b8e3905
docs: Add an example
2022-08-09 15:48:26 +02:00
cb43bbb112
fix: Allow empty OMEMO messages to bypass trust
2022-08-09 14:45:04 +02:00
fa16f97113
refactor: Move events to lib/src/omemo
2022-08-08 19:11:27 +02:00
5158c32c3d
feat: Make BlindTrustBeforeVerificationTrustManager abstract
2022-08-08 18:58:53 +02:00
c1fb79a20f
feat: Implement a BTBV TrustManager
2022-08-08 18:47:43 +02:00
dafd0af1e5
feat: Add a base trust manager class
2022-08-08 18:03:05 +02:00
e9f190036c
refactor: Move data classes into their own files
2022-08-08 17:43:15 +02:00
5b739aaf1a
fix: Do not keep the old SPK signature
2022-08-08 15:50:00 +02:00
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
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
189d823c87
fix: Track ratchet sessions using the (jid, device) tuple
2022-08-06 11:25:41 +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
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