Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | move threepid checker to config, add missing yields | Neil Johnson | 2018-08-31 | 1 | -2/+3 |
| | |||||
* | ensure post registration auth checks do not fail erroneously | Neil Johnson | 2018-08-31 | 1 | -0/+4 |
| | |||||
* | fix bug where preserved threepid user comes to sign up and server is mau blocked | Neil Johnson | 2018-08-31 | 1 | -0/+5 |
| | |||||
* | initial cut at a room summary API (#3574) | Matthew Hodgson | 2018-08-16 | 1 | -0/+1 |
| | |||||
* | Don't fail requests to unbind 3pids for non supporting ID servers | Erik Johnston | 2018-08-08 | 1 | -4/+18 |
| | | | | | | | | | | Older identity servers may not support the unbind 3pid request, so we shouldn't fail the requests if we received one of 400/404/501. The request still fails if we receive e.g. 500 responses, allowing clients to retry requests on transient identity server errors that otherwise do support the API. Fixes #3661 | ||||
* | Python 3: Convert some unicode/bytes uses (#3569) | Amber Brown | 2018-08-02 | 1 | -6/+6 |
| | |||||
* | Refactor REST API tests to use explicit reactors (#3351) | Amber Brown | 2018-07-17 | 1 | -1/+1 |
| | |||||
* | check isort by travis | Krombel | 2018-07-16 | 1 | -1/+1 |
| | |||||
* | Merge pull request #3534 from krombel/use_parse_and_asserts_from_servlet | Amber Brown | 2018-07-14 | 4 | -59/+40 |
|\ | | | | | Use parse and asserts from http.servlet | ||||
| * | rename assert_params_in_request to assert_params_in_dict | Krombel | 2018-07-13 | 4 | -16/+16 |
| | | | | | | | | | | | | the method "assert_params_in_request" does handle dicts and not requests. A request body has to be parsed to json before this method can be used | ||||
| * | Use parse_{int,str} and assert from http.servlet | Krombel | 2018-07-13 | 3 | -51/+32 |
| | | | | | | | | | | | | | | parse_integer and parse_string can take a request and raise errors in case we have wrong or missing params. This PR tries to use them more to deduplicate some code and make it better readable | ||||
* | | Make auth & transactions more testable (#3499) | Amber Brown | 2018-07-14 | 3 | -6/+4 |
|/ | |||||
* | Merge branch 'develop' into rav/enforce_report_api | Richard van der Hoff | 2018-07-12 | 17 | -85/+98 |
|\ | |||||
| * | run isort | Amber Brown | 2018-07-09 | 17 | -68/+74 |
| | | |||||
| * | Attempt to be more performant on PyPy (#3462) | Amber Brown | 2018-06-28 | 1 | -1/+1 |
| | | |||||
| * | Revert "Revert "Merge pull request #3431 from ↵ | Erik Johnston | 2018-06-25 | 1 | -2/+11 |
| | | | | | | | | | | | | matrix-org/rav/erasure_visibility"" This reverts commit 1d009013b3c3e814177afc59f066e02a202b21cd. | ||||
| * | Revert "Merge pull request #3431 from matrix-org/rav/erasure_visibility" | Richard van der Hoff | 2018-06-22 | 1 | -11/+2 |
| | | | | | | | | | | This reverts commit ce0d911156b355c5bf452120bfb08653dad96497, reversing changes made to b4a5d767a94f1680d07edfd583aae54ce422573e. | ||||
| * | Merge pull request #3431 from matrix-org/rav/erasure_visibility | Erik Johnston | 2018-06-22 | 1 | -2/+11 |
| |\ | | | | | | | Support hiding events from deleted users | ||||
| | * | mark accounts as erased when requested | Richard van der Hoff | 2018-06-12 | 1 | -2/+11 |
| | | | |||||
| * | | Remove run_on_reactor (#3395) | Amber Brown | 2018-06-14 | 2 | -10/+0 |
| |/ | |||||
| * | pep8 | David Baker | 2018-05-24 | 1 | -1/+1 |
| | | |||||
| * | Unbind 3pids when they're deleted too | David Baker | 2018-05-24 | 1 | -3/+10 |
| | | |||||
* | | Enforce the specified API for report_event | Richard van der Hoff | 2018-05-31 | 1 | -2/+23 |
|/ | | | | | as per https://matrix.org/docs/spec/client_server/unstable.html#post-matrix-client-r0-rooms-roomid-report-eventid | ||||
* | Stub out ServerNoticesSender on the workers | Richard van der Hoff | 2018-05-22 | 1 | -0/+4 |
| | | | | | ... and have the sync endpoints call it directly rather than obsure indirection via PresenceHandler | ||||
* | Set Server header in SynapseRequest | Richard van der Hoff | 2018-05-10 | 1 | -2/+0 |
| | | | | | | | | | | | | (instead of everywhere that writes a response. Or rather, the subset of places which write responses where we haven't forgotten it). This also means that we don't have to have the mysterious version_string attribute in anything with a request handler. Unfortunately it does mean that we have to pass the version string wherever we instantiate a SynapseSite, which has been c&ped 150 times, but that is code that ought to be cleaned up anyway really. | ||||
* | notifications: Convert next_token to string according to the spec | Konstantinos Sideris | 2018-05-05 | 1 | -1/+1 |
| | | | | | | Currently the parameter is serialized as an integer. Signed-off-by: Konstantinos Sideris <sideris.konstantin@gmail.com> | ||||
* | Construct HMAC as bytes on py3 | Adrian Tschira | 2018-04-29 | 1 | -4/+6 |
| | | | | Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | Merge pull request #2996 from krombel/allow_auto_join_rooms | Richard van der Hoff | 2018-04-10 | 1 | -32/+0 |
|\ | | | | | move handling of auto_join_rooms to RegisterHandler | ||||
| * | Merge branch 'develop' of into allow_auto_join_rooms | Krombel | 2018-03-28 | 1 | -1/+1 |
| |\ | |||||
| * | | move handling of auto_join_rooms to RegisterHandler | Krombel | 2018-03-14 | 1 | -32/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the handling of auto_join_rooms only works when a user registers itself via public register api. Registrations via registration_shared_secret and ModuleApi do not work This auto_joins the users in the registration handler which enables the auto join feature for all 3 registration paths. This is related to issue #2725 Signed-Off-by: Matthias Kesler <krombel@krombel.de> | ||||
* | | | Use "/settings/" (plural) | Luke Barnard | 2018-04-05 | 1 | -1/+1 |
| | | | |||||
* | | | Use join_policy API instead of joinable | Luke Barnard | 2018-04-03 | 1 | -6/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API is now under /groups/$group_id/setting/m.join_policy and expects a JSON blob of the shape ```json { "m.join_policy": { "type": "invite" } } ``` where "invite" could alternatively be "open". | ||||
* | | | This should probably be a PUT | David Baker | 2018-03-28 | 1 | -1/+1 |
| | | | |||||
* | | | Add joinability for groups | David Baker | 2018-03-28 | 1 | -0/+28 |
| |/ |/| | | | | | | | Adds API to set the 'joinable' flag, and corresponding flag in the table. | ||||
* | | Replace some ujson with simplejson to make it work | Erik Johnston | 2018-03-16 | 1 | -1/+1 |
|/ | |||||
* | Move RoomMemberHandler out of Handlers | Erik Johnston | 2018-03-01 | 1 | -1/+1 |
| | |||||
* | fix thinko on 3pid whitelisting | Matthew Hodgson | 2018-01-24 | 1 | -2/+2 |
| | |||||
* | fix typo (thanks sytest) | Matthew Hodgson | 2018-01-19 | 1 | -1/+1 |
| | |||||
* | oops, check all login types | Matthew Hodgson | 2018-01-19 | 1 | -14/+11 |
| | |||||
* | trailing commas | Matthew Hodgson | 2018-01-19 | 2 | -7/+7 |
| | |||||
* | rewrite based on PR feedback: | Matthew Hodgson | 2018-01-19 | 3 | -63/+36 |
| | | | | | | | | | * [ ] split config options into allowed_local_3pids and registrations_require_3pid * [ ] simplify and comment logic for picking registration flows * [ ] fix docstring and move check_3pid_allowed into a new util module * [ ] use check_3pid_allowed everywhere @erikjohnston PTAL | ||||
* | fix up v1, and improve errors | Matthew Hodgson | 2018-01-19 | 2 | -8/+24 |
| | |||||
* | fix pep8 | Matthew Hodgson | 2018-01-19 | 1 | -2/+1 |
| | |||||
* | add registrations_require_3pid | Matthew Hodgson | 2018-01-19 | 3 | -13/+96 |
| | | | | | lets homeservers specify a whitelist for 3PIDs that users are allowed to associate with. Typically useful for stopping people from registering with non-work emails | ||||
* | Fix error when deleting devices | Richard van der Hoff | 2017-12-05 | 1 | -1/+1 |
| | | | | This was introduced in d7ea8c4 / PR #2728 | ||||
* | Factor out a validate_user_via_ui_auth method | Richard van der Hoff | 2017-12-05 | 2 | -74/+59 |
| | | | | Collect together all the places that validate a logged-in user via UI auth. | ||||
* | Refactor UI auth implementation | Richard van der Hoff | 2017-12-05 | 4 | -27/+51 |
| | | | | | Instead of returning False when auth is incomplete, throw an exception which can be caught with a wrapper. | ||||
* | Move set_password into its own handler | Richard van der Hoff | 2017-11-29 | 1 | -1/+2 |
| | | | | | | Non-functional refactoring to move set_password. This means that we'll be able to properly deactivate devices and access tokens without introducing a dependency loop. | ||||
* | Move deactivate_account into its own handler | Richard van der Hoff | 2017-11-29 | 1 | -3/+4 |
| | | | | | | Non-functional refactoring to move deactivate_account. This means that we'll be able to properly deactivate devices and access tokens without introducing a dependency loop. | ||||
* | Allow guest access to group APIs for reading | Luke Barnard | 2017-11-28 | 1 | -11/+11 |
| | |||||
* | Remove redundent call | Travis Ralston | 2017-11-13 | 1 | -2/+0 |
| | | | Signed-off-by: Travis Ralston <travpc@gmail.com> | ||||
* | Add a route for determining who you are | Travis Ralston | 2017-11-12 | 1 | -0/+17 |
| | | | | | Useful for applications which may have an access token, but no idea as to who owns it. Signed-off-by: Travis Ralston <travpc@gmail.com> | ||||
* | Add some more comments appservice user registration | Richard van der Hoff | 2017-11-10 | 1 | -1/+4 |
| | | | | Explain why we don't validate userids registered via app services | ||||
* | Downcase userids for shared-secret registration | Richard van der Hoff | 2017-11-10 | 1 | -2/+20 |
| | |||||
* | Downcase userid on registration | Richard van der Hoff | 2017-11-09 | 1 | -1/+7 |
| | | | | | | Force username to lowercase before attempting to register https://github.com/matrix-org/synapse/issues/2660 | ||||
* | Register group servlet | Erik Johnston | 2017-11-09 | 1 | -0/+1 |
| | |||||
* | Have an explicit API to update room config | Erik Johnston | 2017-11-08 | 1 | -0/+27 |
| | |||||
* | Revert "Modify group room association API to allow modification of is_public" | Erik Johnston | 2017-11-08 | 1 | -2/+2 |
| | |||||
* | support inhibit_login in /register | Richard van der Hoff | 2017-11-02 | 1 | -12/+16 |
| | | | | Allow things to pass inhibit_login when registering to ... inhibit logins. | ||||
* | Merge remote-tracking branch 'origin/develop' into ↵ | David Baker | 2017-11-01 | 2 | -3/+2 |
|\ | | | | | | | rav/refactor_accesstoken_delete | ||||
| * | Merge pull request #2615 from matrix-org/rav/break_auth_device_dep | David Baker | 2017-11-01 | 1 | -1/+0 |
| |\ | | | | | | | Break dependency of auth_handler on device_handler | ||||
| | * | Break dependency of auth_handler on device_handler | Richard van der Hoff | 2017-11-01 | 1 | -1/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm going to need to make the device_handler depend on the auth_handler, so I need to break this dependency to avoid a cycle. It turns out that the auth_handler was only using the device_handler in one place which was an edge case which we can more elegantly handle by throwing an error rather than fixing it up. | ||||
| * | | Modify group room association API to allow modification of is_public | Luke Barnard | 2017-10-31 | 1 | -2/+2 |
| |/ | | | | | | | also includes renamings to make things more consistent. | ||||
* / | Move access token deletion into auth handler | Richard van der Hoff | 2017-11-01 | 1 | -11/+4 |
|/ | | | | | | | Also move duplicated deactivation code into the auth handler. I want to add some hooks when we deactivate an access token, so let's bring it all in here so that there's somewhere to put it. | ||||
* | Merge pull request #2591 from matrix-org/rav/device_delete_auth | Richard van der Hoff | 2017-10-27 | 1 | -5/+8 |
|\ | | | | | Device deletion: check UI auth matches access token | ||||
| * | Device deletion: check UI auth matches access token | Richard van der Hoff | 2017-10-27 | 1 | -5/+8 |
| | | | | | | | | (otherwise there's no point in the UI auth) | ||||
* | | Merge pull request #2589 from matrix-org/rav/as_deactivate_account | Richard van der Hoff | 2017-10-27 | 1 | -16/+32 |
|\ \ | | | | | | | Allow ASes to deactivate their own users | ||||
| * | | Allow ASes to deactivate their own users | Richard van der Hoff | 2017-10-27 | 1 | -16/+32 |
| | | | |||||
* | | | Merge pull request #2582 from matrix-org/luke/group-is-public | Luke Barnard | 2017-10-27 | 1 | -40/+53 |
|\ \ \ | |_|/ |/| | | Add is_public to groups table to allow for private groups | ||||
| * | | delint | Luke Barnard | 2017-10-26 | 1 | -4/+17 |
| | | | |||||
| * | | Add is_public to groups table to allow for private groups | Luke Barnard | 2017-10-26 | 1 | -40/+40 |
| |/ | | | | | | | | | | | Prevent group API access to non-members for private groups Also make all the group code paths consistent with `requester_user_id` always being the User ID of the requesting user. | ||||
* | | add release endpoints for /thirdparty | Krombel | 2017-10-26 | 1 | -7/+4 |
| | | |||||
* | | register some /unstable endpoints in /r0 as well | Krombel | 2017-10-26 | 4 | -20/+9 |
|/ | |||||
* | replace 'except:' with 'except Exception:' | Richard van der Hoff | 2017-10-23 | 3 | -3/+3 |
| | | | | what could possibly go wrong | ||||
* | Remove pointless create() method | Richard van der Hoff | 2017-10-20 | 1 | -1/+1 |
| | | | | | It just calls the constructor, so we may as well kill it rather than having random codepaths. | ||||
* | Merge pull request #2545 from matrix-org/dbkr/auto_join_rooms | David Baker | 2017-10-17 | 1 | -0/+34 |
|\ | | | | | Add config option to auto-join new users to rooms | ||||
| * | Add config option to auto-join new users to rooms | David Baker | 2017-10-16 | 1 | -0/+34 |
| | | | | | | | | | | New users who register on the server will be dumped into all rooms in auto_join_rooms in the config. | ||||
* | | Delint | Luke Barnard | 2017-10-16 | 1 | -0/+1 |
| | | |||||
* | | Implement GET /groups/$groupId/invited_users | Luke Barnard | 2017-10-16 | 1 | -0/+21 |
|/ | |||||
* | Add remove room API | Erik Johnston | 2017-09-26 | 1 | -0/+11 |
| | |||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/groups_merged | Erik Johnston | 2017-09-19 | 2 | -6/+5 |
|\ | |||||
| * | Add left section to /keys/changes | Erik Johnston | 2017-09-08 | 1 | -4/+2 |
| | | |||||
| * | Send down device list change notif when member leaves/rejoins room | Erik Johnston | 2017-09-07 | 1 | -1/+2 |
| | | |||||
| * | Reduce spammy log line in synchrotrons | Erik Johnston | 2017-08-02 | 1 | -1/+1 |
| | | |||||
* | | Fixup | Erik Johnston | 2017-08-11 | 1 | -0/+1 |
| | | |||||
* | | Add bulk group publicised lookup API | Erik Johnston | 2017-08-09 | 1 | -0/+54 |
| | | |||||
* | | Allow update group publicity | Erik Johnston | 2017-08-08 | 1 | -0/+28 |
| | | |||||
* | | Merge pull request #2378 from matrix-org/erikj/group_sync_support | Erik Johnston | 2017-07-21 | 1 | -0/+5 |
|\ \ | | | | | | | Add groups to sync stream | ||||
| * | | Add groups to sync stream | Erik Johnston | 2017-07-20 | 1 | -0/+5 |
| | | | |||||
* | | | Remove spurious content param | Erik Johnston | 2017-07-20 | 1 | -1/+1 |
| | | | |||||
* | | | Add update group profile API | Erik Johnston | 2017-07-20 | 1 | -0/+12 |
|/ / | |||||
* | | Comments | Erik Johnston | 2017-07-18 | 1 | -1/+3 |
| | | |||||
* | | Comments | Erik Johnston | 2017-07-18 | 1 | -103/+48 |
| | | |||||
* | | Add local group server support | Erik Johnston | 2017-07-17 | 1 | -0/+642 |
|/ | |||||
* | split out reducing stuff; just make encode_* static | Krombel | 2017-07-11 | 1 | -35/+27 |
| | |||||
* | fix test | Krombel | 2017-07-10 | 1 | -1/+3 |
| | |||||
* | encode sync-response statically; omit empty objects from sync-response | Krombel | 2017-07-10 | 1 | -33/+48 |
| | |||||
* | Include users who share room with requester in user directory | Erik Johnston | 2017-06-15 | 1 | -2/+6 |
| | |||||
* | Add comments | Erik Johnston | 2017-05-31 | 1 | -0/+16 |
| | |||||
* | Use POST | Erik Johnston | 2017-05-31 | 1 | -1/+1 |
| | |||||
* | Add REST API | Erik Johnston | 2017-05-31 | 1 | -0/+59 |
| | |||||
* | Add count of one time keys to sync stream | Erik Johnston | 2017-05-19 | 1 | -0/+1 |
| | |||||
* | Fixed syntax nits | Pablo Saavedra | 2017-05-15 | 2 | -5/+6 |
| | |||||
* | Fixed implementation errors | Pablo Saavedra | 2017-05-15 | 2 | -3/+7 |
| | | | | | * Added HS as property in SyncRestServlet * Fixed set_timeline_upper_limit function implementat¡ion | ||||
* | Configurable maximum number of events requested by /sync and /messages (#2220) | Pablo Saavedra | 2017-05-13 | 3 | -0/+15 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set the limit on the returned events in the timeline in the get and sync operations. The default value is -1, means no upper limit. For example, using `filter_timeline_limit: 5000`: POST /_matrix/client/r0/user/user:id/filter { room: { timeline: { limit: 1000000000000000000 } } } GET /_matrix/client/r0/user/user:id/filter/filter:id { room: { timeline: { limit: 5000 } } } The server cuts down the room.timeline.limit. | ||||
* | Modify register/available to be GET with query param | Luke Barnard | 2017-05-10 | 1 | -5/+4 |
| | | | | | | | - GET is now the method for register/available - a query parameter "username" is now used Also, empty usernames are now handled with an error message on registration or via register/available: `User ID cannot be empty` | ||||
* | Change register/available to POST (from GET) | Luke Barnard | 2017-05-10 | 1 | -1/+1 |
| | |||||
* | Appease the flake8 gods | Luke Barnard | 2017-05-03 | 1 | -5/+10 |
| | |||||
* | Implement username availability checker | Luke Barnard | 2017-05-03 | 1 | -0/+36 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Outlined here: https://github.com/vector-im/riot-web/issues/3605#issuecomment-298679388 ```HTTP GET /_matrix/.../register/available { "username": "desiredlocalpart123" } ``` If available, the response looks like ```HTTP HTTP/1.1 200 OK { "available": true } ``` Otherwise, ```HTTP HTTP/1.1 429 { "errcode": "M_LIMIT_EXCEEDED", "error": "Too Many Requests", "retry_after_ms": 2000 } ``` or ```HTTP HTTP/1.1 400 { "errcode": "M_USER_IN_USE", "error": "User ID already taken." } ``` or ```HTTP HTTP/1.1 400 { "errcode": "M_INVALID_USERNAME", "error": "Some reason for username being invalid" } ``` | ||||
* | Comment and remove spurious logging | Erik Johnston | 2017-04-27 | 1 | -1/+0 |
| | |||||
* | Fix invite state to always include all events | Erik Johnston | 2017-04-26 | 1 | -0/+2 |
| | |||||
* | m.read_marker -> m.fully_read (#2128) | Luke Barnard | 2017-04-18 | 2 | -5/+5 |
| | | | | | | Also: - change the REST endpoint to have a "S" on the end (so it's now /read_markers) - change the content of the m.read_up_to event to have the key "event_id" instead of "marker". | ||||
* | More null-guard changes | Luke Barnard | 2017-04-12 | 1 | -4/+4 |
| | |||||
* | Remove Unused ref to hs | Luke Barnard | 2017-04-12 | 1 | -1/+0 |
| | |||||
* | Move a space | Luke Barnard | 2017-04-12 | 1 | -2/+2 |
| | |||||
* | flake8 | Luke Barnard | 2017-04-11 | 2 | -3/+3 |
| | |||||
* | Finish implementing RM endpoint | Luke Barnard | 2017-04-11 | 2 | -9/+12 |
| | | | | | - This change causes a 405 to be sent if "m.read_marker" is set via /account_data - This also fixes-up the RM endpoint so that it actually Works. | ||||
* | Initial commit of RM server-side impl | lukebarnard | 2017-04-11 | 1 | -0/+71 |
| | | | | (See https://docs.google.com/document/d/1UWqdS-e1sdwkLDUY0wA4gZyIkRp-ekjsLZ8k6g_Zvso/edit#heading=h.lndohpg8at5u) | ||||
* | Merge pull request #1986 from matrix-org/matthew/enable_guest_3p | Erik Johnston | 2017-03-31 | 1 | -4/+4 |
|\ | | | | | enable guest access for the 3pl/3pid APIs | ||||
| * | switch to allow_guest=True for authing 3Ps as per PR feedback | Matthew Hodgson | 2017-03-31 | 1 | -0/+8 |
| | | |||||
| * | enable guest access for the 3pl/3pid APIs | Matthew Hodgson | 2017-03-12 | 1 | -8/+0 |
| | | |||||
* | | Merge pull request #2057 from matrix-org/rav/missing_yield_2 | Richard van der Hoff | 2017-03-24 | 1 | -1/+1 |
|\ \ | | | | | | | Add another missing yield on check_device_registered | ||||
| * | | Add another missing yield on check_device_registered | Richard van der Hoff | 2017-03-23 | 1 | -1/+1 |
| | | | |||||
* | | | Fix token request for addition of phone numbers | David Baker | 2017-03-23 | 1 | -1/+1 |
|/ / | |||||
* | | Remove unused import | Erik Johnston | 2017-03-15 | 1 | -1/+0 |
| | | |||||
* | | Format presence events on the edges instead of reformatting them multiple times | Erik Johnston | 2017-03-15 | 1 | -6/+13 |
| | | |||||
* | | Merge pull request #1994 from matrix-org/dbkr/msisdn_signin_2 | Erik Johnston | 2017-03-15 | 2 | -36/+215 |
|\ \ | | | | | | | Phone number registration / login support v2 | ||||
| * | | Use extend instead of += | David Baker | 2017-03-14 | 1 | -4/+4 |
| | | | |||||
| * | | Oops, remove print | David Baker | 2017-03-14 | 1 | -1/+0 |
| | | | |||||
| * | | Fix registration for broken clients | David Baker | 2017-03-13 | 1 | -4/+22 |
| | | | | | | | | | | | | Only offer msisdn flows if the x_show_msisdn option is given. | ||||
| * | | Support registration / login with phone number | David Baker | 2017-03-13 | 2 | -36/+198 |
| | | | | | | | | | | | | Changes from https://github.com/matrix-org/synapse/pull/1971 | ||||
* | | | Implement _simple_delete_many_txn, use it to delete devices | Luke Barnard | 2017-03-13 | 1 | -11/+9 |
| | | | | | | | | | | | | | | | | | | (But this doesn't implement the same for deleting access tokens or e2e keys. Also respond to code review. | ||||
* | | | Flake | Luke Barnard | 2017-03-13 | 1 | -0/+2 |
| | | | |||||
* | | | Implement delete_devices API | Luke Barnard | 2017-03-13 | 1 | -0/+47 |
|/ / | | | | | | | This implements the proposal here https://docs.google.com/document/d/1C-25Gqz3TXy2jIAoeOKxpNtmme0jI4g3yFGqv5GlAAk for deleting multiple devices at once in a single request. | ||||
* / | Revert "Support registration & login with phone number" | Erik Johnston | 2017-03-13 | 2 | -198/+36 |
|/ | |||||
* | Comment when our 3pids would be incomplete | David Baker | 2017-03-08 | 1 | -0/+2 |
| | |||||
* | Better error message | David Baker | 2017-03-08 | 1 | -1/+3 |
| | |||||
* | pep8 | David Baker | 2017-03-08 | 1 | -1/+1 |
| | |||||
* | Pull out datastore in initialiser | David Baker | 2017-03-08 | 1 | -5/+10 |
| | |||||
* | Minor fixes from PR feedback | David Baker | 2017-03-08 | 1 | -4/+2 |
| | |||||
* | Typos | David Baker | 2017-03-08 | 1 | -2/+2 |
| | |||||
* | Refector out assert_params_in_request | David Baker | 2017-03-08 | 2 | -37/+17 |
| | | | | and replace requestEmailToken where we meant requestMsisdnToken | ||||
* | Factor out msisdn canonicalisation | David Baker | 2017-03-08 | 2 | -27/+5 |
| | | | | Plus a couple of other minor fixes | ||||
* | Fix pep8 | David Baker | 2017-03-08 | 2 | -3/+3 |
| | |||||
* | Add msisdns as 3pids during registration | David Baker | 2017-03-03 | 1 | -0/+47 |
| | | | | and support binding them with the bind_msisdn param | ||||
* | WIP support for msisdn 3pid proxy methods | David Baker | 2017-02-14 | 2 | -13/+163 |
| | |||||
* | sets aren't JSON serializable | Erik Johnston | 2017-02-02 | 1 | -1/+1 |
| | |||||
* | Fix email push in pusher worker | Erik Johnston | 2017-02-02 | 1 | -1/+2 |
| | | | | | | This was broken when device list updates were implemented, as Mailer could no longer instantiate an AuthHandler due to a dependency on federation sending. | ||||
* | Include newly joined users in /keys/changes API | Erik Johnston | 2017-02-01 | 1 | -1/+1 |
| | |||||
* | Comment | Erik Johnston | 2017-02-01 | 1 | -1/+1 |
| | |||||
* | Comment | Erik Johnston | 2017-02-01 | 1 | -1/+12 |
| | |||||
* | Implement /keys/changes | Erik Johnston | 2017-02-01 | 1 | -0/+38 |
| | |||||
* | Add basic implementation of local device list changes | Erik Johnston | 2017-01-25 | 1 | -1/+5 |
| | |||||
* | Lowercase all email addresses before querying db | David Baker | 2017-01-18 | 1 | -0/+5 |
| | | | | | Since we store all emails in the DB in lowercase (https://github.com/matrix-org/synapse/pull/1170) | ||||
* | Add /account/3pid/delete endpoint | David Baker | 2016-12-20 | 1 | -1/+35 |
| | | | | Also fix a typo in a comment | ||||
* | Remove unspecced GET endpoints for e2e keys | Richard van der Hoff | 2016-12-12 | 1 | -39/+4 |
| | | | | | | | | GET /keys/claim is a terrible idea, since it isn't idempotent; also it throws 500 errors if you call it without all the right params. GET /keys/query is arguable, but it's unspecced, so let's get rid of it too to stop people relying on unspecced APIs. | ||||
* | Fix doc-string | Richard van der Hoff | 2016-12-01 | 1 | -2/+1 |
| | | | | Remove refresh_token reference | ||||
* | Rip out more refresh_token code | Richard van der Hoff | 2016-11-30 | 2 | -25/+3 |
| | | | | | | | | We might as well treat all refresh_tokens as invalid. Just return a 403 from /tokenrefresh, so that we don't have a load of dead, untestable code hanging around. Still TODO: removing the table from the schema. | ||||
* | Merge branch 'develop' into rav/no_more_refresh_tokens | Richard van der Hoff | 2016-11-30 | 4 | -13/+24 |
|\ | |||||
| * | Merge pull request #1653 from matrix-org/rav/guest_e2e | Richard van der Hoff | 2016-11-29 | 4 | -13/+24 |
| |\ | | | | | | | Implement E2E for guests | ||||
| | * | Allow guest access to endpoints for E2E | Richard van der Hoff | 2016-11-25 | 3 | -9/+9 |
| | | | | | | | | | | | | | | | Expose /devices, /keys, and /sendToDevice to guest users, so that they can use E2E. | ||||
| | * | Give guest users a device_id | Richard van der Hoff | 2016-11-25 | 1 | -4/+15 |
| | | | | | | | | | | | | | | | We need to create devices for guests so that they can use e2e, but we don't have anywhere to store it, so just use a fixed one. | ||||
* | | | Stop generating refresh tokens | Richard van der Hoff | 2016-11-28 | 1 | -3/+2 |
|/ / | | | | | | | | | | | | | Since we're not doing refresh tokens any more, we should start killing off the dead code paths. /tokenrefresh itself is a bit of a thornier subject, since there might be apps out there using it, but we can at least not generate refresh tokens on new logins. | ||||
* / | Shuffle receipt handler around so that worker apps don't need to load it | Erik Johnston | 2016-11-23 | 1 | -1/+1 |
|/ | |||||
* | Merge pull request #1638 from matrix-org/kegan/sync-event-fields | Kegsay | 2016-11-22 | 1 | -10/+13 |
|\ | | | | | Implement "event_fields" in filters | ||||
| * | Glue only_event_fields into the sync rest servlet | Kegan Dougal | 2016-11-22 | 1 | -10/+13 |
| | | |||||
* | | Fix flake8 | Mark Haines | 2016-11-18 | 1 | -1/+0 |
| | | |||||
* | | Work around client replacing reg params | David Baker | 2016-11-18 | 1 | -0/+12 |
|/ | | | | | Works around https://github.com/vector-im/vector-android/issues/715 and equivalent for iOS | ||||
* | Clean transactions based on time. Add HttpTransactionCache tests. | Kegan Dougal | 2016-11-14 | 1 | -1/+1 |
| | |||||
* | Move .observe() up to the cache to make things neater | Kegan Dougal | 2016-11-14 | 1 | -4/+1 |
| | |||||
* | Review comments | Kegan Dougal | 2016-11-11 | 1 | -12/+5 |
| | |||||
* | Use observable deferreds because they are sane | Kegan Dougal | 2016-11-11 | 1 | -3/+4 |
| | |||||
* | Flake8 | Kegan Dougal | 2016-11-10 | 1 | -1/+1 |
| | |||||
* | Store Promise<Response> instead of Response for HTTP API transactions | Kegan Dougal | 2016-11-10 | 1 | -6/+12 |
| | | | | | | | | | | | | | | | | | | This fixes a race whereby: - User hits an endpoint. - No cached transaction so executes main code. - User hits same endpoint. - No cache transaction so executes main code. - Main code finishes executing and caches response and returns. - Main code finishes executing and caches response and returns. This race is common in the wild when Synapse is struggling under load. This commit fixes the race by: - User hits an endpoint. - Caches the promise to execute the main code and executes main code. - User hits same endpoint. - Yields on the same promise as the first request. - Main code finishes executing and returns, unblocking both requests. | ||||
* | Merge pull request #1164 from pik/error-codes | Erik Johnston | 2016-10-19 | 1 | -6/+6 |
|\ | | | | | Clarify Error codes for GET /filter/ | ||||
| * | Refactor test_filter to use real DataStore | pik | 2016-10-18 | 1 | -2/+2 |
| | | | | | | | | * add tests for filter api errors | ||||
| * | Error codes for filters | Alexander Maznev | 2016-10-14 | 1 | -4/+4 |
| | | | | | | | | | | | | * add tests Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com> | ||||
* | | Handle delete device requests with no body | Richard van der Hoff | 2016-10-12 | 1 | -2/+11 |
| | | | | | | | | | | We should probably return a 401 rather than a 400 for existing clients that don't know they have to do the UIA dance to delete a device. | ||||
* | | User-interactive auth on delete device | Richard van der Hoff | 2016-10-12 | 1 | -5/+11 |
|/ | |||||
* | window.postmessage for Interactive Auth fallback | Richard van der Hoff | 2016-10-06 | 1 | -1/+3 |
| | | | | | If you're a webapp running the fallback in an iframe, you can't set set a window.onAuthDone function. Let's post a message back to window.opener instead. | ||||
* | Move the E2E key handling into the e2e handler | Mark Haines | 2016-09-13 | 1 | -112/+16 |
| | |||||
* | Add a timeout parameter for end2end key queries. | Mark Haines | 2016-09-12 | 1 | -26/+51 |
| | | | | | | | | | | Add a timeout parameter for controlling how long synapse will wait for responses from remote servers. For servers that fail include how they failed to make it easier to debug. Fetch keys from different servers in parallel rather than in series. Set the default timeout to 10s. | ||||
* | Merge pull request #1096 from matrix-org/markjh/get_access_token | Mark Haines | 2016-09-09 | 2 | -4/+6 |
|\ | | | | | Add helper function for getting access_tokens from requests | ||||
| * | Add helper function for getting access_tokens from requests | Mark Haines | 2016-09-09 | 2 | -4/+6 |
| | | | | | | | | | | | | Rather than reimplementing the token parsing in the various places. This will make it easier to change the token parsing to allow access_tokens in HTTP headers. | ||||
* | | Merge pull request #1091 from matrix-org/paul/third-party-lookup | Paul Evans | 2016-09-09 | 1 | -0/+24 |
|\ \ | |/ |/| | Improvements to 3PE lookup API | ||||
| * | appease pep8 | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -1/+2 |
| | | |||||
| * | Python isn't JavaScript; have to quote dict keys | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -1/+1 |
| | | |||||
| * | Efficiency fix for lookups of a single protocol | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -1/+3 |
| | | |||||
| * | Allow lookup of a single 3PE protocol query metadata | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -0/+21 |
| | | |||||
* | | Merge pull request #1081 from matrix-org/dbkr/notifications_only_highlight | Matthew Hodgson | 2016-09-09 | 1 | -1/+2 |
|\ \ | |/ |/| | Implement `only=highlight` on `/notifications` | ||||
| * | Implement `only=highlight` on `/notifications` | David Baker | 2016-09-08 | 1 | -1/+2 |
| | | |||||
* | | Send device messages over federation | Mark Haines | 2016-09-06 | 1 | -26/+7 |
|/ | |||||
* | Fix up the calls to the notifier for device messages | Mark Haines | 2016-09-01 | 1 | -1/+1 |
| | |||||
* | Add a replication stream for direct to device messages | Mark Haines | 2016-08-31 | 1 | -2/+8 |
| | |||||
* | Merge remote-tracking branch 'origin/develop' into markjh/direct_to_device | Mark Haines | 2016-08-26 | 1 | -1/+1 |
|\ | |||||
| * | Move ThirdPartyEntityKind into api.constants so the expectation becomes that ↵ | Paul "LeoNerd" Evans | 2016-08-25 | 1 | -1/+1 |
| | | | | | | | | the value is significant | ||||
* | | Merge branch 'develop' into markjh/direct_to_device | Mark Haines | 2016-08-25 | 2 | -4/+21 |
|\| | |||||
| * | Merge pull request #1041 from matrix-org/paul/third-party-lookup | Paul Evans | 2016-08-25 | 1 | -2/+20 |
| |\ | | | | | | | Extend 3PE lookup APIs for metadata query | ||||
| | * | Move static knowledge of protocol metadata into AS handler; cache the result | Paul "LeoNerd" Evans | 2016-08-24 | 1 | -20/+1 |
| | | | |||||
| | * | Declare 'gitter' known protocol, with user lookup | Paul "LeoNerd" Evans | 2016-08-24 | 1 | -0/+3 |
| | | | |||||
| | * | Initial hack at the 3PN protocols metadata lookup API | Paul "LeoNerd" Evans | 2016-08-24 | 1 | -0/+34 |
| | | | |||||
| | * | Move 3PU/3PL lookup APIs into /thirdparty containing entity | Paul "LeoNerd" Evans | 2016-08-24 | 1 | -2/+2 |
| | | | |||||
| * | | Preserve some logcontexts | Erik Johnston | 2016-08-24 | 1 | -2/+1 |
| |/ | |||||
* | | Add some TODOs | Mark Haines | 2016-08-25 | 1 | -0/+4 |
| | | |||||
* | | Fix the deduplication of incoming direct-to-device messages | Mark Haines | 2016-08-25 | 1 | -1/+12 |
| | | |||||
* | | Add store-and-forward direct-to-device messaging | Mark Haines | 2016-08-25 | 2 | -3/+75 |
|/ | |||||
* | Merge branch 'develop' into dbkr/notifications_api | Matthew Hodgson | 2016-08-20 | 1 | -0/+78 |
|\ | |||||
| * | Avoid so much copypasta between 3PU and 3PL query by unifying around a ↵ | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -2/+7 |
| | | | | | | | | ThirdPartyEntityKind enumeration | ||||
| * | Authenticate 3PE lookup requests | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -0/+6 |
| | | |||||
| * | Copypasta the 3PU support code to also do 3PL | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -0/+20 |
| | | |||||
| * | Remove TODO note about request fields being strings - they're always strings | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -2/+0 |
| | | |||||
| * | Ensure that 3PU lookup request fields actually get passed in | Paul "LeoNerd" Evans | 2016-08-18 | 1 | -1/+5 |
| | | |||||
| * | Thread 3PU lookup through as far as the AS API object; which currently noöps it | Paul "LeoNerd" Evans | 2016-08-17 | 1 | -2/+9 |
| | | |||||
| * | Initial empty implementation that just registers an API endpoint handler | Paul "LeoNerd" Evans | 2016-08-17 | 1 | -0/+38 |
| | | |||||
* | | Use tuple comparison | David Baker | 2016-08-18 | 1 | -4/+3 |
| | | | | | | | | Hopefully easier to read | ||||
* | | Merge remote-tracking branch 'origin/develop' into dbkr/notifications_api | David Baker | 2016-08-18 | 1 | -1/+1 |
|\| | |||||
| * | Don't change status_msg on /sync | Will Hunt | 2016-08-10 | 1 | -1/+1 |
| | | |||||
* | | Merge remote-tracking branch 'origin/develop' into dbkr/notifications_api | David Baker | 2016-08-11 | 7 | -199/+493 |
|\| | |||||
| * | Merge branch 'rav/null_default_device_displayname' into develop | Richard van der Hoff | 2016-08-03 | 1 | -3/+1 |
| |\ | |||||
| | * | Default device_display_name to null | Richard van der Hoff | 2016-08-03 | 1 | -3/+1 |
| | | | | | | | | | | | | | | | | | | It turns out that it's more useful to return a null device display name (and let clients decide how to handle it: eg, falling back to device_id) than using a constant string like "unknown device". | ||||
| * | | Merge branch 'develop' into rav/refactor_device_query | Mark Haines | 2016-08-03 | 1 | -9/+7 |
| |\| | |||||
| | * | Fix adding emails on registration | David Baker | 2016-07-29 | 1 | -9/+7 |
| | | | | | | | | | | | | Synapse was not adding email addresses to accounts registered with an email address, due to too many different variables called 'result'. Rename both of them. Also remove the defer.returnValue() with no params because that's not a thing. | ||||
| * | | Move e2e query logic into a handler | Richard van der Hoff | 2016-08-01 | 1 | -39/+7 |
| |/ | |||||
| * | key upload tweaks | Richard van der Hoff | 2016-07-27 | 1 | -7/+5 |
| | | | | | | | | | | | | | | 1. Add v2_alpha URL back in, since things seem to be using it. 2. Don't reject the request if the device_id in the upload request fails to match that in the access_token. | ||||
| * | Delete e2e keys on device delete | Richard van der Hoff | 2016-07-27 | 1 | -4/+9 |
| | | |||||
| * | Make the device id on e2e key upload optional | Richard van der Hoff | 2016-07-26 | 1 | -12/+35 |
| | | | | | | | | | | | | | | | | | | | | | | | | We should now be able to get our device_id from the access_token, so the device_id on the upload request is optional. Where it is supplied, we should check that it matches. For active access_tokens without an associated device_id, we ought to register the device in the devices table. Also update the table on upgrade so that all of the existing e2e keys are associated with real devices. | ||||
| * | Add `create_requester` function | Richard van der Hoff | 2016-07-26 | 1 | -6/+4 |
| | | | | | | | | | | Wrap the `Requester` constructor with a function which provides sensible defaults, and use it throughout | ||||
| * | Implement updating devices | Richard van der Hoff | 2016-07-26 | 1 | -7/+17 |
| | | | | | | | | You can update the displayname of devices now. | ||||
| * | Implement deleting devices | Richard van der Hoff | 2016-07-26 | 2 | -5/+19 |
| | | |||||
| * | Merge pull request #943 from matrix-org/rav/get_device_api | David Baker | 2016-07-21 | 1 | -0/+25 |
| |\ | | | | | | | Implement GET /device/{deviceId} | ||||
| | * | Implement GET /device/{deviceId} | Richard van der Hoff | 2016-07-21 | 1 | -0/+25 |
| | | | |||||
| * | | Merge pull request #942 from matrix-org/rav/fix_register_deviceid | David Baker | 2016-07-21 | 1 | -11/+10 |
| |\ \ | | |/ | |/| | Preserve device_id from first call to /register | ||||
| | * | Preserve device_id from first call to /register | Richard van der Hoff | 2016-07-21 | 1 | -11/+10 |
| | | | | | | | | | | | | | | | device_id may only be passed in the first call to /register, so make sure we fish it out of the register `params` rather than the body of the final call. | ||||
| * | | Merge branch 'develop' into rav/get_devices_api | Richard van der Hoff | 2016-07-20 | 1 | -15/+39 |
| |\| | | | | | | | | | | (pick up PR #938 in the hope of fixing the UTs) | ||||
| | * | Register a device_id in the /v2/register flow. | Richard van der Hoff | 2016-07-20 | 1 | -15/+39 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't cover *all* of the registration flows, but it does cover the most common ones: in particular: shared_secret registration, appservice registration, and normal user/pass registration. Pull device_id from the registration parameters. Register the device in the devices table. Associate the device with the returned access and refresh tokens. Profit. | ||||
| * | | GET /devices endpoint | Richard van der Hoff | 2016-07-20 | 2 | -4/+60 |
| |/ | | | | | | | | | | | | | implement a GET /devices endpoint which lists all of the user's devices. It also returns the last IP where we saw that device, so there is some dancing to fish that out of the user_ips table. | ||||
| * | Merge pull request #933 from matrix-org/rav/type_annotations | Richard van der Hoff | 2016-07-20 | 1 | -0/+9 |
| |\ | | | | | | | Type annotations | ||||
| | * | Type annotations | Richard van der Hoff | 2016-07-19 | 1 | -0/+9 |
| | | | | | | | | | | | | | | | Add some type annotations to help PyCharm (in particular) to figure out the types of a bunch of things. | ||||
| * | | Further registration refactoring | Richard van der Hoff | 2016-07-19 | 1 | -13/+37 |
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | * `RegistrationHandler.appservice_register` no longer issues an access token: instead it is left for the caller to do it. (There are two of these, one in `synapse/rest/client/v1/register.py`, which now simply calls `AuthHandler.issue_access_token`, and the other in `synapse/rest/client/v2_alpha/register.py`, which is covered below). * In `synapse/rest/client/v2_alpha/register.py`, move the generation of access_tokens into `_create_registration_details`. This means that the normal flow no longer needs to call `AuthHandler.issue_access_token`; the shared-secret flow can tell `RegistrationHandler.register` not to generate a token; and the appservice flow continues to work despite the above change. | ||||
| * | Merge pull request #931 from matrix-org/rav/refactor_register | David Baker | 2016-07-19 | 1 | -78/+102 |
| |\ | | | | | | | rest/client/v2_alpha/register.py: Refactor flow somewhat. | ||||
| | * | Don't bind email unless threepid contains expected fields | Richard van der Hoff | 2016-07-19 | 1 | -28/+25 |
| | | | |||||
| | * | rest/client/v2_alpha/register.py: Refactor flow somewhat. | Richard van der Hoff | 2016-07-19 | 1 | -75/+102 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is meant to be an *almost* non-functional change, with the exception that it fixes what looks a lot like a bug in that it only calls `auth_handler.add_threepid` and `add_pusher` once instead of three times. The idea is to move the generation of the `access_token` out of `registration_handler.register`, because `access_token`s now require a device_id, and we only want to generate a device_id once registration has been successful. | ||||
| * | | Add device_id support to /login | Richard van der Hoff | 2016-07-18 | 1 | -3/+7 |
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | Add a 'devices' table to the storage, as well as a 'device_id' column to refresh_tokens. Allow the client to pass a device_id, and initial_device_display_name, to /login. If login is successful, then register the device in the devices table if it wasn't known already. If no device_id was supplied, make one up. Associate the device_id with the access token and refresh token, so that we can get at it again later. Ensure that the device_id is copied from the refresh token to the access_token when the token is refreshed. | ||||
| * | Use body.get to check for 'user' | Will Hunt | 2016-07-16 | 1 | -2/+1 |
| | | |||||
| * | Fall back to 'username' if 'user' is not given for appservice reg. | Will Hunt | 2016-07-16 | 1 | -3/+5 |
| | | |||||
| * | Add hs object | Erik Johnston | 2016-07-14 | 1 | -0/+1 |
| | | |||||
| * | Only accept password auth | Erik Johnston | 2016-07-14 | 1 | -12/+0 |
| | | |||||
| * | Add an /account/deactivate endpoint | Erik Johnston | 2016-07-14 | 1 | -0/+55 |
| | | |||||
| * | be more pythonic | David Baker | 2016-07-12 | 1 | -1/+1 |
| | | |||||
| * | on_OPTIONS isn't neccessary | David Baker | 2016-07-12 | 2 | -10/+1 |
| | |