Commit Graph

558 Commits (aa80900a8e8cd9e7305a66cec336a8e150c46651)

Author SHA1 Message Date
Mark Haines 34034af1c9 Better response message when signature is missing or unsupported 2014-10-13 16:47:23 +01:00
Mark Haines 07639c79d9 Respond with more helpful error messages for unsigned requests 2014-10-13 16:39:15 +01:00
Mark Haines 25d80f35f1 Raise a SynapseError if the authorisation header is missing or malformed 2014-10-13 15:53:18 +01:00
Mark Haines 75e517a2da Remove debug logging, raise a proper SynapseError if the auth header is missing 2014-10-13 15:41:20 +01:00
Mark Haines 6684855767 Verify signatures for server2server requests 2014-10-13 14:37:46 +01:00
Mark Haines 10ef8e6e4b SYN-75 sign at the request level rather than the transaction level 2014-10-13 11:49:55 +01:00
Mark Haines cecda27d73 Merge branch 'develop' into server2server_signing 2014-10-13 11:06:36 +01:00
Mark Haines 984e207b59 Merge branch develop into server2server_signing
Conflicts:
	synapse/app/homeserver.py
2014-10-13 10:58:50 +01:00
Mark Haines 693d0b8f45 Replace on_send_callback with something a bit clearer so that we can sign messages 2014-10-13 10:49:04 +01:00
Mark Haines b9cdc443d7 Fix pyflakes errors 2014-10-02 14:37:30 +01:00
Mark Haines 574377636e Add a keyword argument to get_json to avoid retrying on DNS failures. Rather than passing MatrixHttpClient.RETRY_DNS_LOOKUP_FAILURES as a fake query string parameter 2014-10-02 14:26:13 +01:00
David Baker 9435830351 Merge branch 'master' into develop 2014-10-02 14:11:17 +01:00
David Baker d694619a95 Fix ncorrect ports in documentation and add notes on how generate-config also generates certs bound to whatever hostname you give with --generate-config.
SYN-87 #resolved
2014-10-02 14:09:27 +01:00
Mark Haines 4f11518934 Split PlainHttpClient into separate clients for talking to Identity servers and talking to Capatcha servers 2014-10-02 14:03:26 +01:00
Mark Haines 099083ea6b Merge remote-tracking branch 'origin/master' into develop 2014-10-02 10:46:41 +01:00
David Baker 7a322b6326 Update README setup instructions to be correct. Make synapse spit out explanatory note when generating config to tell people to look at it and customise it. 2014-10-02 10:43:22 +01:00
Mark Haines c8d67beb9c remove "red", "blue" and "green" server_name mappings 2014-10-01 15:52:07 +01:00
Mark Haines 9605593d11 Merge branch 'develop' into server2server_signing
Conflicts:
	synapse/storage/__init__.py
	tests/rest/test_presence.py
2014-09-30 17:55:06 +01:00
Mark Haines b95a178584 SYN-75 Verify signatures on server to server transactions 2014-09-30 15:15:10 +01:00
Erik Johnston fbf6320614 pyflakes cleanup 2014-09-30 12:38:38 +01:00
Erik Johnston e06adc6d7e SYN-2: Allow server admins to delete room aliases 2014-09-30 11:31:42 +01:00
Erik Johnston 7151615260 Update docstring 2014-09-29 15:35:54 +01:00
Erik Johnston 1550ab9e2f SYN-48: Delete dead code 2014-09-29 15:04:47 +01:00
Erik Johnston 1132663cc7 SYN-48: Fix typo. Get the whois for requested user rather tahan the requester 2014-09-29 15:04:04 +01:00
Erik Johnston 3ccb17ce59 SYN-48: Implement WHOIS rest servlet 2014-09-29 14:59:52 +01:00
Erik Johnston c65306f877 Add auth check to test if a user is an admin or not. 2014-09-29 13:35:38 +01:00
Erik Johnston f7d80930f2 SYN-48: Track User-Agents as well as IPs for client devices. 2014-09-29 13:35:15 +01:00
Erik Johnston 0fdf308874 Track the IP users connect with. Add an admin column to users table. 2014-09-26 16:36:24 +01:00
David Baker ec5fb77a66 Just use a yaml list for turn servers 2014-09-25 19:18:32 +02:00
Erik Johnston 3b0fb6aae8 Bump version and changelog 2014-09-25 18:05:06 +01:00
Erik Johnston 37bfe44046 Merge branch 'deletions' of github.com:matrix-org/synapse into develop 2014-09-25 17:02:53 +01:00
Erik Johnston dcadfbbd4a Don't strip out null's in serialized events, as that is not need anymore and it's not in the spec (yet) 2014-09-25 17:00:17 +01:00
Erik Johnston 69ddec6589 Don't strip of False values from events when serializing 2014-09-25 16:49:02 +01:00
Erik Johnston c818aa13eb Add LIMIT to scalar subquery 2014-09-25 15:51:21 +01:00
Erik Johnston ba87eb6753 Fix bug where we tried to insert state events with null state key 2014-09-25 14:45:27 +01:00
David Baker c58eb0d5a3 Merge branch 'turn' into develop 2014-09-25 13:09:56 +01:00
Erik Johnston 1ca51c8586 SYN-46: An invite received from fedearation didn't wake up the event stream for the invited user. 2014-09-25 13:01:05 +01:00
David Baker a31bf77776 Make turn server endpoint return an empty object if no turn servers to
match the normal response. Don't break if the turn_uris option isn't
present.
2014-09-25 11:24:49 +02:00
Mark Haines 52ca867670 Sign federation transactions 2014-09-24 17:25:41 +01:00
Erik Johnston 72eb360f2d Don't set the room name to be the room alias on room creation if the client didn't supply a name 2014-09-24 16:59:57 +01:00
David Baker 7dc7c53029 The REST API spec only alows for returning a single server so name the
endpoint appropriately.
2014-09-24 17:28:47 +02:00
Erik Johnston 327dcc98e3 SYN-70: And fix another bug where I can't type 2014-09-24 16:19:29 +01:00
Erik Johnston 87deaf1658 SYN-70: Fix typo 2014-09-24 16:15:58 +01:00
David Baker 4553651138 Oops 2014-09-24 17:04:33 +02:00
David Baker 5383ba5587 rename endpoint to better reflect what it is and allow specifying multiple uris 2014-09-24 16:01:36 +01:00
Erik Johnston 70899d3ab2 Rename deletions to redactions 2014-09-24 15:27:59 +01:00
David Baker b42b0d3fe5 Use standard base64 encoding with padding to get the same result as
coturn.
2014-09-24 15:29:24 +02:00
Erik Johnston 7d9a84a445 Make deleting deletes not undelete 2014-09-24 14:18:08 +01:00
Erik Johnston 1e6c5b205c Fix bug where we didn't correctly pull out the event_id of the deletion 2014-09-24 13:29:20 +01:00
Erik Johnston 4e79b09dd9 Fill out the prune_event method. 2014-09-24 11:37:14 +01:00
Erik Johnston 4354590a69 Add v4 deltas to current sql. 2014-09-24 11:06:41 +01:00
Paul "LeoNerd" Evans a7d53227de Bugfix for older Pythons that lack hmac.compare_digest() 2014-09-23 19:07:16 +01:00
Mark Haines bf4b224fcf Fix a few pyflakes errors in the server_key_resource 2014-09-23 18:43:34 +01:00
Mark Haines e3117a2a23 Add a _matrix/key/v1 resource with the verification keys of the local server 2014-09-23 18:43:34 +01:00
Mark Haines c6a8e7d9b9 Read signing keys using methods from syutil. convert keys that are in the wrong format 2014-09-23 18:43:34 +01:00
David Baker c96ab4fcbb The config is not hierarchical 2014-09-23 19:17:24 +02:00
Erik Johnston efea61dc50 Rename 'pruned' to 'pruned_because' 2014-09-23 17:40:58 +01:00
Erik Johnston bc250a6afa SYN-12: Implement auth for deletion by adding a 'delete_level' on the ops levels event
SYN-12 # comment Auth has been added.
2014-09-23 17:36:24 +01:00
David Baker 14ed6799d7 Add support for TURN servers as per the TURN REST API (http://tools.ietf.org/html/draft-uberti-behave-turn-rest-00) 2014-09-23 17:16:13 +01:00
Paul "LeoNerd" Evans c0673c50e6 Merge branch 'jira/SYN-60' into develop 2014-09-23 16:15:54 +01:00
Paul "LeoNerd" Evans c03176af59 Send an HMAC(SHA1) protecting the User ID for the ReCAPTCHA bypass, rather than simply the secret itself, so it's useless if that HMAC leaks 2014-09-23 15:58:44 +01:00
Erik Johnston 932b376b4e Add prune_event method 2014-09-23 15:37:32 +01:00
Kegan Dougal 0c4ae63ad5 Implemented /rooms/$roomid/state API. 2014-09-23 15:35:58 +01:00
Erik Johnston b99f6eb904 Make sure we don't persist the 'pruned' key 2014-09-23 15:29:27 +01:00
Erik Johnston 78af6bbb98 Add m.room.deletion. If an event is deleted it will be returned to clients 'pruned', i.e. all client specified keys will be removed. 2014-09-23 15:28:32 +01:00
Paul "LeoNerd" Evans 537c7e1137 Config values are almost never 'None', but they might be empty string. Detect their presence by truth 2014-09-23 15:18:59 +01:00
Paul "LeoNerd" Evans 5f16439752 Make sure the config actually /has/ a captcha_bypass_secret set before trying to compare it 2014-09-23 15:16:47 +01:00
Paul "LeoNerd" Evans 3a8a94448a Allow a (hidden undocumented) key to m.login.recaptcha to specify a shared secret to allow bots to bypass the ReCAPTCHA test (SYN-60) 2014-09-23 14:29:08 +01:00
Erik Johnston 176e3fd141 Bump versions and changelog 2014-09-22 17:42:09 +01:00
Erik Johnston 231afe464a Add a deletions table 2014-09-22 13:42:52 +01:00
Erik Johnston 28bcd01e8d SYN-47: Fix bug where we still returned events for rooms we had left.
SYN-47 #resolve
2014-09-19 14:45:21 +01:00
Kegan Dougal 3fa01be9e4 formatting 2014-09-19 12:04:26 +01:00
Erik Johnston e0f060d89b Merge branch 'master' of github.com:matrix-org/synapse into develop 2014-09-18 16:22:14 +01:00
Erik Johnston 380852b58e Bump Changelog and version 2014-09-18 16:20:53 +01:00
Erik Johnston 79a5fb469b Merge branch 'master' of github.com:matrix-org/synapse into develop 2014-09-18 14:52:19 +01:00
Erik Johnston 9fd0c74e90 Bump changelog and versions 2014-09-18 14:46:23 +01:00
Erik Johnston 335e5d131c Merge branch 'test-sqlite-memory' of github.com:matrix-org/synapse into develop
Conflicts:
	tests/handlers/test_profile.py
2014-09-18 14:31:47 +01:00
Paul "LeoNerd" Evans 4571cf7baa Merge branch 'develop' into test-sqlite-memory 2014-09-17 18:27:47 +01:00
Erik Johnston 10b4291b54 Bump versions 2014-09-17 17:49:01 +01:00
Kegan Dougal c707b7d128 SYWEB-3 : Added 'visibility' key to rooms returned via /initialSync 2014-09-17 16:09:07 +01:00
Paul "LeoNerd" Evans 9973298e2a Print expected-vs-actual data types on typecheck failure from check_json() 2014-09-17 15:27:45 +01:00
Erik Johnston b6818fd4d2 SYN-40: When a user updates their displayname or avatar update all their join events for all the rooms they are currently in. 2014-09-17 15:05:14 +01:00
Kegan Dougal c099b36af3 Comment out password reset for now, until the mechanism is fully discussed (IS token auth vs HS auth) 2014-09-16 13:32:33 +01:00
Kegan Dougal cc83b06cd1 Added support for the HS to send emails. Use it to send password resets. Added email_smtp_server and email_from_address config args. Added emailutils. 2014-09-16 12:36:39 +01:00
Kegan Dougal 5f30a69a9e Added PasswordResetRestServlet. Hit the IS to confirm the email/user. Need to send email. 2014-09-16 11:22:40 +01:00
Erik Johnston 1e4b971f95 Fix bug where we didn't always get 'prev_content' key 2014-09-15 17:43:46 +01:00
Erik Johnston 40d2f38abe Fix bug where we incorrectly calculated 'age_ts' from 'age' key rather than the reverse. Don't transmit age_ts to clients for now. 2014-09-15 16:55:39 +01:00
Erik Johnston 59516a8bb1 Correctly handle receiving 'missing' Pdus from federation, rather than just discarding them. 2014-09-15 16:40:44 +01:00
Erik Johnston e639a3516d Improve logging in federation handler. 2014-09-15 16:24:03 +01:00
Erik Johnston 6ac0b4ade8 Fix 'age' key to update on retries 2014-09-15 16:24:03 +01:00
Kegan Dougal 34d7896b06 More helpful 400 error messages. 2014-09-15 16:05:51 +01:00
Kegan Dougal 2c00e1ecd9 Be consistent when associating keys with login types for registration/login. 2014-09-15 15:38:29 +01:00
Kegan Dougal 14bc4ed59f Merge branch 'develop' of github.com:matrix-org/synapse into registration-api-changes in preparation for re-merge to develop. 2014-09-15 15:27:58 +01:00
Kegan Dougal 04fbda46dd Make captcha work again with the new registration logic. 2014-09-15 14:52:39 +01:00
Paul "LeoNerd" Evans b0406b9ead Merge remote-tracking branch 'origin/develop' into test-sqlite-memory 2014-09-15 14:15:10 +01:00
Erik Johnston 5bd9369a62 Correctly handle the 'age' key in events and pdus 2014-09-15 13:26:11 +01:00
Kegan Dougal 285ecaacd0 Split out password/captcha/email logic. 2014-09-15 12:42:36 +01:00
Kegan Dougal 34878bc26a Added LoginType constants. Created general structure for processing registrations. 2014-09-15 10:23:20 +01:00
Erik Johnston afb7f173cf Bump version and change log 2014-09-12 18:13:05 +01:00
Erik Johnston 14975ce5bc Fix bug where we relied on the current_state_events being updated when we are handling type specific persistence 2014-09-12 17:57:02 +01:00