PapaTutuWawa
49c7e114e6
feat: Track new/replaced ratchets in the results
2023-06-20 16:27:24 +02:00
PapaTutuWawa
3c20d8ac56
release: Release 0.5.0
2023-06-18 21:27:40 +02:00
PapaTutuWawa
96ca643d26
Merge pull request #32 from PapaTutuWawa/rework
...
Rework omemo_dart to finally enable (hopefully) stable E2EE in Moxxy.
2023-06-18 21:25:36 +02:00
PapaTutuWawa
f54a90d5bb
docs: Add a reference to moxxmpp's OMEMO example
2023-06-18 21:24:50 +02:00
PapaTutuWawa
9214e964df
test: Test receiving an empty OMEMO message
2023-06-18 20:51:49 +02:00
PapaTutuWawa
8b91c07fb8
feat: Changes based on integration issues
2023-06-18 20:44:05 +02:00
PapaTutuWawa
499817313d
docs: Add missing note about OmemoDevice
2023-06-18 12:44:09 +02:00
PapaTutuWawa
b4241db9b6
fix: Remove unused imports
2023-06-17 23:31:16 +02:00
PapaTutuWawa
7f60140583
fix: Expose EncryptToJidError
2023-06-17 23:30:52 +02:00
PapaTutuWawa
ddb4483d4a
feat: Remove unused helper functions
2023-06-17 23:27:10 +02:00
PapaTutuWawa
c086579b57
feat: Minor changes
2023-06-17 23:23:41 +02:00
PapaTutuWawa
b986096aa0
feat: Take care of publishing
2023-06-17 23:14:00 +02:00
PapaTutuWawa
bb5ef414f2
feat: Removing ratchets also removed trust
2023-06-17 21:24:51 +02:00
PapaTutuWawa
207215cc5f
feat: Move the result type into moxlib
2023-06-17 21:22:16 +02:00
PapaTutuWawa
3829c6c11b
feat: Move all constants into their own file
2023-06-17 21:05:26 +02:00
PapaTutuWawa
4baf8187e1
feat: Remove the KEX timestamp from the double ratchet data
2023-06-17 21:02:03 +02:00
PapaTutuWawa
fe2b090ea0
feat: Replace isSuccessful with canSend
2023-06-17 20:58:33 +02:00
PapaTutuWawa
65c0975a77
feat: Each OPK now gets it's own unique id
2023-06-17 20:50:01 +02:00
PapaTutuWawa
234fee167f
fix: Fix some issues found by integrating
2023-06-17 20:32:06 +02:00
PapaTutuWawa
ed0701bdcd
feat: Remove locking from the BTBV trust manager
2023-06-17 17:47:07 +02:00
PapaTutuWawa
dad85b8467
feat: Implement deferred loading of ratchet data
2023-06-17 16:15:09 +02:00
PapaTutuWawa
4fb25a3ab7
feat: Stop overriding the BTBV manager
2023-06-17 15:21:11 +02:00
PapaTutuWawa
28e7ad59b0
feat: Remove events from the OmemoManager
2023-06-16 20:44:37 +02:00
PapaTutuWawa
e6c792a8ac
feat: DeviceListModifiedEvent now contains a delta
2023-06-16 20:13:30 +02:00
PapaTutuWawa
0b2d6f0a97
docs: Update example
2023-06-16 00:18:14 +02:00
PapaTutuWawa
4ed2d3dec3
docs: Improve docstrings
2023-06-15 22:46:37 +02:00
PapaTutuWawa
3d953f0acb
test: Test receiving a non-KEX message from an unknown device
2023-06-15 21:47:04 +02:00
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
6c301ab88f
feat: Guard against malformed ciphertext
2023-06-15 16:42:17 +02:00
PapaTutuWawa
f1ec8d1793
feat: Implement getting fingerprints
2023-06-15 16:18:45 +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
0ffc0b067a
docs: Migrate the example to the "new" OmemoManager
...
Fixes #30 .
2023-06-12 19:37:51 +02:00
PapaTutuWawa
3376929c24
style: Formattiing issues
2023-06-12 19:37:45 +02:00
PapaTutuWawa
3783ec6f13
feat: Remove OmemoSessionManager
2023-06-12 19:21:07 +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
04bb70d657
release: Tag 0.4.3
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2023-01-22 19:13:56 +01: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
e29ee07015
release: Tag 0.4.2
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2023-01-07 22:16:15 +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
de85ab7955
chore: Bump version
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2023-01-02 13:57:15 +01:00
PapaTutuWawa
a08c654295
feat: Do not fetch bundles for our own device
2023-01-02 13:56:22 +01:00
PapaTutuWawa
3825232ebe
Merge pull request #24 from PapaTutuWawa/feat/omemomanager
...
ci/woodpecker/push/woodpecker Pipeline is pending
OmemoManager.
2023-01-01 16:59:00 +01:00
PapaTutuWawa
32c0c5a4f0
feat: Update CHANGELOG and README
2023-01-01 16:55:15 +01:00
PapaTutuWawa
092ce36410
feat: Add last features for use in moxxmpp
2023-01-01 16:49:19 +01:00
PapaTutuWawa
4085631804
fix: Make logging less verbose
2022-12-27 12:49:11 +01:00
PapaTutuWawa
6a9e98665d
fix: Track new KEX entries using a ratchet key
2022-12-27 12:47:45 +01:00
PapaTutuWawa
5f844dafda
feat: Add getDeviceId
2022-12-27 12:43:50 +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
4dc3cfb2b1
feat: Deprecate OmemoSessionManager
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
caf841c53e
feat: Add more documentation
2022-12-27 12:43:50 +01:00
PapaTutuWawa
5bc1136ec0
feat: Implement getting fingerprints
2022-12-27 12:43:50 +01:00
PapaTutuWawa
d37a4bd719
chore: Bump version
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
06707d1a34
feat: Compute the fingerprint of a bundle
2022-12-27 12:43:18 +01:00
PapaTutuWawa
4346b31637
feat: Add funding
ci/woodpecker/push/woodpecker Pipeline was successful
2022-12-27 01:47:08 +01:00
PapaTutuWawa
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
PapaTutuWawa
797bf69856
fix: Crash when calling getDevicesTrust for unknown Jid
ci/woodpecker/push/woodpecker Pipeline was successful
2022-12-09 18:42:23 +01:00
PapaTutuWawa
afad5056c0
release: Bump version to 0.3.2
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-11-05 13:50:45 +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
7c3a9a75df
chore: Let pub ignore the protobuf build artifacts
ci/woodpecker/push/woodpecker Pipeline was successful
2022-09-29 15:24:33 +02:00
PapaTutuWawa
bc6f98bcd8
release: Version 0.3.1
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-09-29 15:24:33 +02:00
PapaTutuWawa
a107dfad87
ci: Fix issue with duplicate naming
ci/woodpecker/push/woodpecker Pipeline was successful
2022-09-28 13:18:39 +02:00
PapaTutuWawa
96771cf317
feat: Allow getting the device's fingerprint
2022-09-25 12:50:59 +02:00
PapaTutuWawa
bea433e377
fix: React to all decryption errors with ratchet restoration
2022-09-25 11:35:12 +02:00
PapaTutuWawa
47948fa6ea
build: Add Woodpecker CI
2022-09-22 21:33:22 +02:00
PapaTutuWawa
a23dd30eee
chore: Commit the protobuf artifacts
2022-09-18 15:56:09 +02:00
PapaTutuWawa
b4c14a9769
fix: Guard against a crash in the critical section
2022-09-15 23:33:07 +02:00
PapaTutuWawa
b69acdd936
fix: Fix replaceOnetimePrekey mutating the device's id
2022-09-15 23:31:56 +02:00
PapaTutuWawa
3d8c82fe5b
docs: Update README
2022-09-15 13:52:29 +02:00
PapaTutuWawa
1e7f66ccc3
release: Bump to 0.3.0
2022-09-15 13:51:18 +02:00
PapaTutuWawa
0480e9156f
fix: Fix occurence of not using synchronized's return
2022-09-15 13:46:52 +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
c1d8073af0
refactor: Remove BTBV's loadState method
2022-09-15 13:06:14 +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
79704da99c
fix: Fix issues with the maps being unmodifiable
2022-09-14 22:02:50 +02:00
PapaTutuWawa
4341797f14
fix: Commit the restored ratchet
2022-09-14 22:02:35 +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
8991599a0b
feat: Allow removing all ratchets for a given Jid
2022-09-11 17:26:54 +02:00
PapaTutuWawa
dad938b0e1
feat: Allow initializing the BTBV trust manager in the constructor
2022-09-11 13:43:07 +02:00
PapaTutuWawa
ff52c82039
feat: Help with serializing and deserializing the BTVT manager
2022-09-11 13:33:45 +02:00