Commit graph

307 commits

Author SHA1 Message Date
Damir Jelić
6d12ed2046 async_client: Don't request a write lock for crypto based requests.
The crypto state machine is in the base client behind a separate lock so
there's no need to require write access.

This removes a deadlock if we're trying to send an encrypted message
from a event emitter callback, since emitting an event fetches a read
lock as well.
2020-04-23 14:56:59 +02:00
Damir Jelić
986985464a rust-sdk: Remove some unused imports. 2020-04-23 12:43:59 +02:00
Damir Jelić
a16d3b3d29 crypto: Don't instrument the debug implementation. 2020-04-23 11:58:21 +02:00
Damir Jelić
cb235c47a1 machine: Remove a deadlock when decrypting Olm messages using an existing session. 2020-04-23 11:37:47 +02:00
Damir Jelić
1de791c207 rust-sdk: Update to the latest ruma releases. 2020-04-23 10:52:47 +02:00
Damir Jelić
4369d0b854 crypto: Return a EncryptedEventContent when encrypting using Olm instead of a specific one. 2020-04-22 15:38:42 +02:00
Damir Jelić
b56b720c0c crypto: Return a EncryptedEventContent when encrypting instead of a specific one. 2020-04-22 15:22:43 +02:00
Damir Jelić
27ae8bccb9 crypto: Check the recipient and recipient keys for decrypted events. 2020-04-22 15:15:08 +02:00
Damir Jelić
0eab02a941 crypto: Remove a stale comment. 2020-04-22 13:43:45 +02:00
Damir Jelić
4576e93663 crypto: Add some more debug logs. 2020-04-22 12:54:49 +02:00
Damir Jelić
cb6e43b340 crypto: Allow devices to be deleted from the crypto store. 2020-04-22 12:12:47 +02:00
Damir Jelić
877b880ded crypto: Expose the devices publicly. 2020-04-21 11:03:28 +02:00
Damir Jelić
2f7ec887ba crypto: Clean up the imports. 2020-04-21 10:41:08 +02:00
Damir Jelić
6b33bedcbe Cargo.toml: Use the released version of olm-rs. 2020-04-21 09:54:41 +02:00
Damir Jelić
7b84f16bd3 crypto: Test key querying. 2020-04-21 09:45:46 +02:00
Damir Jelić
c057d6c6ad crypto: Add a method to remove devices from our DeviceStore. 2020-04-21 09:45:20 +02:00
Damir Jelić
00f4dadbbb crypto: Clean up the key querying logic. 2020-04-21 09:44:44 +02:00
Damir Jelić
7c54ad5c5f crypto: Allow a device to be marked as deleted. 2020-04-21 09:40:50 +02:00
Damir Jelić
63c0aa8771 crypto: Allow a device to be updated. 2020-04-21 09:31:33 +02:00
Damir Jelić
b572381a8e crypto: Save the device to the sqlite db. 2020-04-21 09:28:26 +02:00
Damir Jelić
001a0de00f crypto: Test getting all user devices in the sqlite store as well. 2020-04-17 15:30:53 +02:00
Damir Jelić
a632f2e5a2 crypto: Implement the device store for the sql store. 2020-04-17 14:14:31 +02:00
Damir Jelić
6952acddc2 base_client: Remove a unused import. 2020-04-17 10:57:09 +02:00
Devin R
31fb702140 room: confirm spec accuracy 2020-04-16 22:07:12 -04:00
Devin R
ebe4f03c36 room: implement room_name according to spec, add RoomSummary to RoomName 2020-04-16 21:00:50 -04:00
Devin R
bd3b0e7b74 async_client: add login failure test, make sure we are getting correct error 2020-04-16 17:03:40 -04:00
Devin R
07b7cbfe4e async_client: name associated error type in AsyncClient::send 2020-04-16 16:39:44 -04:00
Devin R
c0e1ff1734 async_client/error: dont swallow response error in AsyncClient::send 2020-04-16 15:29:35 -04:00
Damir Jelić
d91de818ac crypto: Don't try to create the sqlite index every time we open the db. 2020-04-16 13:57:33 +02:00
Damir Jelić
9444f1506d crypto: Test the loading of specific group sessions in the sqlite store. 2020-04-16 13:32:04 +02:00
Damir Jelić
5b212a2fcd crypto: Keep the tempdir alive in the sqlite store tests. 2020-04-16 13:21:57 +02:00
Damir Jelić
8e3c5889bb crypto: Make sure to load the all the sender sessions when saving a session. 2020-04-16 13:14:14 +02:00
Damir Jelić
91a2d85cf8 crypto: Improve the debug implementation for the sqlite store. 2020-04-16 12:38:58 +02:00
Damir Jelić
64238b70a0 crytpo: Add test for the memory crypto store. 2020-04-16 11:55:16 +02:00
Damir Jelić
78fdd3d592 crypto: Document the methods in our cryptostore trait. 2020-04-16 11:06:51 +02:00
Damir Jelić
471d27892c crypto: Make the return values of add methods in the store consistent with a hashset. 2020-04-16 11:05:35 +02:00
Damir Jelić
3a5cc833d1 crypto: Simplify the session saving methods in the cyrptostore. 2020-04-16 10:14:23 +02:00
Damir Jelić
514ced1243 crypto: Don't add the same session twice to the memory session store. 2020-04-16 10:10:18 +02:00
Damir Jelić
bedb788432 crypto: Test the keys info for a device. 2020-04-15 18:55:15 +02:00
Damir Jelić
14f25bf66a crypto: Skip the coverage for debug implementations. 2020-04-15 18:22:04 +02:00
Damir Jelić
aeb93e19e2 crypto: Test our in-memory device store. 2020-04-15 17:51:51 +02:00
Damir Jelić
616a67c1cb Merge branch 'bot-example' 2020-04-15 16:10:18 +02:00
Devin R
9b52b58fea command_bot: pass sync_token to sync_forever 2020-04-15 09:54:53 -04:00
Damir Jelić
af73ebdf09 crypto: Add some tests to our in-memory stores. 2020-04-15 15:32:58 +02:00
Devin R
63368a9437 command_bot: remove timestamp 2020-04-15 08:44:29 -04:00
Devin R
c495a50c52 async_client: make pub API take &self instead of &mut, use read where possible 2020-04-15 08:29:34 -04:00
Damir Jelić
202ab9b050 travis: Disable the chache for now as it seems to time out. 2020-04-15 14:20:34 +02:00
Devin R
3f9243a326 command-bot: add comments, use timestamp to filter old messages 2020-04-15 07:52:29 -04:00
Damir Jelić
53a2b8eb7c crypto: Implement a better debug trait for sessions. 2020-04-15 13:46:43 +02:00
Devin R
49e962e9c4 event_emitter: use Arc<RwLock<Room for EventEmitter and joined_rooms HashMap 2020-04-15 06:58:25 -04:00