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
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
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
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
5a097e4d2a
feat: Allow removing a ratchet session
2022-08-16 13:27:21 +02:00