1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-11-29 16:43:09 +03:00
Commit Graph

19 Commits

Author SHA1 Message Date
Richard van der Hoff
d0e90cd8c9 crypto: use memberlist to derive recipient list
When we send an encrypted message with Olm, we need to know who to send it
to. Currently that is based on a user list passed to setRoomEncryption. We want
to be able to change the list as people join and leave the room; I also want to
not have to keep the member list in local storage.

So, use the member list at the point of enabling encryption to set up sessions,
and at the point of sending a message to encrypt the message.

Further work here includes:

 * updating the react-sdk not to bother setting the member list
 * monitoring for new users/devices in the room, and setting up new sessions
   with them
2016-06-21 17:53:11 +01:00
Richard van der Hoff
cb6566a198 matrix-client-crypto-spec: reorder
Separate the helper functions from the tests, and order them by functionality
rather than by test order.

I've been struggling to find the tests among the helpers, and struggling to
find the helpers among the other helpers. Hopefully this will help.
2016-06-21 10:12:38 +01:00
Richard van der Hoff
9feeb0c580 Support for marking devices as verified
Add a 'verified' property to the response from MatrixClient.listDeviceKeys, and
add MatrixClient.setDeviceVerified to set it. Also changes the format of data
stored for user devices in the session store slightly (in a
backwards-compatible way).
2016-06-08 17:20:26 +01:00
Richard van der Hoff
8c6e2591d9 Factor out OlmDevice from client.js
MatrixClient contains quite a lot of boilerplate for manipulating the Olm
things, which quite nicely factors out to a separate object.
2016-06-07 19:09:47 +01:00
Richard van der Hoff
0c8c7cf77a matrix-client-crypto-spec: add some more tests
Tests for bob receiving two messages, and for bob sending a message back to
alice.
2016-06-07 19:09:47 +01:00
Richard van der Hoff
52edcc49c5 matrix-client-crypto-spec: different backends for ali and bob
Use different mock http backends for the two different clients, so that we can
better control what each of them is doing (in particular, this is a
prerequisite for having them both running /sync loops)
2016-06-07 19:09:47 +01:00
Richard van der Hoff
5eede573c4 matrix-client-crypto-spec: shut down test clients
Running clients stop the test runner exiting cleanly, so make sure we stop them
2016-06-07 19:09:47 +01:00
Richard van der Hoff
e9d60a252b matrix-client-crypto.spec.js: replace callbacks with promises
The pyramid of doom was getting unmanageable, not to mention the difficulty of
diagnosing why tests were failing, so replace the callbacks with promises.
2016-06-07 19:09:47 +01:00
Kegan Dougal
eedff29acb Add filter stub to crypto test 2015-12-11 13:35:46 +00:00
Kegan Dougal
7c43d15ea5 More linting; crypto test fix 2015-12-11 13:31:26 +00:00
Mark Haines
58e44a2fc3 Disable end-to-end crypto 2015-07-23 09:30:50 +01:00
Mark Haines
ae8e01839e Add flag for indicating if an event was encrypted 2015-07-22 11:57:34 +01:00
Mark Haines
319ca5123e Return device key list in a stable order, add a check for the list in the tests 2015-07-22 11:34:38 +01:00
Mark Haines
09f7011bc5 Add method for telling if room is encrypted 2015-07-21 18:09:10 +01:00
Mark Haines
ffbc197650 Flush the httpBackend in the last crypto test 2015-07-21 17:53:04 +01:00
Mark Haines
02c2e88a3e Fix some of the lint warnings 2015-07-21 17:39:11 +01:00
Mark Haines
816bb61689 Increase the timeout for the last crypto integ test 2015-07-21 17:07:10 +01:00
Mark Haines
62ac369500 Fix test name 2015-07-17 18:51:23 +01:00
Mark Haines
8e6e1e64c7 Add integration test for the end-to-end crypto 2015-07-17 18:47:34 +01:00