a08c654295
feat: Do not fetch bundles for our own device
2023-01-02 13:56:22 +01:00
092ce36410
feat: Add last features for use in moxxmpp
2023-01-01 16:49:19 +01:00
4085631804
fix: Make logging less verbose
2022-12-27 12:49:11 +01:00
6a9e98665d
fix: Track new KEX entries using a ratchet key
2022-12-27 12:47:45 +01:00
5f844dafda
feat: Add getDeviceId
2022-12-27 12:43:50 +01:00
5e6b54aab5
feat: Better guard against failed lookups
2022-12-27 12:43:50 +01:00
6c4dd62c5a
feat: _decryptMessage explicitly tells us that a ratchet was created
2022-12-27 12:43:50 +01:00
54eeb816eb
feat: Export OmemoManager
2022-12-27 12:43:50 +01:00
e35f65aff9
style: Fix style issues
2022-12-27 12:43:50 +01:00
4dc3cfb2b1
feat: Deprecate OmemoSessionManager
2022-12-27 12:43:50 +01:00
caf841c53e
feat: Add more documentation
2022-12-27 12:43:50 +01:00
5bc1136ec0
feat: Implement getting fingerprints
2022-12-27 12:43:50 +01:00
b48665c357
feat: Begin work on the OmemoManager interface
2022-12-27 12:43:50 +01:00
06707d1a34
feat: Compute the fingerprint of a bundle
2022-12-27 12:43:18 +01:00
fe1ba99b14
feat: Indicate whether a ratchet has been created or not
ci/woodpecker/push/woodpecker Pipeline was successful
2022-12-09 20:41:53 +01:00
797bf69856
fix: Crash when calling getDevicesTrust for unknown Jid
ci/woodpecker/push/woodpecker Pipeline was successful
2022-12-09 18:42:23 +01:00
c68471349a
fix: Reuse old key exchange when the ratchet is unacked
ci/woodpecker/push/woodpecker Pipeline was successful
2022-10-22 12:41:41 +02:00
1472624b1d
fix: Use stanza receival timestamps to guard against stale kex messages
ci/woodpecker/push/woodpecker Pipeline was successful
2022-10-02 19:23:58 +02:00
0826d043d5
feat: Attempt to detect already decrypted messages
2022-10-02 17:03:39 +02:00
2aa3674c4b
fix: Fix receiving an old key exchange breaking decryption
...
This was mostly caused by Dart not copying values but referencing
them. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.
We know make some assumptions about received key exchanges, so this
needs some field testing.
2022-10-02 14:56:20 +02:00
96771cf317
feat: Allow getting the device's fingerprint
2022-09-25 12:50:59 +02:00
bea433e377
fix: React to all decryption errors with ratchet restoration
2022-09-25 11:35:12 +02:00
a23dd30eee
chore: Commit the protobuf artifacts
2022-09-18 15:56:09 +02:00
b4c14a9769
fix: Guard against a crash in the critical section
2022-09-15 23:33:07 +02:00
b69acdd936
fix: Fix replaceOnetimePrekey mutating the device's id
2022-09-15 23:31:56 +02:00
0480e9156f
fix: Fix occurence of not using synchronized's return
2022-09-15 13:46:52 +02:00
96d9c55c87
fix: Make fromJson* functions work when reading JSON from a String
2022-09-15 13:41:33 +02:00
49c847a96b
feat: Remove toJson and fromJson from OmemoSessionManager
2022-09-15 13:22:50 +02:00
cf5331a026
feat: Introduce logging for logging purposes
2022-09-15 13:17:30 +02:00
c1d8073af0
refactor: Remove BTBV's loadState method
2022-09-15 13:06:14 +02:00
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
79704da99c
fix: Fix issues with the maps being unmodifiable
2022-09-14 22:02:50 +02:00
4341797f14
fix: Commit the restored ratchet
2022-09-14 22:02:35 +02:00
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