Commit Graph

435 Commits (21bf631f471a563eeb5280e10e2f84c8d9dd8692)

Author SHA1 Message Date
Damir Jelić 8210c2377d crypto: Take the session key out of the RoomKey event. 2020-04-10 17:02:30 +02:00
Damir Jelić 01656690bc crypto: Save the account after an inbound session was created. 2020-04-10 16:18:55 +02:00
Damir Jelić 7577ddfc00 crypto: Remove one-time keys after a inbound session was created successfully. 2020-04-10 16:18:29 +02:00
Damir Jelić c282d9fabc machine: Uncomment account saving after keys were published. 2020-04-10 16:17:31 +02:00
Damir Jelić a4d41378d4 crypto: Move the inbound group session lock into the session struct. 2020-04-10 16:08:47 +02:00
Damir Jelić b8d6a4c49a crypto: Move the account mutex into the account struct. 2020-04-10 15:28:43 +02:00
Damir Jelić 7c20c79f32 crypto: Add test for the session creation. 2020-04-10 14:44:50 +02:00
Damir Jelić af7309033c crypto: Rename the session creation method. 2020-04-10 14:44:25 +02:00
Damir Jelić d04c7e0190 crypto: Add a GroupSessionKey type. 2020-04-10 14:00:03 +02:00
Damir Jelić 9d52037b40 crypto: Add docs to our olm-rs wrappers. 2020-04-10 13:47:38 +02:00
Damir Jelić c215dfa55d crypto: Don't manually implement Send, those are now in olm-rs. 2020-04-10 11:59:51 +02:00
Damir Jelić bdd1fb2c19 async_client: Expand the docs for the message sending method. 2020-04-10 11:53:07 +02:00
Damir Jelić 7540e025f1 async_client: Share group sessions before encrypting room messages. 2020-04-10 11:50:18 +02:00
Damir Jelić a389905734 base_client: Expose the method to check if a group session needs to be shared. 2020-04-10 11:47:01 +02:00
Damir Jelić b43407b165 crypto: Add a method to check if a group session needs to be shared. 2020-04-10 11:46:31 +02:00
Damir Jelić 0a2b66de9a crytpo: Change the share_group_session method to always create a new session. 2020-04-10 11:45:50 +02:00
Damir Jelić 1504b3a02a crypto: Change the encrypt method to not require to take mut self. 2020-04-10 11:44:09 +02:00
Damir Jelić 1e3f93ca22 crypto: Remove an unused enumerate. 2020-04-10 11:43:03 +02:00
Damir Jelić 86617b42e2 async_client: Remove the transaction id. 2020-04-10 11:41:16 +02:00
Damir Jelić c5f7af9118 crypto: Recreate group sessions if they are expired. 2020-04-10 09:58:13 +02:00
Damir Jelić 0215e89ff8 crypto: Use an UUID for the to-device requests for session sharing. 2020-04-10 09:57:10 +02:00
Damir Jelić 58585b9828 Cargo.toml: Depend on the git hosted ruma crates. 2020-04-09 17:04:34 +02:00
Damir Jelić 609df21271 async_client: Add a method to share room keys. 2020-04-09 16:29:03 +02:00
Damir Jelić 61f3da3161 async_client: Add the content-type header to our requests. 2020-04-09 16:28:27 +02:00
Damir Jelić ee290add45 async_client: Build the URL path a bit more cleanly. 2020-04-09 16:27:43 +02:00
Damir Jelić 8583232873 base_client: Expose the methods necessary for message encryption. 2020-04-09 16:27:09 +02:00
Damir Jelić 01664bc613 async_client: Allow the content and event type to be overridden when sending messages. 2020-04-09 16:26:00 +02:00
Damir Jelić dc2983d9a2 crypto: Add initial support to encrypt messages. 2020-04-09 16:24:40 +02:00
Damir Jelić a5f43db859 crypto: Add some more methods to the group session wrapper. 2020-04-09 16:23:24 +02:00
Damir Jelić b4de95185d device: Change to the higher level ruma types for device ids. 2020-04-09 16:22:25 +02:00
Damir Jelić 2c7115da84 async_client: Use a UUID for the transaction id. 2020-04-09 16:19:32 +02:00
Damir Jelić f19e251de1 crypto: Add some initial code for megolm session sharing. 2020-04-08 15:06:57 +02:00
Damir Jelić 816295cd48 crytpo: Add a wrapper for outbound megolm sessions. 2020-04-08 15:05:57 +02:00
Devin R 834d8d7d37 remove serde from dev-deps, add crypto info to design 2020-04-08 07:13:43 -04:00
Devin R 7e6c90ecb9 design doc to help me define the layers? 2020-04-07 17:34:21 -04:00
Devin R 2137d198fc remove internal assertions in favor of returning clients and rooms 2020-04-07 16:11:35 -04:00
Devin R 4dbc0aaad6 clean up, cargo fmt/clippy, add example/TestRunner tests 2020-04-07 08:55:42 -04:00
Devin R f635fbe0cf note about async client test runner 2020-04-06 21:01:48 -04:00
Devin R 9ffe7cca10 more work needed for AsyncClient test runner 2020-04-06 20:59:44 -04:00
Devin R 78f92130fa add individual events for tests, working TestRunner 2020-04-06 15:29:38 -04:00
Devin R 854948fc6d generic add event 2020-04-06 09:11:38 -04:00
Devin R 00ac6d08f9 bring over test builder 2020-04-06 07:13:45 -04:00
Devin R c2b3210cc9 cargo fmt/clippy, move power levels into Room 2020-04-05 12:41:00 -04:00
Devin R e987a9006b remove User and merge fields into RoomMember 2020-04-05 08:34:02 -04:00
Devin R 25a3533792 don't unwrap UserId from state key 2020-04-05 08:23:59 -04:00
Devin R eff322c0c5 crypto compiles, tests pass 2020-04-03 11:00:37 -04:00
Devin R db62c1fa25 cargo fmt/clippy no more warnings 2020-04-03 09:14:46 -04:00
Devin R 4ac9153be1 use RoomId and UserId over string, use setter method names in Room 2020-04-03 09:07:40 -04:00
Damir Jelić 514afbbc1b README: Fix the license name. 2020-04-03 14:51:51 +02:00
Damir Jelić 8063124087 README: Add badges for the code coverage and license. 2020-04-03 14:20:12 +02:00