Damir Jelić
e53906a920
chore: Bump vergen
...
Vergen has split into multiple, more dedicated crates. This bump is
therefore a migration to vergen-gitcl.
2025-09-01 16:33:10 +02:00
Damir Jelić
1e30916754
chore: Bump most of our deps
2025-09-01 16:33:10 +02:00
Skye Elliot
99af951d7a
feat(crypto): Add EncryptionSettings::encrypt_state_events
...
This will be used inside the WASM SDK to introduce a similar field to
its EncryptionSettings struct.
Signed-off-by: Skye Elliot <actuallyori@gmail.com >
2025-08-28 14:00:23 +02:00
Skye Elliot
ca8b64e041
feat: Change type of DecryptedRoomEvent::event to Raw<AnyTimelineEvent> ( #5512 )
...
- [x] Change `DecryptedRoomEvent::event` to `Raw<AnyTimelineEvent>`
- [x] Update usages to pattern match on `AnyTimelineEvent::MessageLike`
where necessary
---------
Signed-off-by: kaylendog <actuallyori@gmail.com >
2025-08-14 08:53:56 +02:00
Hubert Chathi
a4da6ba7c8
Exclude insecure devices on Olm encryption ( #5457 )
...
Fixes the encrypting part of
https://github.com/matrix-org/matrix-rust-sdk/issues/4147
Probably easiest to review commit-by-commit
<!-- description of the changes in this PR -->
- [x] Public API changes documented in changelogs (optional)
<!-- Sign-off, if not part of the commits -->
<!-- See CONTRIBUTING.md if you don't know what this is -->
Signed-off-by:
2025-08-04 08:50:32 +01:00
Andy Balaam
c238a0edb8
refactor(crypto): Pass DecryptionSettings in to OlmMachine::decrypt_to_device_event
...
This will be used in the next commit, but it was very noisy, so I
separated it out into this commit to make the next one easier to read.
2025-07-24 15:08:13 +01:00
Kévin Commaille
37626b5ad9
Bump Ruma
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-07-22 14:00:53 +02:00
Daniel Salinas
5b20136a50
Stop using tokio::runtime::Handle directly
...
Use our platform aware export from matrix-sdk-common instead
2025-06-16 09:09:28 +02:00
Damir Jelić
0e9ce0271e
refactor: Create a store/types submodule
2025-06-10 13:53:09 +02:00
Valere Fedronic
0f73ffde68
feat(crypto): Add the EncryptionInfo to the Decrypted ProcessedToDeviceEvent variant
...
The `ProcessedToDeviceEvent::Decrypted` variant now also have an
`EncryptionInfo` field.
The enum variant changed from `Decrypted(Raw<AnyToDeviceEvent>)` to `Decrypted {
raw: Raw<AnyToDeviceEvent>, encryption_info: EncryptionInfo) }`
2025-06-04 11:54:38 +02:00
Andy Balaam
ca63d60068
doc(crypto): Add missing word 'verify' in 'verify_device' docs
2025-06-03 17:04:48 +02:00
Jonas Platte
3aa356dcd6
chore: Use shorter syntax for workspace inheritance where possible
2025-05-23 10:23:36 +02:00
Jonas Platte
491f7cd529
chore: Clean up Cargo.toml formatting
2025-05-23 10:23:36 +02:00
Ivan Enderlin
18a3c37554
refactor(crypto): Reduce sizes of Verification and VerificationRequestState.
...
This patch reduces the sizes of `Verification` from 376 bytes to
16 bytes, and `VerificationRequestState` from 424 bytes to 96 bytes.
It also reduces the size of a couple of other types in the same vain.
2025-05-16 14:27:49 +02:00
Ivan Enderlin
192c50dcad
refactor(crypto): Reduce the size of OutgoingVerificationRequest.
...
This patch reduces the size of `OutgoingVerificationRequest` from
480 bytes to 64 bytes.
2025-05-16 14:27:49 +02:00
dependabot[bot]
3cd64ac03b
chore(deps): Bump tokio from 1.43.0 to 1.43.1
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.43.0 to 1.43.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.43.0...tokio-1.43.1 )
---
updated-dependencies:
- dependency-name: tokio
dependency-version: 1.43.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-13 14:58:30 +02:00
Richard van der Hoff
3b84b2c5e7
crypto-ffi: fix error message for MissingRoomKey ( #4997 )
...
This error does not necessarily mean that the session was *withheld*.
2025-05-02 15:52:15 +01:00
Valere Fedronic
ff32840387
refactor(crypto): Move session_id from EncryptionInfo to AlgorithmInfo as it is megolm specific
...
This patch moves the `session_id` field from EncryptionInfo to
AlgorithmInfo::MegolmV1AesSha2 as it is specific to Megolm. We provide
transparent migration of the serialized data from one format to the other.
In the future we plan to reuse `EncryptionInfo` for to_device decryption
(using olm not megolm). So megolm session_id should move to algorithm
specific data.
2025-04-29 08:07:03 +00:00
Valere
031f4ec329
review: Remove encryption_info. Will be part of another PR
2025-04-22 16:30:53 +02:00
Valere
4363105976
crypto: Add variants for plain text and encrypted to-device events
...
fixup: post rebase
2025-04-22 16:30:53 +02:00
Damir Jelić
bfa89bc73f
feat(crypto): Add support for the shared_history flag defined in MSC3061
...
This patch adds support for the `shared_history` flag from MSC3061 to
the `m.room_key` content, exported room keys, and backed-up room keys.
The flag is now persisted in our `InboundGroupSession`. Additionally,
when creating a new `InboundGroupSession`, we ensure the
`shared_history` flag is set appropriately.
MSC3061: https://github.com/matrix-org/matrix-spec-proposals/pull/3061
2025-02-25 16:52:23 +01:00
Ivan Enderlin
e3958b754c
chore(crypto-ffi): Done is a unit type, no need for { .. }.
2025-01-31 14:07:43 +01:00
Richard van der Hoff
7c57f2cee4
crypto: split out new device collection strategies
...
Rather than a bunch of flags on `DeviceBasedStrategy`, separate the strategies
properly.
2025-01-27 15:34:43 +00:00
Hubert Chathi
e826c54a42
Use the dehydrated device format implemented by vodozemac ( #4421 )
...
Signed-off-by: Hubert Chathi <hubertc@matrix.org >
2025-01-22 09:38:48 +01:00
Integral
f18e0b18a1
Replace PathBuf/Utf8PathBuf with Path/Utf8Path when ownership not needed
2024-12-19 13:29:09 +01:00
Valere
95582a6c3c
feat(crypto-bindings): Save/Load dehydrated pickle key
...
review: better tests
2024-12-17 09:51:28 +01:00
Valere
2b39476d9b
feat(crypto): Support storing the dehydrated device pickle key
2024-12-13 13:05:19 +01:00
Richard van der Hoff
780a4630e4
chore(ffi): avoid hardcoding clang version
...
Update the workaround for https://github.com/rust-lang/rust/issues/109717 to
avoid hardcoding the clang version; instead, run `clang -dumpversion` to figure
it out.
While we're there, use the `CC_x86_64-linux-android` env var, which should
point to clang, rather than relying on `ANDROID_NDK_HOME` to be set.
2024-12-12 12:54:00 +00:00
Kévin Commaille
a1a04ee513
chore: Remove MSRV from READMEs
...
It can be found in Cargo.toml.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2024-12-09 16:22:00 +02:00
Valere
6801811226
feat(crypto): Supports new UtdCause variants for withheld keys
...
Adds new UtdCause variants for withheld keys, enabling applications to display customised messages when an Unable-To-Decrypt message is expected.
refactor(crypto): Move WithheldCode from crypto to common crate
2024-12-04 15:33:23 +01:00
Damir Jelić
e99939db85
refactor(crypto): Rename the IncomingResponse enum to AnyIncomingResponse
2024-11-27 19:55:27 +01:00
Damir Jelić
600a708e7b
refactor!(crypto): Rename the OutgoingRequests enum to AnyOutgoingRequest
2024-11-27 19:55:27 +01:00
Damir Jelić
46064680ce
refactor!(crypto): Don't re-export the request types from the request module
2024-11-27 19:55:27 +01:00
Valere
49f7fe90a9
crypto-ffi: Expose has_verification_violation for UserIdentity
2024-10-31 11:04:42 +01:00
Kévin Commaille
5158b39277
refactor!: Upgrade Ruma to 0.11.0
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2024-10-30 09:42:19 +01:00
Stefan Ceriu
8492968792
Pass a copy of the other DeviceData in between the (Requested, Ready) and (Created, Ready) states
2024-10-28 17:04:50 +02:00
Damir Jelić
ca7f2ad3d0
Add a cargo-release config
2024-10-10 14:32:46 +02:00
Benjamin Bouvier
736aa0351c
ffi: add our own macro for processing exports
...
Including one that will always warn if used with async functions, and
the other one always setting the tokio runtime if used for async stuff.
2024-10-08 17:11:39 +02:00
Andy Balaam
5d46b35d95
crypto: Rename some straggling 'Identities' to 'Identity'
...
The main enum was renamed to `UserIdentity` and some aliases and
comments had not kept up.
2024-10-04 14:37:12 +01:00
Richard van der Hoff
1d1863d323
crypto: Give decrypt_room_event a new return type
...
I want to do a bit of a refactoring on `TimelineEvent`, so let's start by
giving `decrypt_room_event` its own return type.
2024-10-03 16:23:45 +01:00
Valere
60319914e1
code review | quick doc and test cleaning
2024-10-01 10:19:25 +02:00
Valere
806ee13aa0
ffi: Expose room_decryption_trust_requirement for ClientBuilder
2024-10-01 10:19:25 +02:00
Damir Jelić
e7bc510313
refactor: Rename the UserIdentities enum into UserIdentity
2024-09-30 18:04:04 +02:00
Jorge Martín
decdd6f47e
crypto-ffi: update the x86-64 Android workaround to match matrix-sdk-ffi
...
This workaround was applied to `matrix-sdk-ffi` and it should be used here too
2024-09-17 16:44:52 +02:00
Damir Jelić
9e7ab635c6
bindings: Expose the PkEncryption stuff in the crypto crate bindings ( #3971 )
2024-09-12 09:54:46 +00:00
Hubert Chathi
62d4abd454
crypto: add DecryptionSettings parameter to functions
2024-09-04 14:59:21 +01:00
Richard van der Hoff
cd0d79dd88
crypto: Key sharing option to error for verification violation
2024-08-19 13:13:58 +01:00
Richard van der Hoff
b497577717
crypto: use UserIdentities utility functions
...
... instead of lots of `match` and `own()` and `other()`.
2024-08-16 16:58:27 +01:00
Richard van der Hoff
f66c74e878
crypto: extend CollectionStrategy::DeviceBasedStrategy
...
Add (as yet unimplemented) `error_on_verified_user_problem` option
2024-08-14 14:57:42 +01:00
Richard van der Hoff
dadc85c4fc
crypto: remove CollectStrategy::new_device_based
...
The list of boolean arguments is confusing. We may as well just construct the
`DeviceBasedStrategy` directly.
2024-08-14 14:57:42 +01:00