David Baker
86ea00cfee
Revert "Handle the first /sync failure differently."
2016-10-06 16:27:38 +01:00
David Baker
0021b21170
Merge pull request #220 from matrix-org/rav/fix_turnserver_leak
...
Fix checkTurnServers leak on logout
2016-10-03 11:24:25 +01:00
David Baker
3080dc018a
Merge pull request #219 from matrix-org/rav/refactor_httpapi
...
Fix leak of file upload objects
2016-10-03 11:18:02 +01:00
David Baker
f5d0ec32e5
Merge pull request #218 from matrix-org/rav/deduplicate_storage_update
...
crypto: remove duplicate code
2016-10-03 11:01:33 +01:00
Richard van der Hoff
6b3a06a8ed
Fix checkTurnServers leak on logout
...
Remember to cancel the checkTurnServers callback when we stop the client.
2016-10-02 21:17:31 +01:00
Richard van der Hoff
9e89e71e0e
Fix leak of file upload objects
...
After an upload completed, we were failing to delete the details of the upload
from the list (because the comparison was bogus), meaning we leaked an object
each time.
While we're in the area:
- make the request methods take an opts object (instead of a localTimeout
param), and deprecate the WithPrefix versions.
- make the non-xhr path for uploadContent use authedRequest instead of
rolling its own.
- make cancelUpload use the promise.abort() hack for simplicity
2016-09-30 15:29:45 +01:00
Richard van der Hoff
faff057592
crypto: remove duplicate code
...
Only call SessionStore.storeEndToEndDevicesForUser once per user, rather than
once per device.
(Probably also fixes a bug where, when a user removes all devices, the store
isn't updated)
2016-09-30 09:17:54 +01:00
David Baker
56be271b0a
I actually docced them as well
2016-09-29 17:47:51 +01:00
David Baker
fa557eb0cc
Add API for 3rd party location lookup
2016-09-29 15:50:00 +01:00
Erik Johnston
e4aea701ab
Comment
2016-09-23 09:57:06 +01:00
Erik Johnston
352f79e9fd
Handle the first /sync failure differently.
...
A /sync request may spuriously fail on occasion, without the
"connection" actually being lost. To avoid spurious "Connection Lost"
warning messages we ignore the first /sync and immediately retry, and
only if that fails do we enter an ERROR state.
2016-09-22 16:24:40 +01:00
Richard van der Hoff
1a3ee28d01
Log when we get an oh_hai message
2016-09-21 17:07:40 +01:00
Richard van der Hoff
669aecf4e6
E2E: Fix NPE in getEventSenderDeviceInfo
2016-09-21 15:05:27 +01:00
Richard van der Hoff
832559926f
Fix the ed25519 key checking
...
Finish plumbing in the Ed25519 key checks. Make sure we store the claimed key
correctly in the megolm sessions, and keep them as a separate field in
MatrixEvent rather than stuffing them into _clearEvent
2016-09-20 20:42:08 +01:00
Richard van der Hoff
59411353b1
Add 'keys' to *all* olm messages
...
(including ones which just carry megolm keys)
2016-09-20 20:39:40 +01:00
Richard van der Hoff
83bd420cd5
Return null from decryptEvent if session is unknown
...
This just makes the shape of the API a bit saner.
2016-09-20 20:39:40 +01:00
Richard van der Hoff
78a0aa5d47
Add MatrixClient.getEventSenderDeviceInfo()
...
- a function to get information about the device which sent an event
2016-09-20 20:39:16 +01:00
Richard van der Hoff
6e31319294
Handle lack of one-time keys better
...
If a device had run out of one-time keys, we would send it an empty to_device
event, which it would then fail to decrypt with a "Not included in
recipients", which is all a bit pointless.
2016-09-18 22:58:35 +01:00
Richard van der Hoff
cd0b19f93f
Crypto: improve console logs
...
Attempt to make the console logs more helpful by reducing noise and adding
helpful debug info.
2016-09-18 21:55:38 +01:00
Richard van der Hoff
4f22610499
Megolm: clarify jsdoc
...
Clarify somewhat misleading jsdoc text
2016-09-18 13:52:48 +01:00
Matthew Hodgson
9e57a9352a
Merge pull request #212 from matrix-org/rav/get_devicelist_on_join
...
Pull user device list on join
2016-09-17 19:21:17 +01:00
Richard van der Hoff
f2e10e030d
Unknown sessions: send oh_hai to all devices if device_id is unknown
2016-09-17 19:07:03 +01:00
Richard van der Hoff
266b7afc72
Fix sending of oh_hais on bad sessions
...
Fix a bunch of bugs in the code which tried to send an oh_hai message when we
got a message with an unknown megolm session.
2016-09-17 18:30:12 +01:00
Richard van der Hoff
a15dffbb3a
Pull user device list on join
...
When a new user joins a room, make sure we download their device list if we
don't already have it.
This should fix at least one cause of
https://github.com/vector-im/vector-web/issues/2249 .
2016-09-17 17:44:15 +01:00
Matthew Hodgson
a30c816cb6
typo
2016-09-17 15:44:55 +01:00
David Baker
0d51fad805
Make js-sdk compatible with older synapses
...
Use GET API if no params given. Revert changelog entry since it now doesn't break older synapses.
2016-09-16 23:23:25 +01:00
David Baker
17ed38ad05
Merge remote-tracking branch 'origin/develop' into dbkr/public_rooms_paginate
2016-09-16 20:14:29 +01:00
David Baker
55d6cf7ab0
Update /publicRooms to use the new pagination API
2016-09-16 20:08:21 +01:00
Matthew Hodgson
425f862cf8
Merge pull request #205 from matrix-org/markjh/megolm
...
Update the olm library version to 1.3.0
2016-09-16 17:30:26 +01:00
Mark Haines
5d6256bede
Merge pull request #209 from matrix-org/markjh/comment_upload_key
...
Comment what the logic in uploadKeys does
2016-09-16 16:34:37 +01:00
Mark Haines
ff5b923e6f
Spelling: s/cliamed/claimed/
2016-09-16 16:31:00 +01:00
Mark Haines
af7a9a68b8
Merge pull request #210 from matrix-org/markjh/echo_keys_proved
...
Include keysProved and keysClaimed in the local echo for events we send.
2016-09-16 15:45:22 +01:00
Mark Haines
905059d6da
More comments explaining the keysClaimed/keysProved properties
2016-09-16 15:42:02 +01:00
Mark Haines
3bc56cf3f8
More comments on the local echo
2016-09-16 15:36:56 +01:00
Mark Haines
1feb7fc0ba
Fix copy+paste
2016-09-16 15:32:46 +01:00
Mark Haines
c2a40572a5
Include keysProved and keysClaimed in the local echo for events we send.
2016-09-16 15:30:22 +01:00
Mark Haines
ee7d4d0521
Explain what happens to the old keys in olm
2016-09-16 14:43:22 +01:00
Mark Haines
6ab410ef6a
Comment what the logic in uploadKeys does
2016-09-16 14:38:26 +01:00
Mark Haines
8235d966d6
Merge pull request #208 from matrix-org/markjh/upload_keys
...
Check if we need to upload new one-time keys every 10 minutes
2016-09-16 14:21:03 +01:00
Mark Haines
c7b83f6ee6
More semicolons
2016-09-16 11:40:06 +01:00
Mark Haines
460f20a4ce
Merge pull request #207 from matrix-org/markjh/variable_scoping
...
Reset oneTimeKey to null on each loop iteration.
2016-09-16 11:23:58 +01:00
Mark Haines
da408f975e
Check if we need to upload new one-time keys every 10 minutes
2016-09-16 11:22:36 +01:00
Mark Haines
9a98c3991a
Reset onTimeKey to null on each loop iteration.
...
Otherwise we will use a value from a previous iteration of the loop.
2016-09-16 10:44:25 +01:00
Matthew Hodgson
6e0b2de99f
fix lint
2016-09-16 03:19:20 +01:00
Matthew Hodgson
0633d7d3f6
track raw displayname on user objects
2016-09-16 03:18:47 +01:00
Matthew Hodgson
2765720b76
unbreak NPE where megolm's decryptEvent doesn't return a result
2016-09-15 20:09:41 +01:00
Mark Haines
71f23ffce1
Merge branch 'develop' into markjh/megolm
...
Conflicts:
lib/crypto/algorithms/megolm.js
2016-09-15 17:10:02 +01:00
Mark Haines
0d5d74674e
Remove spurious senderKey argument
2016-09-15 16:46:28 +01:00
Mark Haines
45ed0884df
Document return type
2016-09-15 16:42:40 +01:00
Mark Haines
bde6a171f6
Add getKeysProved and getKeysClaimed methods to MatrixEvent.
...
These list the keys that sender of the event must have ownership
of and the keys of that the sender claims ownership of.
All olm and megolm messages prove ownership of a curve25519 key.
All new olm and megolm message will now claim ownership of a
ed25519 key.
This allows us to detect if an attacker claims ownership of a curve25519
key they don't own when advertising their device keys, because when we
receive an event from the original user it will have a different ed25519 key
to the attackers.
2016-09-15 16:26:43 +01:00