Commit Graph

92 Commits

Author SHA1 Message Date
ddb4483d4a feat: Remove unused helper functions 2023-06-17 23:27:10 +02:00
b986096aa0 feat: Take care of publishing 2023-06-17 23:14:00 +02:00
4baf8187e1 feat: Remove the KEX timestamp from the double ratchet data 2023-06-17 21:02:03 +02:00
fe2b090ea0 feat: Replace isSuccessful with canSend 2023-06-17 20:58:33 +02:00
ed0701bdcd feat: Remove locking from the BTBV trust manager 2023-06-17 17:47:07 +02:00
4fb25a3ab7 feat: Stop overriding the BTBV manager 2023-06-17 15:21:11 +02:00
e6c792a8ac feat: DeviceListModifiedEvent now contains a delta 2023-06-16 20:13:30 +02:00
3d953f0acb test: Test receiving a non-KEX message from an unknown device 2023-06-15 21:47:04 +02:00
b0bba4fe82 fix: Fix style issues 2023-06-15 21:20:24 +02:00
da11e60f79 feat: Re-introduce locking the ratchet map/device list
This makes the locking much more intelligent, allowing us
to encrypt to/decrypt from groups while still being able to
bypass the lock for unaffiliated JIDs.
2023-06-15 21:02:53 +02:00
6e734ec0c3 feat: Remove serialization code 2023-06-15 18:11:35 +02:00
af33ed51d1 feat: Guard against invalid X3DH signatures 2023-06-15 16:07:23 +02:00
c7ded4c824 fix: Pass all tests 2023-06-15 15:54:32 +02:00
87a985fee0 fix: Fix ratchets going out of sync 2023-06-15 01:26:49 +02:00
c483585d0b fix: Get basic tests working 2023-06-14 21:59:59 +02:00
f6f0e145cc feat: Rework the double ratchet 2023-06-14 19:55:47 +02:00
d2558ea9fa test: Test something with protobuf 2023-06-14 14:03:11 +02:00
50f6513c6f feat: Remove custom protobuf parsing 2023-06-12 23:39:08 +02:00
3376929c24 style: Formattiing issues 2023-06-12 19:37:45 +02:00
65f1daff55 style: Format using dart format 2023-06-12 19:20:43 +02:00
f2ec7bd759 fix: Initial receiving ratchet has no trust data 2023-06-12 19:13:38 +02:00
3fb5fd7eb8 style: Cleanup 2023-01-22 19:08:06 +01:00
a97f8bc372 fix: Fix ratchet null issue
Fixes #26.
2023-01-22 19:07:29 +01:00
cc31475671 fix: Ratchets are not removed when using removeAllRatchets
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2023-01-07 22:14:10 +01:00
092ce36410 feat: Add last features for use in moxxmpp 2023-01-01 16:49:19 +01:00
480de1ce8f test: Port the sending/receiving for the OmemoManager 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
bca4840ca6 test: Add a test to ensure the library cannot get stuck 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
c68471349a fix: Reuse old key exchange when the ratchet is unacked
All checks were successful
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
All checks were successful
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
b69acdd936 fix: Fix replaceOnetimePrekey mutating the device's id 2022-09-15 23:31:56 +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
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
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
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
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
fda06cef55 feat: Implement acknowledging ratchet sessions 2022-08-16 14:02:04 +02:00
800b53b11f style: Fix linter warnings 2022-08-16 13:46:08 +02:00