summary refs log tree commit diff
path: root/synapse/rest (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #5877 from ↵Richard van der Hoff2019-08-221-53/+4
|\ | | | | | | | | Awesome-Technologies/remove_shared_secret_registration Remove shared secret registration
| * Remove shared secret registration from client/r0/register endpointManuel Stahl2019-08-221-53/+4
| | | | | | | | | | | | | | | | | | | | This type of registration was probably never used. It only includes the user name in the HMAC but not the password. Shared secret registration is still available via client/r0/admin/register. Signed-off-by: Manuel Stahl <manuel.stahl@awesome-technologies.de>
* | Revert "Add "require_consent" parameter for registration"Brendan Abolivier2019-08-221-4/+1
| | | | | | | | This reverts commit 3320aaab3a9bba3f5872371aba7053b41af9d0a0.
* | Add "require_consent" parameter for registrationHalf-Shot2019-08-221-1/+4
| |
* | Opentrace e2e keys (#5855)Jorik Schellekens2019-08-221-1/+12
| | | | | | Add opentracing tags and logs for e2e keys
* | Servlet to purge old rooms (#5845)Richard van der Hoff2019-08-222-0/+59
|/
* Fix up password reset template config names (#5863)Andrew Morgan2019-08-151-2/+2
| | | | | Fixes #5833 The emailconfig code was attempting to pull incorrect config file names. This corrects that, while also marking a difference between a config file variable that's a filepath versus a str containing HTML.
* Don't load the media repo when configured to use an external media repo (#5754)Amber Brown2019-08-134-91/+143
|
* Return 404 instead of 403 when retrieving an event without perms (#5798)Andrew Morgan2019-08-061-3/+11
| | | | | Part of fixing matrix-org/sytest#652 Sytest PR: matrix-org/sytest#667
* LintBrendan Abolivier2019-08-011-4/+2
|
* Allow defining HTML templates to serve the user on account renewalBrendan Abolivier2019-08-011-6/+17
|
* Merge tag 'v1.2.0rc2' into developAndrew Morgan2019-07-243-9/+39
|\ | | | | | | | | | | | | Bugfixes -------- - Fix a regression introduced in v1.2.0rc1 which led to incorrect labels on some prometheus metrics. ([\#5734](https://github.com/matrix-org/synapse/issues/5734))
| * Fix servlet metric names (#5734)Jorik Schellekens2019-07-243-9/+39
| | | | | | | | | | | | | | | | | | | | * Fix servlet metric names Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> * Remove redundant check * Cover all return paths
* | Replace returnValue with return (#5736)Amber Brown2019-07-2339-288/+270
|/
* Remove the ability to query relations when the original event was redacted. ↵Andrew Morgan2019-07-181-32/+43
| | | | | | | (#5629) Fixes #5594 Forbid viewing relations on an event once it has been redacted.
* fix typo: backgroud -> backgroundAndrew Morgan2019-07-121-1/+1
|
* Clean up exception handling for access_tokens (#5656)Richard van der Hoff2019-07-112-4/+15
| | | | | | | | | | | | | | | | First of all, let's get rid of `TOKEN_NOT_FOUND_HTTP_STATUS`. It was a hack we did at one point when it was possible to return either a 403 or a 401 if the creds were missing. We always return a 401 in these cases now (thankfully), so it's not needed. Let's also stop abusing `AuthError` for these cases. Honestly they have nothing that relates them to the other places that `AuthError` is used, other than the fact that they are loosely under the 'Auth' banner. It makes no sense for them to share exception classes. Instead, let's add a couple of new exception classes: `InvalidClientTokenError` and `MissingClientTokenError`, for the `M_UNKNOWN_TOKEN` and `M_MISSING_TOKEN` cases respectively - and an `InvalidClientCredentialsError` base class for the two of them.
* Don't bundle aggregations when retrieving the original event (#5654)Andrew Morgan2019-07-101-2/+12
| | | | | | | A fix for PR #5626, which returned the original event content as part of a call to /relations. Only problem was that we were attempting to aggregate the relations on top of it when we did so. We now set bundle_aggregations to False in the get_event call. We also do this when pulling the relation events as well, because edits of edits are not something we'd like to support here.
* Include the original event in /relations (#5626)Andrew Morgan2019-07-091-3/+5
| | | When asking for the relations of an event, include the original event in the response. This will mostly be used for efficiently showing edit history, but could be useful in other circumstances.
* Remove access-token support from RegistrationHandler.register (#5641)Richard van der Hoff2019-07-083-18/+10
| | | | | | | | Nothing uses this now, so we can remove the dead code, and clean up the API. Since we're changing the shape of the return value anyway, we take the opportunity to give the method a better name.
* Factor out some redundant code in the login impl (#5639)Richard van der Hoff2019-07-081-39/+10
| | | | | | | | * Factor out some redundant code in the login impl Also fixes a redundant access_token which was generated during jwt login. * changelog
* Move logging utilities out of the side drawer of util/ and into logging/ (#5606)Amber Brown2019-07-046-18/+14
|
* Fix media repo breaking (#5593)Amber Brown2019-07-021-0/+1
|
* Complete the SAML2 implementation (#5422)Richard van der Hoff2019-07-022-43/+48
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * SAML2 Improvements and redirect stuff Signed-off-by: Alexander Trost <galexrt@googlemail.com> * Code cleanups and simplifications. Also: share the saml client between redirect and response handlers. * changelog * Revert redundant changes to static js * Move all the saml stuff out to a centralised handler * Add support for tracking SAML2 sessions. This allows us to correctly handle `allow_unsolicited: False`. * update sample config * cleanups * update sample config * rename BaseSSORedirectServlet for consistency * Address review comments
| * Merge branch 'develop' into rav/saml2_clientRichard van der Hoff2019-07-019-122/+75
| |\
| * | rename BaseSSORedirectServlet for consistencyRichard van der Hoff2019-06-271-3/+3
| | |
| * | Move all the saml stuff out to a centralised handlerRichard van der Hoff2019-06-262-44/+4
| | |
| * | Merge branch 'develop' into rav/saml2_clientRichard van der Hoff2019-06-2657-1432/+1275
| |\ \
| * | | Code cleanups and simplifications.Richard van der Hoff2019-06-112-45/+42
| | | | | | | | | | | | | | | | Also: share the saml client between redirect and response handlers.
| * | | Merge remote-tracking branch 'origin/develop' into rav/saml2_clientRichard van der Hoff2019-06-1039-321/+531
| |\ \ \
| * | | | SAML2 Improvements and redirect stuffAlexander Trost2019-06-021-0/+46
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Alexander Trost <galexrt@googlemail.com>
* | | | | Fix JWT login with new users (#5586)PauRE2019-07-021-6/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com>
* | | | | fix async/await consentresource (#5585)Amber Brown2019-07-011-1/+3
| |_|_|/ |/| | | | | | | Fixes #5582
* | | | Make the http server handle coroutine-making REST servlets (#5475)Amber Brown2019-06-298-120/+73
| | | |
* | | | Fix JWT login (#5555)PauRE2019-06-271-1/+1
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix JWT login with register Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com> * Add pyjwt conditional dependency Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com> * Added changelog file Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com> * Improved changelog description Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com>
* | | Split public rooms directory auth config in twoBrendan Abolivier2019-06-241-1/+1
| | |
* | | Run Black. (#5482)Amber Brown2019-06-2057-1426/+1254
| | |
* | | Merge pull request #5390 from matrix-org/erikj/dont_log_on_fail_to_get_fileErik Johnston2019-06-141-2/+4
|\ \ \ | | | | | | | | Don't log exception when failing to fetch remote content.
| * | | Don't log exception when failing to fetch remote content.Erik Johnston2019-06-071-2/+4
| | | | | | | | | | | | | | | | | | | | In particular, let's not log stack traces when we stop processing becuase the response body was too large.
* | | | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2019-06-111-4/+5
|\ \ \ \
| * | | | Change password reset links to /_matrix.Erik Johnston2019-06-111-4/+5
| |/ / /
* | | / Don't warn user about password reset disabling through config code (#5387)Andrew Morgan2019-06-111-4/+15
| |_|/ |/| | | | | | | | | | | | | | | | | Moves the warning about password resets being disabled to the point where a user actually tries to reset their password. Is this an appropriate place for it to happen? Also removed the disabling of msisdn password resets when you don't have an email config, as that just doesn't make sense. Also change the error a user receives upon disabled passwords to specify that only email-based password reset is disabled.
* | | Merge pull request #5363 from ↵Brendan Abolivier2019-06-101-1/+1
|\ \ \ | |/ / |/| | | | | | | | matrix-org/babolivier/account_validity_send_mail_auth Don't check whether the user's account is expired on /send_mail requests
| * | Don't check whether the user's account is expired on /send_mail requestsBrendan Abolivier2019-06-051-1/+1
| | |
* | | Add ability to perform password reset via email without trusting the ↵Andrew Morgan2019-06-061-5/+238
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | identity server (#5377) Sends password reset emails from the homeserver instead of proxying to the identity server. This is now the default behaviour for security reasons. If you wish to continue proxying password reset requests to the identity server you must now enable the email.trust_identity_server_for_password_resets option. This PR is a culmination of 3 smaller PRs which have each been separately reviewed: * #5308 * #5345 * #5368
* | | Neilj/add r0.5 to versions (#5360)Neil Johnson2019-06-051-0/+1
| | | | | | | | | * Update _matrix/client/versions to reference support for r0.5.0
* | | Merge pull request #5333 from ↵Richard van der Hoff2019-06-041-10/+2
|\ \ \ | | | | | | | | | | | | | | | | matrix-org/rav/server_keys/09_improve_notary_server Fixes for the key-notary server
| * | | Notary server: make requests to origins in parallelRichard van der Hoff2019-06-041-10/+2
| | | | | | | | | | | | | | | | ... else we're guaranteed to time out.
* | | | Hawkowl/fix missing auth (#5328)Amber Brown2019-06-041-0/+1
|/ / /
* | / Unify v1 and v2 REST client APIs (#5226)Amber Brown2019-06-0337-305/+287
| |/ |/|
* | Fix ignored filter field in `/messages` endpointEisha Chen-yen-su2019-05-301-0/+2
| | | | | | | | | | | | | | | | This fixes a bug which were causing the "event_format" field to be ignored in the filter of requests to the `/messages` endpoint of the CS API. Signed-off-by: Eisha Chen-yen-su <chenyensu0@gmail.com>
* | Merge pull request #5256 from aaronraimist/logout-correct-errorErik Johnston2019-05-301-18/+9
|\ \ | | | | | | Show correct error when logging out and access token is missing
| * | LintAaron Raimist2019-05-291-2/+0
| | | | | | | | | | | | Signed-off-by: Aaron Raimist <aaron@raim.ist>
| * | Get rid of try exceptAaron Raimist2019-05-271-16/+9
| | | | | | | | | | | | Signed-off-by: Aaron Raimist <aaron@raim.ist>
| * | Show correct error when logging out and access token is missingAaron Raimist2019-05-241-4/+4
| | | | | | | | | | | | Signed-off-by: Aaron Raimist <aaron@raim.ist>
* | | Implement the SHHS complexity API (#5216)Amber Brown2019-05-301-3/+9
| | |
* | | Serve CAS login over r0 (#5286)Amber Brown2019-05-301-2/+2
| | |
* | | Fix error when downloading thumbnail with width/height param missing (#5258)Aaron Raimist2019-05-291-2/+2
|/ / | | | | | | | | | | | | Fix error when downloading thumbnail with width/height param missing Fixes #2748 Signed-off-by: Aaron Raimist <aaron@raim.ist>
* | Merge pull request #5220 from matrix-org/erikj/dont_bundle_live_eventsErik Johnston2019-05-241-0/+3
|\ \ | | | | | | Don't bundle aggregations with events in /sync or /events or state queries
| * | Don't bundle events in /sync or /eventsErik Johnston2019-05-211-0/+3
| | | | | | | | | | | | | | | As we'll send down the annotations too anyway, so this just ends up confusing clients.
* | | Merge pull request #5244 from matrix-org/rav/server_keys/00-factor-out-fetchersErik Johnston2019-05-231-3/+3
|\ \ \ | | | | | | | | Factor out KeyFetchers from KeyRing
| * | | Fix remote_key_resourceRichard van der Hoff2019-05-231-3/+3
| |/ /
* / / Add config option for setting homeserver's default room version (#5223)Andrew Morgan2019-05-231-2/+3
|/ / | | | | | | | | Replaces DEFAULT_ROOM_VERSION constant with a method that first checks the config, then returns a hardcoded value if the option is not present. That hardcoded value is now located in the server.py config file.
* | Merge pull request #5209 from matrix-org/erikj/reactions_baseErik Johnston2019-05-202-0/+340
|\ \ | | | | | | Land basic reaction and edit support.
| * | Move parsing of tokens out of storage layerErik Johnston2019-05-161-0/+19
| | |
| * | Check that event is visible in new APIsErik Johnston2019-05-161-2/+15
| | |
| * | Add aggregations APIErik Johnston2019-05-161-1/+140
| | |
| * | Actually implement idempotencyErik Johnston2019-05-151-1/+8
| | |
| * | Add simple pagination APIErik Johnston2019-05-151-0/+50
| | |
| * | Add simple send_relation API and track in DBErik Johnston2019-05-152-0/+112
| | |
* | | Fix image orientation when generating thumbnail (#5039)PauRE2019-05-162-0/+44
| | |
* | | Merge pull request #5174 from matrix-org/dbkr/add_dummy_flow_to_recaptcha_onlyDavid Baker2019-05-161-5/+17
|\ \ \ | |_|/ |/| | Re-order registration stages to do msisdn & email auth last
| * | Merge remote-tracking branch 'origin/develop' into ↵David Baker2019-05-131-0/+10
| |\ \ | | | | | | | | | | | | dbkr/add_dummy_flow_to_recaptcha_only
| * | | Re-order flows so that email auth is done lastDavid Baker2019-05-101-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | It's more natural for the user if the bit that takes them away from the registration flow comes last. Adding the dummy stage allows us to do the stages in this order without the ambiguity.
| * | | CommentDavid Baker2019-05-101-0/+4
| | | |
| * | | Add a DUMMY stage to captcha-only registration flowDavid Baker2019-05-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the client to complete the email last which is more natual for the user. Without this stage, if the client would complete the recaptcha (and terms, if enabled) stages and then the registration request would complete because you've now completed a flow, even if you were intending to complete the flow that's the same except has email auth at the end. Adding a dummy auth stage to the recaptcha-only flow means it's always unambiguous which flow the client was trying to complete. Longer term we should think about changing the protocol so the client explicitly says which flow it's trying to complete. vector-im/riot-web#9586
* | | | Merge pull request #5187 from ↵David Baker2019-05-161-18/+22
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | matrix-org/dbkr/only_check_threepid_not_in_use_if_actually_registering Only check 3pids not in use when registering
| * | | | Only check 3pids not in use when registeringDavid Baker2019-05-141-18/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We checked that 3pids were not already in use before we checked if we were going to return the account previously registered in the same UI auth session, in which case the 3pids will definitely be in use. https://github.com/vector-im/riot-web/issues/9586
* | | | | Make all the rate limiting options more consistent (#5181)Amber Brown2019-05-151-10/+13
| | | | |
* | | | | Drop support for v2_alpha API prefix (#5190)Richard van der Hoff2019-05-156-24/+19
| |_|_|/ |/| | |
* | | | NewsfileErik Johnston2019-05-141-6/+6
| | | |
* | | | Allow client event serialization to be asyncErik Johnston2019-05-144-43/+48
|/ / /
* | / Migrate all tests to use the dict-based config format instead of hanging ↵Amber Brown2019-05-131-0/+1
| |/ |/| | | | | items off HomeserverConfig (#5171)
* | URL preview blacklisting fixes (#5155)Andrew Morgan2019-05-101-0/+10
|/ | | Prevents a SynapseError being raised inside of a IResolutionReceiver and instead opts to just return 0 results. This thus means that we have to lump a failed lookup and a blacklisted lookup together with the same error message, but the substitute should be generic enough to cover both cases.
* Revert 085ae346ace418e0fc043ac5f568f85ebf80038eDavid Baker2019-05-101-1/+1
| | | | Accidentally went straight to develop
* Add a DUMMY stage to captcha-only registration flowDavid Baker2019-05-101-1/+1
| | | | | | | | | | | | | | | | This allows the client to complete the email last which is more natual for the user. Without this stage, if the client would complete the recaptcha (and terms, if enabled) stages and then the registration request would complete because you've now completed a flow, even if you were intending to complete the flow that's the same except has email auth at the end. Adding a dummy auth stage to the recaptcha-only flow means it's always unambiguous which flow the client was trying to complete. Longer term we should think about changing the protocol so the client explicitly says which flow it's trying to complete. https://github.com/vector-im/riot-web/issues/9586
* add options to require an access_token to GET /profile and /publicRooms on ↵Matthew Hodgson2019-05-082-12/+34
| | | | | | | | | | | | | | | | | CS API (#5083) This commit adds two config options: * `restrict_public_rooms_to_local_users` Requires auth to fetch the public rooms directory through the CS API and disables fetching it through the federation API. * `require_auth_for_profile_requests` When set to `true`, requires that requests to `/profile` over the CS API are authenticated, and only returns the user's profile if the requester shares a room with the profile's owner, as per MSC1301. MSC1301 also specifies a behaviour for federation (only returning the profile if the server asking for it shares a room with the profile's owner), but that's currently really non-trivial to do in a not too expensive way. Next step is writing down a MSC that allows a HS to specify which user sent the profile query. In this implementation, Synapse won't send a profile query over federation if it doesn't believe it already shares a room with the profile's owner, though. Groups have been intentionally omitted from this commit.
* Remove the requirement to authenticate for /admin/server_version. (#5122)Richard van der Hoff2019-05-071-10/+5
| | | | | | | | | This endpoint isn't much use for its intended purpose if you first need to get yourself an admin's auth token. I've restricted it to the `/_synapse/admin` path to make it a bit easier to lock down for those concerned about exposing this information. I don't imagine anyone is using it in anger currently.
* Add admin api for sending server_notices (#5121)Richard van der Hoff2019-05-023-3/+118
|
* Factor out an "assert_requester_is_admin" function (#5120)Richard van der Hoff2019-05-022-75/+79
| | | | Rather than copying-and-pasting the same four lines hundreds of times
* fix examplesRichard van der Hoff2019-05-011-4/+4
|
* Move admin api impl to its own packageRichard van der Hoff2019-05-012-4/+3
| | | | It doesn't really belong under rest/client/v1 any more.
* Move admin API to a new prefixRichard van der Hoff2019-05-012-22/+60
|
* Move admin API away from ClientV1RestServletRichard van der Hoff2019-05-011-33/+33
|
* Remove log error for .well-known/matrix/client (#4972)Michael Kaye2019-04-241-1/+1
|
* Prevent "producer not unregistered" message (#5009)Amber Brown2019-04-241-0/+4
|
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2019-04-179-89/+70
|\ | | | | | | babolivier/account_expiration
| * Merge pull request #5047 from matrix-org/babolivier/account_expirationBrendan Abolivier2019-04-172-0/+64
| |\ | | | | | | Send out emails with links to extend an account's validity period
| * \ Merge pull request #5071 from matrix-org/babolivier/3pid-checkBrendan Abolivier2019-04-171-0/+18
| |\ \ | | | | | | | | Make sure we're not registering the same 3pid twice
| | * | Make sure we're not registering the same 3pid twiceBrendan Abolivier2019-04-171-0/+18
| | | |
| * | | Merge pull request #5070 from matrix-org/erikj/postpathErik Johnston2019-04-171-8/+8
| |\ \ \ | | | | | | | | | | Remove usage of request.postpath
| | * | | Remove usage of request.postpathErik Johnston2019-04-161-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an undocumented variable in twisted, and relies on the servlet being mounted in the right way. This also breaks getting push rules on workers.
| * | | | Merge pull request #5063 from matrix-org/erikj/move_endpointsErik Johnston2019-04-151-0/+7
| |\| | | | | | | | | | | | | Move some rest endpoints to client reader
| | * | | Only handle GET requests for /push_rulesErik Johnston2019-04-151-0/+7
| | | | |
| * | | | Remove periods from copyright headers (#5046)Andrew Morgan2019-04-112-2/+2
| |/ / /
| * | | Add admin API for group deletionErik Johnston2019-04-031-0/+26
| | | |
| * | | Fix grammar and document get_current_users_in_room (#4998)Andrew Morgan2019-04-031-1/+1
| | | |
| * | | Remove presence lists (#4989)Neil Johnson2019-04-031-67/+0
| | | | | | | | | | | | Remove presence list support as per MSC 1819
| * | | Merge pull request #4982 from matrix-org/erikj/msc1915Erik Johnston2019-04-031-2/+3
| |\ \ \ | | | | | | | | | | Implement MSC1915 - 3PID unbind APIs
| | * | | Add unbind API to /r0 as it is now stabalisedErik Johnston2019-04-011-1/+1
| | | | |
| | * | | Allowing specifying IS to use in unbind API.Erik Johnston2019-04-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default the homeserver will use the identity server used during the binding of the 3PID to unbind the 3PID. However, we need to allow clients to explicitly ask the homeserver to unbind via a particular identity server, for the case where the 3PID was bound out of band from the homeserver. Implements MSC915.
| * | | | Collect room-version variations into one place (#4969)Richard van der Hoff2019-04-012-7/+5
| |/ / / | | | | | | | | | | | | Collect all the things that make room-versions different to one another into one place, so that it's easier to define new room versions.
| * / / remove log line for password (#4965)Neil Johnson2019-03-281-2/+0
| |/ / | | | | | | | | | Remove log line for password.
* | / Add management endpoints for account validityBrendan Abolivier2019-04-172-1/+69
| |/ |/|
* | Send out emails with links to extend an account's validity periodBrendan Abolivier2019-04-172-0/+64
|/
* Support 3PID login in password providers (#4931)Andrew Morgan2019-03-261-4/+45
| | | | | Adds a new method, check_3pid_auth, which gives password providers the chance to allow authentication with third-party identifiers such as email or msisdn.
* Merge pull request #4904 from matrix-org/erikj/fix_shutdownErik Johnston2019-03-211-20/+35
|\ | | | | Fixup shutdown room API
| * Use flagsErik Johnston2019-03-201-2/+4
| |
| * Gracefully handle failing to kick userErik Johnston2019-03-201-19/+27
| |
| * Log new room IDErik Johnston2019-03-201-1/+6
| |
* | Add option to disable searching in the user dirErik Johnston2019-03-191-0/+6
|/ | | | We still populate it, as it can still be accessed via the admin API.
* Add ratelimiting on login (#4821)Brendan Abolivier2019-03-152-2/+12
| | | Add two ratelimiters on login (per-IP address and per-userID).
* fix incorrect encoding of filenames with spaces in (#2090)Matthew Hodgson2019-03-111-3/+51
| | | | fixes https://github.com/vector-im/riot-web/issues/3155
* Send message after room has been shutdownErik Johnston2019-03-061-11/+11
| | | | | | | | Currently the explanation message is sent to the abuse room before any users are forced joined, which means it tends to get lost in the backlog of joins. So instead we send the message *after* we've forced joined everyone.
* Make registration ratelimiter separate from the main events oneBrendan Abolivier2019-03-061-1/+1
|
* Revert "Split ratelimiters in two (one for events, one for registration)"Brendan Abolivier2019-03-061-1/+1
| | | | This reverts commit d7dbad3526136cfc9fdbd568635be5016fb637db.
* Split ratelimiters in two (one for events, one for registration)Brendan Abolivier2019-03-051-1/+1
|
* Merge pull request #4772 from jbweston/jbweston/server-version-apiErik Johnston2019-03-051-0/+23
|\ | | | | Add 'server_version' endpoint to admin API
| * Add 'server_version' endpoint to admin APIJoseph Weston2019-03-011-0/+23
| | | | | | | | | | This is required because the 'Server' HTTP header is not always passed through proxies.
* | Add rate-limiting on registration (#4735)Brendan Abolivier2019-03-051-4/+29
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rate-limiting for registration * Add unit test for registration rate limiting * Add config parameters for rate limiting on auth endpoints * Doc * Fix doc of rate limiting function Co-Authored-By: babolivier <contact@brendanabolivier.com> * Incorporate review * Fix config parsing * Fix linting errors * Set default config for auth rate limiting * Fix tests * Add changelog * Advance reactor instead of mocked clock * Move parameters to registration specific config and give them more sensible default values * Remove unused config options * Don't mock the rate limiter un MAU tests * Rename _register_with_store into register_with_store * Make CI happy * Remove unused import * Update sample config * Fix ratelimiting test for py2 * Add non-guest test
* Fix parsing of Content-Disposition headers (#4763)Richard van der Hoff2019-02-271-20/+65
| | | | | | | | | | | * Fix parsing of Content-Disposition headers TIL: filenames in content-dispostion headers can contain semicolons, and aren't %-encoded. * fix python2 incompatibility * Fix docstrings
* Don't log stack trace when client has gone away during media download (#4738)Erik Johnston2019-02-251-2/+9
| | | | | | | | * Don't log stack trace when client has gone away during media download * Newsfile * Fixup newsfile
* switch from google.com to recaptcha.net for reCAPTCHA (#4731)Matthew Hodgson2019-02-251-1/+1
| | | | | | | | * add trivial clarification about jemalloc * switch from google.com to recaptcha.net because https://developers.google.com/recaptcha/docs/faq#can-i-use-recaptcha-globally
* Fix registration on workers (#4682)Erik Johnston2019-02-204-138/+15
| | | | | | | | | | * Move RegistrationHandler init to HomeServer * Move post registration actions to RegistrationHandler * Add post regisration replication endpoint * Newsfile
* Merge pull request #4666 from matrix-org/erikj/register_login_splitErik Johnston2019-02-182-69/+28
|\ | | | | Split out registration to worker
| * Move register_device into handlerErik Johnston2019-02-182-84/+24
| |
| * Update docsErik Johnston2019-02-181-1/+1
| |
| * Split out registration to workerErik Johnston2019-02-181-27/+46
| | | | | | | | | | | | | | | | This allows registration to be handled by a worker, though the actual write to the database still happens on master. Note: due to the in-memory session map all registration requests must be handled by the same worker.
* | FixupErik Johnston2019-02-181-0/+1
| |
* | fix missig importMatthew Hodgson2019-02-181-0/+1
| |
* | tabsMatthew Hodgson2019-02-141-1/+1
| |
* | set CORS on .well-known URI to unbreak modularMatthew Hodgson2019-02-141-0/+1
|/ | | | | otherwise a riot/web running on foo.riot.im can't query the .well-known on foo.modular.im...
* Merge pull request #4580 from matrix-org/uhoreg/e2e_backup_add_updatingErik Johnston2019-02-111-0/+34
|\ | | | | add updating of backup versions
| * make sure version is in body and wrap in linearizer queueHubert Chathi2019-02-081-1/+2
| | | | | | | | also add tests
| * add new endpoint to update backup versionsHubert Chathi2019-02-061-0/+33
| |
* | Allow "unavailable" presence status for /sync (#4592)Valentin Anger2019-02-082-1/+2
|/ | | | | | | | | | * Allow "unavailable" presence status for /sync Closes #3772, closes #3779 Signed-off-by: Valentin Anger <valentin.an.1999@gmail.com> * Add changelog for PR 4592
* Merge branch 'neilj/room_capabilities' of github.com:matrix-org/synapse into ↵Neil Johnson2019-01-302-14/+5
|\ | | | | | | neilj/room_capabilities
| * Merge branch 'develop' into neilj/room_capabilitiesNeil Johnson2019-01-302-14/+5
| |\
| | * Check consent dir path on startupAndrew Morgan2019-01-291-10/+1
| | |
| | * Merge branch 'develop' of github.com:matrix-org/synapse into ↵Andrew Morgan2019-01-251-13/+10
| | |\ | | | | | | | | | | | | anoa/dm_room_upgrade
| | * | Fix typosAndrew Morgan2019-01-221-4/+4
| | | |
* | | | isortNeil Johnson2019-01-301-2/+1
|/ / /
* | | formatting and use constants where availableNeil Johnson2019-01-301-19/+17
| | |
* | | Populate default room version from ConstantsNeil Johnson2019-01-301-1/+2
| | |
* | | reflect that rooms v3 is a stable room versionNeil Johnson2019-01-301-0/+1
| | |
* | | rework format of change password capabilityNeil Johnson2019-01-291-1/+3
| | |
* | | support change_password in capabilities end-pointNeil Johnson2019-01-291-2/+12
| | |
* | | enforce auth for capabilities endpointNeil Johnson2019-01-291-10/+17
| | |
* | | register capabilities servletNeil Johnson2019-01-291-0/+2
| | |
* | | backout v3Neil Johnson2019-01-251-1/+0
| | |
* | | Support room version capabilities in CS API (MSC1804)Neil Johnson2019-01-251-0/+49
| |/ |/|
* | move guard out of is_threepid_reserved and into register.pyNeil Johnson2019-01-221-4/+5
| |
* | Fix None guard in config.server.is_threepid_reservedNeil Johnson2019-01-221-1/+3
| |
* | Config option to disable requesting MSISDN on registrationNeil Johnson2019-01-211-11/+5
|/
* Refactor request sending to have better excpetions (#4358)Erik Johnston2019-01-081-3/+4
| | | | | | | | | | | | | | * Correctly retry and back off if we get a HTTPerror response * Refactor request sending to have better excpetions MatrixFederationHttpClient blindly reraised exceptions to the caller without differentiating "expected" failures (e.g. connection timeouts etc) versus more severe problems (e.g. programming errors). This commit adds a RequestSendFailed exception that is raised when "expected" failures happen, allowing the TransactionQueue to log them as warnings while allowing us to log other exceptions as actual exceptions.
* Add GET account data routes (#4303)Travis Ralston2019-01-071-1/+33
| | | | As per https://github.com/matrix-org/matrix-doc/issues/1339
* Remove v1 only REST APIs now we don't ship matrix console (#4334)Amber Brown2018-12-294-445/+0
|
* Return well_known in /login response (#4319)Richard van der Hoff2018-12-241-7/+11
| | | | ... as per MSC1730.
* Fix IP URL previews on Python 3 (#4215)Amber Brown2018-12-221-2/+12
|
* create support user (#4141)Neil Johnson2018-12-141-1/+10
| | | | | | Allow for the creation of a support user. A support user can access the server, join rooms, interact with other users, but does not appear in the user directory nor does it contribute to monthly active user limits.
* Add 'sandbox' to CSP for media repo (#4284)David Baker2018-12-111-1/+2
| | | | | | * Add 'sandbox' to the CSP for media repo * Changelog
* Move imports to one lineWill Hunt2018-12-101-4/+1
|
* Use `send_cors`Will Hunt2018-12-101-4/+1
|
* changelog & isortWill Hunt2018-12-091-1/+5
|
* Make /config more CORS-yWill Hunt2018-12-091-1/+3
|
* Initialise user displayname from SAML2 data (#4272)Richard van der Hoff2018-12-072-0/+8
| | | | | When we register a new user from SAML2 data, initialise their displayname correctly.
* Implement SAML2 authentication (#4267)Richard van der Hoff2018-12-073-0/+136
| | | | | | | | | | | This implements both a SAML2 metadata endpoint (at `/_matrix/saml2/metadata.xml`), and a SAML2 response receiver (at `/_matrix/saml2/authn_response`). If the SAML2 response matches what's been configured, we complete the SSO login flow by redirecting to the client url (aka `RelayState` in SAML2 jargon) with a login token. What we don't yet have is anything to build a SAML2 request and redirect the user to the identity provider. That is left as an exercise for the reader.
* Factor SSO success handling out of CAS login (#4264)Richard van der Hoff2018-12-071-29/+76
| | | | This is mostly factoring out the post-CAS-login code to somewhere we can reuse it for other SSO flows, but it also fixes the userid mapping while we're at it.
* Rip out half-implemented m.login.saml2 support (#4265)Richard van der Hoff2018-12-061-67/+2
| | | | | | | | | | | | | * Rip out half-implemented m.login.saml2 support This was implemented in an odd way that left most of the work to the client, in a way that I really didn't understand. It's going to be a pain to maintain, so let's start by ripping it out. * drop undocumented dependency on dateutil It turns out we were relying on dateutil being pulled in transitively by pysaml2. There's no need for that bloat.
* Implement .well-known handling (#4262)Richard van der Hoff2018-12-051-0/+70
| | | | Sometimes it's useful for synapse to generate its own .well-known file.
* Fix non-ASCII pushrules (#4248)Amber Brown2018-12-041-12/+23
|
* fix type errorAmber Brown2018-12-031-1/+1
|
* Neilj/fix autojoin (#4223)Neil Johnson2018-11-282-0/+3
| | | | | | * Fix auto join failures for servers that require user consent * Fix auto join failures for servers that require user consent
* Support m.login.sso (#4220)Richard van der Hoff2018-11-271-4/+9
| | | | | | | | | | | | | | | | | * Clean up the CSS for the fallback login form I was finding this hard to work with, so simplify a bunch of things. Each flow is now a form inside a div of class login_flow. The login_flow class now has a fixed width, as that looks much better than each flow having a differnt width. * Support m.login.sso MSC1721 renames m.login.cas to m.login.sso. This implements the change (retaining support for m.login.cas for older clients). * changelog
* Fix fallback auth on Python 3 (#4197)Amber Brown2018-11-191-22/+16
|
* Remove duplicate slashes in generated consent URLsTravis Ralston2018-11-151-2/+2
|
* Fix Content-Disposition in media repository (#4176)Amber Brown2018-11-153-90/+110
|
* Use <meta> tags to discover the per-page encoding of html previews (#4183)Amber Brown2018-11-151-9/+22
|
* Add a test for the public T&Cs formRichard van der Hoff2018-11-141-1/+1
|
* Fix an internal server error when viewing the public privacy policyRichard van der Hoff2018-11-141-4/+7
|
* Fix encoding error for consent form on python3hera2018-11-081-1/+3
| | | | | | The form was rendering this as "b'01234....'". -- richvdh
* Fix URL preview bugs (type error when loading cache from db, content-type ↵Amber Brown2018-11-081-6/+16
| | | | including quotes) (#4157)
* Add config variables for enabling terms auth and the policy name (#4142)Travis Ralston2018-11-062-2/+2
| | | | So people can still collect consent the old way if they want to.
* handle empty backups according to latest spec proposal (#4123)Hubert Chathi2018-11-051-3/+18
| | | fixes #4056
* Tests for user consent resource (#4140)Amber Brown2018-11-061-1/+1
|
* Fix logic error that prevented guests from seeing the privacy policyTravis Ralston2018-11-011-1/+1
|
* Include a version query string arg for the consent routeTravis Ralston2018-10-311-2/+4
|
* Merge branch 'develop' into travis/login-termsTravis Ralston2018-10-317-177/+93
|\
| * Remove deprecated v1 key exchange endpoint (#4119)Amber Brown2018-10-312-106/+0
| |
| * Delete the disused & unspecced identicon functionality (#4106)Amber Brown2018-10-292-70/+0
| |
| * Address review commentsRichard van der Hoff2018-10-261-5/+16
| | | | | | | | Improve comments, get old room state from the context we already have
| * Basic initial support for room upgradesRichard van der Hoff2018-10-252-0/+80
| | | | | | | | | | Currently just creates a new, empty, room, and sends a tombstone in the old room.
| * Refactor state group lookup to reduce DB hits (#4011)Erik Johnston2018-10-251-1/+2
| | | | | | | | | | | | | | | | Currently when fetching state groups from the data store we make two hits two the database: once for members and once for non-members (unless request is filtered to one or the other). This adds needless load to the datbase, so this PR refactors the lookup to make only a single database hit.
* | Merge branch 'develop' into travis/login-termsTravis Ralston2018-10-246-49/+30
|\|
| * Fix a number of flake8 errorsRichard van der Hoff2018-10-242-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Broadly three things here: * disable W504 which seems a bit whacko * remove a bunch of `as e` expressions from exception handlers that don't use them * use `r""` for strings which include backslashes Also, we don't use pep8 any more, so we can get rid of the duplicate config there.
| * Merge pull request #4063 from matrix-org/erikj/cleaup_alias_creationErik Johnston2018-10-241-32/+5
| |\ | | | | | | Clean up room alias creation
| | * Clean up room alias creationErik Johnston2018-10-191-32/+5
| | |
| * | Correctly account for cpu usage by background threads (#4074)Richard van der Hoff2018-10-233-15/+23
| |/ | | | | | | | | | | | | | | | | | | Wrap calls to deferToThread() in a thing which uses a child logcontext to attribute CPU usage to the right request. While we're in the area, remove the logcontext_tracer stuff, which is never used, and afaik doesn't work. Fixes #4064
* | Merge branch 'develop' into travis/login-termsTravis Ralston2018-10-181-2/+5
|\|
| * Fix bug where we raised StopIteration in a generatorErik Johnston2018-10-171-2/+5
| | | | | | | | This made python 3.7 unhappy
* | pep8Travis Ralston2018-10-152-13/+2
| |
* | Merge branch 'develop' into travis/login-termsTravis Ralston2018-10-152-0/+374
|\|
| * missed oneDavid Baker2018-10-121-0/+1
| |
| * Don't mangle exceptionsDavid Baker2018-10-121-4/+2
| |
| * Split /room_keys/version into 2 servletsDavid Baker2018-10-121-9/+21
| |
| * PR feedback pt. 1David Baker2018-10-121-1/+1
| |
| * isortDavid Baker2018-10-091-1/+1
| |
| * Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backupsDavid Baker2018-10-0921-123/+197
| |\
| * | WIP e2e key backupsDavid Baker2018-09-131-4/+10
| | | | | | | | | | | | | | | | | | | | | Continues from uhoreg's branch This just fixed the errcode on /room_keys/version if no backup and updates the schema delta to be on the latest so it gets run
| * | try to make flake8 and isort happyHubert Chathi2018-09-061-1/+4
| | |
| * | Merge branch 'develop' into e2e_backupsHubert Chathi2018-08-2413-79/+143
| |\ \
| * | | missing importMatthew Hodgson2018-08-121-1/+1
| | | |
| * | | use parse_stringMatthew Hodgson2018-08-121-3/+3
| | | |
| * | | support DELETE /version with no argsMatthew Hodgson2018-08-121-2/+3
| | | |
| * | | implement remaining tests and make them workMatthew Hodgson2018-08-121-0/+6
| | | |
| * | | improve docstringMatthew Hodgson2018-08-121-1/+5
| | | |
| * | | add a tonne of docstring; make upload_room_keys properly assert versionMatthew Hodgson2018-08-121-1/+10
| | | |
| * | | more docstring for the e2e_room_keys restMatthew Hodgson2018-08-121-0/+51
| | | |
| * | | blindly incorporate PR review - needs testing & fixingMatthew Hodgson2018-08-121-0/+2
| | | |
| * | | make /room_keys/version workMatthew Hodgson2018-08-121-1/+8
| | | |
| * | | implement /room_keys/version too (untested)Matthew Hodgson2018-08-121-0/+47
| | | |
| * | | document the APIMatthew Hodgson2018-08-121-0/+133
| | | |
| * | | make it work and fix pep8Matthew Hodgson2018-08-122-13/+22
| | | |
| * | | interim WIP checkin; doesn't build yetMatthew Hodgson2018-08-121-4/+33
| | | |
| * | | total WIP skeleton for /room_keys APIMatthew Hodgson2018-08-121-0/+56
| | | |
* | | | Rely on the lack of ?u to represent public accessTravis Ralston2018-10-122-10/+6
| | | | | | | | | | | | also general cleanup
* | | | Use a flag rather than a new route for the public policyTravis Ralston2018-10-032-16/+24
| | | | | | | | | | | | This also means that the template now has optional parameters, which will need to be documented somehow.
* | | | Auto-consent to the privacy policy if the user registered with termsTravis Ralston2018-10-031-0/+6
| | | |
* | | | Make the terms flow requriedTravis Ralston2018-10-031-4/+4
| | | |
* | | | Flesh out the fallback auth for termsTravis Ralston2018-10-031-7/+67
| | | |
* | | | Incorporate Dave's work for GDPR login flowsTravis Ralston2018-10-032-0/+35
| |_|/ |/| | | | | As per https://github.com/vector-im/riot-web/issues/7168#issuecomment-419996117
* | | Merge pull request #3932 from matrix-org/erikj/auto_start_expiring_cachesRichard van der Hoff2018-09-251-1/+0
|\ \ \ | | | | | | | | Fix some instances of ExpiringCache not expiring cache items
| * | | Fix some instances of ExpiringCache not expiring cache itemsErik Johnston2018-09-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ExpiringCache required that `start()` be called before it would actually start expiring entries. A number of places didn't do that. This PR removes `start` from ExpiringCache, and automatically starts backround reaping process on creation instead.
* | | | added "media-src: 'self'" to CSP for resources (#3578)Jérémy Farnaud2018-09-251-0/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse doesn’t allow for media resources to be played directly from Chrome. It is a problem for users on other networks (e.g. IRC) communicating with Matrix users through a gateway. The gateway sends them the raw URL for the resource when a Matrix user uploads a video and the video cannot be played directly in Chrome using that URL. Chrome argues it is not authorized to play the video because of the Content Security Policy. Chrome checks for the "media-src" policy which is missing, and defauts to the "default-src" policy which is "none". As Synapse already sends "object-src: 'self'" I thought it wouldn’t be a problem to add "media-src: 'self'" to the CSP to fix this problem.
* | | Merge pull request #3835 from krombel/fix_3821Amber Brown2018-09-121-1/+5
|\ \ \ | | | | | | | | fix VOIP crashes under Python 3
| * | | fix VOIP crashes under Python 3 (#3821)Krombel2018-09-101-1/+5
| | | |
* | | | Port rest/ to Python 3 (#3823)Amber Brown2018-09-1217-100/+112
|/ / /
* | | Merge pull request #3790 from matrix-org/rav/respect_event_format_in_filterRichard van der Hoff2018-09-051-13/+38
|\ \ \ | | | | | | | | Implement 'event_format' filter param in /sync
| * | | Implement 'event_format' filter param in /syncRichard van der Hoff2018-09-041-13/+38
| | | | | | | | | | | | | | | | | | | | This has been specced and part-implemented; let's implement it for /sync (but no other endpoints yet :/).
* | | | improve human readable error messageNeil Johnson2018-09-041-1/+2
| | | |