PapaTutuWawa
b0bba4fe82
fix: Fix style issues
2023-06-15 21:20:24 +02:00
PapaTutuWawa
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
PapaTutuWawa
6e734ec0c3
feat: Remove serialization code
2023-06-15 18:11:35 +02:00
PapaTutuWawa
af33ed51d1
feat: Guard against invalid X3DH signatures
2023-06-15 16:07:23 +02:00
PapaTutuWawa
c7ded4c824
fix: Pass all tests
2023-06-15 15:54:32 +02:00
PapaTutuWawa
87a985fee0
fix: Fix ratchets going out of sync
2023-06-15 01:26:49 +02:00
PapaTutuWawa
c483585d0b
fix: Get basic tests working
2023-06-14 21:59:59 +02:00
PapaTutuWawa
f6f0e145cc
feat: Rework the double ratchet
2023-06-14 19:55:47 +02:00
PapaTutuWawa
d2558ea9fa
test: Test something with protobuf
2023-06-14 14:03:11 +02:00
PapaTutuWawa
50f6513c6f
feat: Remove custom protobuf parsing
2023-06-12 23:39:08 +02:00
PapaTutuWawa
3376929c24
style: Formattiing issues
2023-06-12 19:37:45 +02:00
PapaTutuWawa
65f1daff55
style: Format using dart format
2023-06-12 19:20:43 +02:00
PapaTutuWawa
f2ec7bd759
fix: Initial receiving ratchet has no trust data
2023-06-12 19:13:38 +02:00
PapaTutuWawa
3fb5fd7eb8
style: Cleanup
2023-01-22 19:08:06 +01:00
PapaTutuWawa
a97f8bc372
fix: Fix ratchet null issue
...
Fixes #26 .
2023-01-22 19:07:29 +01:00
PapaTutuWawa
cc31475671
fix: Ratchets are not removed when using removeAllRatchets
ci/woodpecker/push/woodpecker Pipeline was successful
2023-01-07 22:14:10 +01:00
PapaTutuWawa
092ce36410
feat: Add last features for use in moxxmpp
2023-01-01 16:49:19 +01:00
PapaTutuWawa
480de1ce8f
test: Port the sending/receiving for the OmemoManager
2022-12-27 12:43:50 +01:00
PapaTutuWawa
5e6b54aab5
feat: Better guard against failed lookups
2022-12-27 12:43:50 +01:00
PapaTutuWawa
6c4dd62c5a
feat: _decryptMessage explicitly tells us that a ratchet was created
2022-12-27 12:43:50 +01:00
PapaTutuWawa
54eeb816eb
feat: Export OmemoManager
2022-12-27 12:43:50 +01:00
PapaTutuWawa
e35f65aff9
style: Fix style issues
2022-12-27 12:43:50 +01:00
PapaTutuWawa
bca4840ca6
test: Add a test to ensure the library cannot get stuck
2022-12-27 12:43:50 +01:00
PapaTutuWawa
5bc1136ec0
feat: Implement getting fingerprints
2022-12-27 12:43:50 +01:00
PapaTutuWawa
b48665c357
feat: Begin work on the OmemoManager interface
2022-12-27 12:43:50 +01:00
PapaTutuWawa
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
PapaTutuWawa
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
PapaTutuWawa
0826d043d5
feat: Attempt to detect already decrypted messages
2022-10-02 17:03:39 +02:00
PapaTutuWawa
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
PapaTutuWawa
b69acdd936
fix: Fix replaceOnetimePrekey mutating the device's id
2022-09-15 23:31:56 +02:00
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
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
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
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
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
fda06cef55
feat: Implement acknowledging ratchet sessions
2022-08-16 14:02:04 +02:00
PapaTutuWawa
800b53b11f
style: Fix linter warnings
2022-08-16 13:46:08 +02:00
PapaTutuWawa
5a097e4d2a
feat: Allow removing a ratchet session
2022-08-16 13:27:21 +02:00
PapaTutuWawa
7600804aa1
test: Uncomment those tests
2022-08-11 12:02:33 +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
683a76cc80
test: Add test for sending multiple OMEMO messages
2022-08-10 17:24:35 +02:00
PapaTutuWawa
cb43bbb112
fix: Allow empty OMEMO messages to bypass trust
2022-08-09 14:45:04 +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