Commit Graph
100 Commits
Author SHA1 Message Date
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
PapaTutuWawa 12e09947f6 feat: Implement enabling and disabling devices 2022-09-11 12:34:31 +02:00
PapaTutuWawa d530358359 chore: Lower meta's minimum version 2022-09-09 17:40:16 +02:00
PapaTutuWawa 0e370a8e19 refactor: Use synchronized's return 2022-09-09 17:39:28 +02:00
PapaTutuWawa b6aa28e1ee release: Bump version 2022-08-19 17:00:44 +02:00
PapaTutuWawa 2e10842c54 feat: Make accepted ratchets unacknowledged by default 2022-08-19 16:59:24 +02:00
PapaTutuWawa 0e2af1f2a3 feat: Add a function to check if a ratchet is acknowledged 2022-08-19 16:58:23 +02:00
PapaTutuWawa 80e1b20f27 fix: Fix crash when calling getUnacknowledgedRatchets for a new Jid 2022-08-18 16:21:53 +02:00
PapaTutuWawa f68e45af26 docs: Update README 2022-08-18 15:35:07 +02:00
PapaTutuWawa 345596923e release: Bump version to 0.2.0 2022-08-18 15:33:49 +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 73613e266f feat: Allow regerating a device's id 2022-08-18 15:08:05 +02:00
PapaTutuWawa 0a03483aaf feat: Allow regenerating one's device identity 2022-08-18 15:02:17 +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