summary refs log tree commit diff
path: root/synapse/rest/client (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'd2f0ec12d' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-2311-87/+207
|\
| * Add type hints to groups code. (#9393)Patrick Cloke2021-02-171-23/+120
| |
| * Update black, and run auto formatting over the codebase (#9381)Eric Eastwood2021-02-1610-63/+86
| | | | | | | | | | | | | | - Update black version to the latest - Run black auto formatting over the codebase - Run autoformatting according to [`docs/code_style.md `](https://github.com/matrix-org/synapse/blob/80d6dc9783aa80886a133756028984dbf8920168/docs/code_style.md) - Update `code_style.md` docs around installing black to use the correct version
| * Fix some typos.Patrick Cloke2021-02-121-1/+1
| |
* | Merge commit '3f58fc848' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-223-61/+122
|\|
| * Type hints and validation improvements. (#9321)Patrick Cloke2021-02-082-60/+121
| | | | | | | | | | * Adds type hints to the groups servlet and stringutils code. * Assert the maximum length of some input values for spec compliance.
| * Merge pull request #9150 from Yoric/develop-contextDavid Teller2021-02-081-1/+1
| |\ | | | | | | New API /_synapse/admin/rooms/{roomId}/context/{eventId}
| | * FIXUP: Making get_event_context a bit more paranoidDavid Teller2021-01-281-1/+1
| | |
* | | Merge commit 'e19396d62' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-223-2/+18
|\| |
| * | Merge branch 'social_login' into developRichard van der Hoff2021-01-281-0/+2
| |\ \
| | * | Add 'brand' field to MSC2858 response (#9242)Richard van der Hoff2021-01-271-0/+2
| | |/ | | | | | | | | | | | | | | | We've decided to add a 'brand' field to help clients decide how to style the buttons. Also, fix up the allowed characters for idp_id, while I'm in the area.
| * / Ratelimit 3PID /requestToken API (#9238)Erik Johnston2021-01-282-2/+16
| |/
* | Merge commit '2e537a028' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-221-6/+49
|\|
| * Implement MSC2858 support (#9183)Richard van der Hoff2021-01-271-6/+49
| | | | | | Fixes #8928.
* | Merge commit '0cd2938bc' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-221-2/+1
|\|
| * Support icons for Identity Providers (#9154)Richard van der Hoff2021-01-201-2/+1
| |
* | Merge commit '72822e60b' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-221-2/+17
|\|
| * Validate the server name for the /publicRooms endpoint. (#9161)Patrick Cloke2021-01-191-2/+17
| | | | | | | | If a remote server name is provided, ensure it is something reasonable before making remote connections to it.
* | Merge commit '73b03722f' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-222-21/+7
|\|
| * Allow moving account data and receipts streams off master (#9104)Erik Johnston2021-01-182-26/+7
| |
* | Merge commit '98a64b7f7' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-225-81/+33
|\|
| * Remove user's avatar URL and displayname when deactivated. (#8932)Dirk Klimpel2021-01-121-2/+5
| | | | | | This only applies if the user's data is to be erased.
| * UI Auth via SSO: redirect the user to an appropriate SSO. (#9081)Richard van der Hoff2021-01-123-42/+22
| | | | | | | | | | | | | | If we have integrations with multiple identity providers, when the user does a UI Auth, we need to redirect them to the right one. There are a few steps to this. First of all we actually need to store the userid of the user we are trying to validate in the UIA session, since the /auth/sso/fallback/web request is unauthenticated. Then, once we get the /auth/sso/fallback/web request, we can fish the user id out of the session, and use it to look up the external id mappings, and hence pick an SSO provider for them.
| * Kill off `HomeServer.get_ip_from_request()` (#9080)Richard van der Hoff2021-01-125-39/+10
| | | | | | Homeserver.get_ip_from_request() used to be a bit more complicated, but now it is totally redundant. Let's get rid of it.
* | Merge commit 'a03d71dc9' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-211-2/+2
|\|
| * Add some tests for the IDP picker flowRichard van der Hoff2021-01-071-2/+2
| |
* | Merge commit '0312266ee' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-212-89/+34
|\|
| * Combine the SSO Redirect Servlets (#9015)Richard van der Hoff2021-01-042-89/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implement CasHandler.handle_redirect_request ... to make it match OidcHandler and SamlHandler * Clean up interface for OidcHandler.handle_redirect_request Make it accept `client_redirect_url=None`. * Clean up interface for `SamlHandler.handle_redirect_request` ... bring it into line with CAS and OIDC by making it take a Request parameter, move the magic for `client_redirect_url` for UIA into the handler, and fix the return type to be a `str` rather than a `bytes`. * Define a common protocol for SSO auth provider impls * Give SsoIdentityProvider an ID and register them * Combine the SSO Redirect servlets Now that the SsoHandler knows about the identity providers, we can combine the various *RedirectServlets into a single implementation which delegates to the right IdP. * changelog
* | Merge commit '1c9a85056' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-211-3/+45
|\|
| * Check if group IDs are valid before using them. (#8977)Patrick Cloke2020-12-301-3/+45
| |
* | Merge commit '9999eb2d0' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-212-8/+12
|\|
| * Validate input parameters for the sendToDevice API. (#8975)Patrick Cloke2020-12-291-1/+2
| | | | | | | | This makes the "messages" key in the content required. This is currently optional in the spec, but that seems to be an error.
| * Allow redacting events on workers (#8994)Patrick Cloke2020-12-291-7/+10
| | | | | | Adds the redacts endpoint to workers that have the client listener.
* | Merge commit '28877fade' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-211-3/+7
|\|
| * Allow re-using a UI auth validation for a period of time (#8970)Patrick Cloke2020-12-181-3/+7
| |
* | Merge commit 'a7a913918' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-201-3/+11
|\|
| * Merge remote-tracking branch 'origin/erikj/as_mau_block' into developErik Johnston2020-12-181-3/+11
| |\
| | * Correctly handle AS registerations and add testErik Johnston2020-12-171-3/+11
| | |
* | | Merge commit 'bd30cfe86' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-161-14/+1
|\| |
| * | Convert internal pusher dicts to attrs classes. (#8940)Patrick Cloke2020-12-161-14/+1
| | | | | | | | | This improves type hinting and should use less memory.
* | | Merge commit 'f14428b25' into anoa/dinsic_release_1_31_0Andrew Morgan2021-04-161-6/+19
|\| |
| * | Honour AS ratelimit settings for /login requests (#8920)Erik Johnston2020-12-111-6/+19
| | | | | | | | | | | | Fixes #8846.
* | | Merge commit 'cf7d3c90d' into dinsicAndrew Morgan2021-04-161-1/+1
|\| |
| * | Fix errorcode for disabled registration (#8867)Richard van der Hoff2020-12-031-1/+1
| |/ | | | | | | The spec says we should return `M_FORBIDDEN` when someone tries to register and registration is disabled.
* | Remove extraneous print (#94)Andrew Morgan2021-03-191-1/+0
| |
* | Add knocking support (#81)Andrew Morgan2021-02-093-15/+179
| | | | | | | | | | | | | | | | | | Implement knocking as defined by https://github.com/matrix-org/matrix-doc/pull/2403 This is the base knocking stuff, taken from https://github.com/matrix-org/synapse/pull/6739 and does not include any public room directory changes. While knocking hasn't merged yet on mainline due to waiting on getting Complement into Synapse's CI, the code has been well-tested.
* | Merge commit 'd3ed93504' into anoa/dinsic_release_1_23_1Andrew Morgan2020-12-311-105/+2
|\|
| * Support "identifier" dicts in UIA (#8848)Richard van der Hoff2020-12-011-105/+2
| | | | | | | | | | | | | | | | | | | | The spec requires synapse to support `identifier` dicts for `m.login.password` user-interactive auth, which it did not (instead, it required an undocumented `user` parameter.) To fix this properly, we need to pull the code that interprets `identifier` into `AuthHandler.validate_login` so that it can be called from the UIA code. Fixes #5665.
* | Merge commit '09ac0569f' into anoa/dinsic_release_1_23_1Andrew Morgan2020-12-313-11/+26
|\|
| * Simplify appservice login code (#8847)Richard van der Hoff2020-11-301-6/+21
| | | | | | we don't need to support legacy login dictionaries here.
| * Simplify the way the `HomeServer` object caches its internal attributes. ↵Jonathan de Jong2020-11-302-5/+5
| | | | | | | | | | (#8565) Changes `@cache_in_self` to use underscore-prefixed attributes.
| * Use TYPE_CHECKING instead of magic MYPY variable. (#8770)Patrick Cloke2020-11-171-3/+2
| |
| * Add admin API for logging in as a user (#8617)Erik Johnston2020-11-171-0/+1
| |
* | Merged commit 'deff8f628' into anoa/dinsic_release_1_23_1Andrew Morgan2020-12-313-3/+4
| |
* | Merge commit '4a54b821b' into anoa/dinsic_release_1_23_1Andrew Morgan2020-12-312-0/+22
|\|
| * Add metrics for tracking 3PID /requestToken requests. (#8712)Erik Johnston2020-11-132-0/+22
| | | | | | | | | | | | The main use case is to see how many requests are being made, and how many are second/third/etc attempts. If there are large number of retries then that likely indicates a delivery problem.
* | Merge commit '054a6b953' into anoa/dinsic_release_1_23_1Andrew Morgan2020-12-3110-54/+0
|\|
| * Remove unused OPTIONS handlers. (#8621)Patrick Cloke2020-10-2212-62/+0
| | | | | | | | The handling of OPTIONS requests was consolidated in #7534, but the endpoint specific handlers were not removed.
* | Merge commit 'de5cafe98' into dinsicAndrew Morgan2020-12-311-0/+2
|\|
| * Expose the experimental appservice login flow to clients. (#8504)Patrick Cloke2020-10-191-0/+2
| |
* | Merge commit '74976a8e4' into dinsicAndrew Morgan2020-12-319-50/+188
|\|
| * Add correct M_BAD_JSON error code to /profile/{userId}/displayname (#8517)Aaron Raimist2020-10-141-1/+3
| | | | | | Fixes #8029
| * Remove the deprecated Handlers object (#8494)Patrick Cloke2020-10-095-32/+26
| | | | | | All handlers now available via get_*_handler() methods on the HomeServer.
| * Add support for MSC2697: Dehydrated devices (#8380)Hubert Chathi2020-10-072-15/+156
| | | | | | | | This allows a user to store an offline device on the server and then restore it at a subsequent login.
| * Add support for MSC2732: olm fallback keys (#8312)Hubert Chathi2020-10-061-0/+1
| |
* | Allow users to click account renewal links multiple times without hitting an ↵Andrew Morgan2020-12-301-7/+23
| | | | | | | | 'Invalid Token' page (#74)
* | Fix users info for remote users (#71)Mathieu Velten2020-12-111-2/+1
| |
* | Merge commit '6a8fd03ac' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-212-112/+26
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6a8fd03ac': 1.21.0rc2 1.21.0rc2 Fix bug in remote thumbnail search (#8438) Fix DB query on startup for negative streams. (#8447) Convert additional templates to Jinja (#8444) Fix malformed log line in new federation "catch up" logic (#8442) Do not expose the experimental appservice login flow to clients. (#8440) update changelog fix a logging error in thumbnailer (#8435) changelog fixes fix version number
| * Convert additional templates to Jinja (#8444)Patrick Cloke2020-10-021-110/+26
| | | | | | This converts a few more of our inline HTML templates to Jinja. This is somewhat part of #7280 and should make it a bit easier to customize these in the future.
| * Do not expose the experimental appservice login flow to clients. (#8440)Patrick Cloke2020-10-011-2/+0
| |
* | Merge commit 'cc40a59b4' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-216-18/+34
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'cc40a59b4': 1.21.0 Add prometheus metrics to track federation delays (#8430) Make token serializing/deserializing async (#8427) Allow additional SSO properties to be passed to the client (#8413) changelog Add an improved "forward extremities" metric Rewrite BucketCollector Fix _exposition.py to stop stripping samples Drop support for ancient prometheus_client (#8426) Various clean ups to room stream tokens. (#8423) changelog Report state res metrics to Prometheus and log Move Measure calls into `resolve_events_with_store` Expose a `get_resource_usage` method in `Measure` Move `resolve_events_with_store` into StateResolutionHandler
| * Make token serializing/deserializing async (#8427)Erik Johnston2020-09-305-11/+19
| | | | | | The idea is that in future tokens will encode a mapping of instance to position. However, we don't want to include the full instance name in the string representation, so instead we'll have a mapping between instance name and an immutable integer ID in the DB that we can use instead. We'll then do the lookup when we serialize/deserialize the token (we could alternatively pass around an `Instance` type that includes both the name and ID, but that turns out to be a lot more invasive).
| * Allow additional SSO properties to be passed to the client (#8413)Patrick Cloke2020-09-301-7/+15
| |
* | Merge commit 'f43c66d23' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-211-7/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f43c66d23': Add support for running Complement against the local checkout (#8317) Filter out appservices from mau count (#8404) Only assert valid next_link params when provided (#8417) Add metrics to track success/otherwise of replication requests (#8406) Fix handling of connection timeouts in outgoing http requests (#8400) Changelog Don't check whether a 3pid is allowed to register during password reset Add checks for postgres sequence consistency (#8402) Create a mechanism for marking tests "logcontext clean" (#8399) Add `ui_auth_sessions_ips` table to `synapse_port_db` ignore list (#8410) A pair of tiny cleanups in the federation request code. (#8401) typo
| * Merge branch 'develop' of github.com:matrix-org/synapse into ↵Andrew Morgan2020-09-291-6/+9
| |\ | | | | | | | | | anoa/info-mainline-no-check-password-reset
| | * Only assert valid next_link params when provided (#8417)Andrew Morgan2020-09-291-6/+9
| | | | | | | | | | | | | | | | | | | | | Broken in https://github.com/matrix-org/synapse/pull/8275 and has yet to be put in a release. Fixes https://github.com/matrix-org/synapse/issues/8418. `next_link` is an optional parameter. However, we were checking whether the `next_link` param was valid, even if it wasn't provided. In that case, `next_link` was `None`, which would clearly not be a valid URL. This would prevent password reset and other operations if `next_link` was not provided, and the `next_link_domain_whitelist` config option was set.
| * | Don't check whether a 3pid is allowed to register during password resetAndrew Morgan2020-09-281-7/+0
| |/ | | | | | | | | This endpoint should only deal with emails that have already been approved, and are attached with user's account. There's no need to re-check them here.
* | Merge commit '4325be1a5' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-2138-131/+160
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '4325be1a5': Fix missing null character check on guest_access room state Fixed a bug with reactivating users with the admin API (#8362) Admin API for reported events (#8217) Fix wording of deprecation notice in changelog Deprecation warning for synapse admin api being accessible under /_matrix Create function to check for long names in devices (#8364) Add a comment re #1691 Fix a bad merge from release-v1.20.0. (#8354) Admin API for querying rooms where a user is a member (#8306) Catch-up after Federation Outage (bonus): Catch-up on Synapse Startup (#8322) Simplify super() calls to Python 3 syntax. (#8344) Allow appservice users to /login (#8320) Update test logging to be able to accept braces (#8335) Move lint dependencies to extras_require (#8330)
| * Merge tag 'v1.20.0rc5' into developPatrick Cloke2020-09-181-0/+19
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 1.20.0rc5 (2020-09-18) ============================== In addition to the below, Synapse 1.20.0rc5 also includes the bug fix that was included in 1.19.3. Features -------- - Add flags to the `/versions` endpoint for whether new rooms default to using E2EE. ([\#8343](https://github.com/matrix-org/synapse/issues/8343)) Bugfixes -------- - Fix rate limiting of federation `/send` requests. ([\#8342](https://github.com/matrix-org/synapse/issues/8342)) - Fix a longstanding bug where back pagination over federation could get stuck if it failed to handle a received event. ([\#8349](https://github.com/matrix-org/synapse/issues/8349)) Internal Changes ---------------- - Blacklist [MSC2753](https://github.com/matrix-org/matrix-doc/pull/2753) SyTests until it is implemented. ([\#8285](https://github.com/matrix-org/synapse/issues/8285))
| * | Simplify super() calls to Python 3 syntax. (#8344)Patrick Cloke2020-09-1838-121/+121
| | | | | | | | | | | | | | | | | | | | | This converts calls like super(Foo, self) -> super(). Generated with: sed -i "" -Ee 's/super\([^\(]+\)/super()/g' **/*.py
| * | Allow appservice users to /login (#8320)Will Hunt2020-09-181-10/+39
| | | | | | | | | | | | | | | Add ability for ASes to /login using the `uk.half-shot.msc2778.login.application_service` login `type`. Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* | | Merge commit '43f2b67e4' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-201-0/+19
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | * commit '43f2b67e4': Intelligently select extremities used in backfill. (#8349) Add flags to /versions about whether new rooms are encrypted by default. (#8343) Fix ratelimiting for federation `/send` requests. (#8342) blacklist MSC2753 sytests until it's implemented in synapse (#8285)
| * | Add flags to /versions about whether new rooms are encrypted by default. (#8343)Patrick Cloke2020-09-181-0/+19
| | |
* | | Merge commit '837293c31' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-202-6/+9
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '837293c31': Remove obsolete __future__ imports (#8337) Use admin_patterns for all admin APIs. (#8331) Fix a potential bug of UnboundLocalError (#8329) Switch metaclass initialization to python 3-compatible syntax (#8326) Catch-up after Federation Outage (split, 4): catch-up loop (#8272) Use slots in attrs classes where possible (#8296) Fix typos in comments. Add the topic and avatar to the room details admin API (#8305) Improve SAML error messages (#8248) Add experimental support for sharding event persister. Again. (#8294) Make `StreamToken.room_key` be a `RoomStreamToken` instance. (#8281) Use TLSv1.2 for fake servers in tests (#8208) Add /_synapse/client to the reverse proxy docs (#8227) Clean up `Notifier.on_new_room_event` code path (#8288)
| * | Fix a potential bug of UnboundLocalError (#8329)Jonathan de Jong2020-09-171-5/+8
| | | | | | | | | Replaced with less buggier control flow
| * | Fix typos in comments.Patrick Cloke2020-09-141-1/+1
| | |
* | | Merge commit 'a3a90ee03' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-201-76/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a3a90ee03': Show a confirmation page during user password reset (#8004) Do not error when thumbnailing invalid files (#8236) Remove some unused distributor signals (#8216) Fixup pusher pool notifications (#8287) Revert "Fixup pusher pool notifications" Fixup pusher pool notifications
| * | Show a confirmation page during user password reset (#8004)Andrew Morgan2020-09-101-76/+0
| | | | | | | | | | | | | | | This PR adds a confirmation step to resetting your user password between clicking the link in your email and your password actually being reset. This is to better align our password reset flow with the industry standard of requiring a confirmation from the user after email validation.
* | | Merge commit '453dfe210' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-202-58/+26
|\| | | | | | | | | | | | | | | | | * commit '453dfe210': blacklist MSC2753 sytests until it's implemented in synapse (#8285) Don't remember `enabled` of deleted push rules and properly return 404 for missing push rules in `.../actions` and `.../enabled` (#7796)
| * | Don't remember `enabled` of deleted push rules and properly return 404 for ↵reivilibre2020-09-091-2/+13
| | | | | | | | | | | | | | | | | | | | | missing push rules in `.../actions` and `.../enabled` (#7796) Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net> Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* | | Merge commit 'e45b83411' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-201-2/+39
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'e45b83411': Add types to async_helpers (#8260) Fix mypy error on develop (#8282) Include method in thumbnail media name (#7124) Add types to StreamToken and RoomStreamToken (#8279) Add a config option for validating 'next_link' parameters against a domain whitelist (#8275) Clean up types for PaginationConfig (#8250) Use the right constructor for log records (#8278) Fix `MultiWriterIdGenerator.current_position`. (#8257)
| * | Add a config option for validating 'next_link' parameters against a domain ↵Andrew Morgan2020-09-081-9/+57
| |/ | | | | | | | | | | | | | | | | | | | | whitelist (#8275) This is a config option ported over from DINUM's Sydent: https://github.com/matrix-org/sydent/pull/285 They've switched to validating 3PIDs via Synapse rather than Sydent, and would like to retain this functionality. This original purpose for this change is phishing prevention. This solution could also potentially be replaced by a similar one to https://github.com/matrix-org/synapse/pull/8004, but across all `*/submit_token` endpoint. This option may still be useful to enterprise even with that safeguard in place though, if they want to be absolutely sure that their employees don't follow links to other domains.
* | Merge commit '17fa4c7ca' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-202-2/+2
|\| | | | | | | | | | | | | | | * commit '17fa4c7ca': Catch up after Federation Outage (split, 2): Track last successful stream ordering after transmission (#8247) Catch-up after Federation Outage (split, 1) (#8230) Fix type signature in simple_select_one_onecol and friends (#8241) Stop sub-classing object (#8249)
| * Stop sub-classing object (#8249)Patrick Cloke2020-09-042-2/+2
| |
* | Merge commit '112266eaf' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-201-0/+1
|\| | | | | | | | | | | * commit '112266eaf': Add StreamStore to mypy (#8232) Re-implement unread counts (again) (#8059)
| * Re-implement unread counts (again) (#8059)Brendan Abolivier2020-09-021-0/+1
| |
* | Merge commit '0d4f614fd' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-202-0/+70
|\| | | | | | | | | | | | | | | | | * commit '0d4f614fd': Refactor `_get_e2e_device_keys_for_federation_query_txn` (#8225) Add experimental support for sharding event persister. (#8170) Add /user/{user_id}/shared_rooms/ api (#7785) Do not try to store invalid data in the stats table (#8226) Convert the main methods run by the reactor to async. (#8213)
| * Add /user/{user_id}/shared_rooms/ api (#7785)Will Hunt2020-09-022-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add shared_rooms api * Add changelog * Add . * Wrap response in {"rooms": } * linting * Add unstable_features key * Remove options from isort that aren't part of 5.x `-y` and `-rc` are now default behaviour and no longer exist. `dont-skip` is no longer required https://timothycrosley.github.io/isort/CHANGELOG/#500-penny-july-4-2020 * Update imports to make isort happy * Add changelog * Update tox.ini file with correct invocation * fix linting again for isort * Vendor prefix unstable API * Fix to match spec * import Codes * import Codes * Use FORBIDDEN * Update changelog.d/7785.feature Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> * Implement get_shared_rooms_for_users * a comma * trailing whitespace * Handle the easy feedback * Switch to using runInteraction * Add tests * Feedback * Seperate unstable endpoint from v2 * Add upgrade node * a line * Fix style by adding a blank line at EOF. * Update synapse/storage/databases/main/user_directory.py Co-authored-by: Tulir Asokan <tulir@maunium.net> * Update synapse/storage/databases/main/user_directory.py Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> * Update UPGRADE.rst Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> * Fix UPGRADE/CHANGELOG unstable paths unstable unstable unstable Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> Co-authored-by: Tulir Asokan <tulir@maunium.net> Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com> Co-authored-by: Tulir Asokan <tulir@maunium.net>
* | Merge commit '5c03134d0' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-201-54/+6
|\| | | | | | | | | | | | | * commit '5c03134d0': Convert additional database code to async/await. (#8195) Define StateMap as immutable and add a MutableStateMap type. (#8183) Move and refactor LoginRestServlet helper methods (#8182)
| * Move and refactor LoginRestServlet helper methods (#8182)Andrew Morgan2020-08-281-54/+6
| | | | | | | | | | | | | | This is split out from https://github.com/matrix-org/synapse/pull/7438, which had gotten rather large. `LoginRestServlet` has a couple helper methods, `login_submission_legacy_convert` and `login_id_thirdparty_from_phone`. They're primarily used for converting legacy user login submissions to "identifier" dicts ([see spec](https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-login)). Identifying information such as usernames or 3PID information used to be top-level in the login body. They're now supposed to be put inside an [identifier](https://matrix.org/docs/spec/client_server/r0.6.1#identifier-types) parameter instead. #7438's purpose is to allow using the new identifier parameter during User-Interactive Authentication, which is currently handled in AuthHandler. That's why I've moved these helper methods there. I also moved the refactoring of these method from #7438 as they're relevant.
* | Merge commit 'a466b6797' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-201-12/+15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a466b6797': Reduce run-times of tests by advancing the reactor less (#7757) Update debian systemd service to use Type=notify (#8169) Remove remaining is_guest argument uses from get_room_data calls (#8181) Do not propagate typing notifications from shadow-banned users. (#8176) Remove unused parameter from, and add safeguard in, get_room_data (#8174) Add required Debian dependencies to allow docker builds on the arm platform (#8144) Allow running mypy directly. (#8175) Update the test federation client to handle streaming responses (#8130) Do not propagate profile changes of shadow-banned users into rooms. (#8157) Make SlavedIdTracker.advance have same interface as MultiWriterIDGenerator (#8171) Convert simple_select_one and simple_select_one_onecol to async (#8162)
| * Do not propagate typing notifications from shadow-banned users. (#8176)Patrick Cloke2020-08-261-11/+15
| |
| * Remove unused parameter from, and add safeguard in, get_room_data (#8174)Andrew Morgan2020-08-261-1/+0
| | | | | | | | | | | | Small cleanup PR. * Removed the unused `is_guest` argument * Added a safeguard to a (currently) impossible code path, fixing static checking at the same time.
* | Merge commit '56efa9ec7' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-205-65/+126
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '56efa9ec7': (22 commits) Fix rate limiting unit tests. (#8167) Add functions to `MultiWriterIdGen` used by events stream (#8164) Do not allow send_nonmember_event to be called with shadow-banned users. (#8158) Changelog fixes Make StreamIdGen `get_next` and `get_next_mult` async (#8161) Wording fixes to 'name' user admin api filter (#8163) Fix missing double-backtick in RST document Search in columns 'name' and 'displayname' in the admin users endpoint (#7377) Add type hints for state. (#8140) Stop shadow-banned users from sending non-member events. (#8142) Allow capping a room's retention policy (#8104) Add healthcheck for default localhost 8008 port on /health endpoint. (#8147) Fix flaky shadow-ban tests. (#8152) Don't fail /submit_token requests on incorrect session ID if request_token_inhibit_3pid_errors is turned on (#7991) Do not apply ratelimiting on joins to appservices (#8139) Micro-optimisations to get_auth_chain_ids (#8132) Allow denying or shadow banning registrations via the spam checker (#8034) Stop shadow-banned users from sending invites. (#8095) Be more tolerant of membership events in unknown rooms (#8110) Improve the error code when trying to register using a name reserved for guests. (#8135) ...
| * Stop shadow-banned users from sending non-member events. (#8142)Patrick Cloke2020-08-243-40/+66
| |
| * Don't fail /submit_token requests on incorrect session ID if ↵Brendan Abolivier2020-08-242-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | request_token_inhibit_3pid_errors is turned on (#7991) * Don't raise session_id errors on submit_token if request_token_inhibit_3pid_errors is set * Changelog * Also wait some time before responding to /requestToken * Incorporate review * Update synapse/storage/databases/main/registration.py Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> * Incorporate review Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
| * Allow denying or shadow banning registrations via the spam checker (#8034)Patrick Cloke2020-08-201-0/+5
| |
| * Stop shadow-banned users from sending invites. (#8095)Patrick Cloke2020-08-201-27/+40
| |
* | Merge commit '731dfff34' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-201-0/+4
|\| | | | | | | | | * commit '731dfff34': Ensure a group ID is valid before trying to get rooms for it. (#8129)
| * Ensure a group ID is valid before trying to get rooms for it. (#8129)Patrick Cloke2020-08-201-0/+4
| |
* | Merge commit 'c9c544cda' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-194-18/+18
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'c9c544cda': Remove `ChainedIdGenerator`. (#8123) Switch the JSON byte producer from a pull to a push producer. (#8116) Updated docs: Added note about missing 308 redirect support. (#8120) Be stricter about JSON that is accepted by Synapse (#8106) Convert runWithConnection to async. (#8121) Remove the unused inlineCallbacks code-paths in the caching code (#8119) Separate `get_current_token` into two. (#8113) Convert events worker database to async/await. (#8071) Add a link to the matrix-synapse-rest-password-provider. (#8111)
| * Remove `ChainedIdGenerator`. (#8123)Erik Johnston2020-08-191-1/+1
| | | | | | | | | | It's just a thin wrapper around two ID gens to make `get_current_token` and `get_next` return tuples. This can easily be replaced by calling the appropriate methods on the underlying ID gens directly.
| * Be stricter about JSON that is accepted by Synapse (#8106)Patrick Cloke2020-08-192-7/+9
| |
* | Merge commit 'e04e465b4' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-193-61/+23
|\| | | | | | | | | | | | | | | | | | | * commit 'e04e465b4': Use the default templates when a custom template file cannot be found (#8037) Changelog changes Convert stream database to async/await. (#8074) Add a shadow-banned flag to users. (#8092) Convert pusher databases to async/await. (#8075) Convert receipts and events databases to async/await. (#8076)
| * Use the default templates when a custom template file cannot be found (#8037)Andrew Morgan2020-08-172-57/+18
| | | | | | Fixes https://github.com/matrix-org/synapse/issues/6583
| * Convert pusher databases to async/await. (#8075)Patrick Cloke2020-08-141-4/+5
| |
* | Merge commit 'db131b6b2' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-191-2/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'db131b6b2': Change the default log config to reduce disk I/O and storage (#8040) Implement login blocking based on SAML attributes (#8052) Add an assertion on prev_events in create_new_client_event (#8041) Typo Lint why mypy why Lint Incorporate review Incorporate review Fix PUT /pushrules to use the right rule IDs Back out the database hack and replace it with a temporary config setting Fix cache name Fix cache invalidation calls Lint Changelog Implement new experimental push rules with a database hack to enable them
| * Implement new experimental push rules (#7997)Brendan Abolivier2020-08-101-2/+9
| |\ | | | | | | With an undocumented configuration setting to enable them for specific users.
| | * Merge branch 'develop' of github.com:matrix-org/synapse into ↵Brendan Abolivier2020-08-061-1/+1
| | |\ | | | | | | | | | | | | babolivier/new_push_rules
| | * | Incorporate reviewBrendan Abolivier2020-08-061-2/+2
| | | |
| | * | Fix PUT /pushrules to use the right rule IDsBrendan Abolivier2020-08-031-2/+9
| | | |
* | | | Merge commit '4e874ed59' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-191-1/+1
|\| | | | | | | | | | | | | | | | | | | * commit '4e874ed59': Remove unnecessary maybeDeferred calls (#8044)
| * | | Remove unnecessary maybeDeferred calls (#8044)Patrick Cloke2020-08-071-1/+1
| | | |
* | | | Merge commit '2ffd6783c' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-191-1/+0
|\| | | | | | | | | | | | | | | | | | | * commit '2ffd6783c': Revert #7736 (#8039)
| * | | Revert #7736 (#8039)Brendan Abolivier2020-08-061-1/+0
| | | |
* | | | Merge commit 'd4a7829b1' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-192-2/+2
|\| | | | | | | | | | | | | | | | | | | * commit 'd4a7829b1': Convert synapse.api to async/await (#8031)
| * | | Convert synapse.api to async/await (#8031)Patrick Cloke2020-08-062-2/+2
| | | |
* | | | Merge commit '66f24449d' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-192-63/+132
|\| | | | | | | | | | | | | | | | | | | * commit '66f24449d': Improve performance of the register endpoint (#8009)
| * | | Improve performance of the register endpoint (#8009)Patrick Cloke2020-08-062-65/+129
| | |/ | |/|
* | | Merge commit 'b6c6fb795' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-161-1/+1
|\| | | | | | | | | | | | | | * commit 'b6c6fb795': Allow guests to operate in encrypted rooms (#7314)
| * | Allow guests to operate in encrypted rooms (#7314)Michael Albert2020-08-031-1/+1
| |/ | | | | Signed-off-by: Michael Albert <michael.albert@awesome-technologies.de>
* | Merge commit '3950ae51e' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-161-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '3950ae51e': Ensure that remove_pusher is always async (#7981) Ensure the msg property of HttpResponseException is a string. (#7979) Remove from the event_relations table when purging historical events. (#7978) Add additional logging for SAML sessions. (#7971) Add MSC reference to changelog for #7736 Re-implement unread counts (#7736) Various improvements to the docs (#7899) Convert storage layer to async/await. (#7963) Add an option to disable purge in delete room admin API (#7964) Move some log lines from default logger to sql/transaction loggers (#7952) Use the JSON module from the std library instead of simplejson. (#7936) Fix exit code for `check_line_terminators.sh` (#7970) Option to allow server admins to join complex rooms (#7902) Fix typo in metrics docs (#7966) Add script for finding files with unix line terminators (#7965) Convert the remaining media repo code to async / await. (#7947) Convert a synapse.events to async/await. (#7949) Convert groups and visibility code to async / await. (#7951) Convert push to async/await. (#7948)
| * Re-implement unread counts (#7736)Brendan Abolivier2020-07-291-0/+1
| |
* | Only assert valid next_link params when provided (#65)Andrew Morgan2020-09-291-6/+9
| | | | | | | | | | | | | | Bug introduced in https://github.com/matrix-org/synapse-dinsic/commit/ff91a451b We were checking whether the `nextLink` param was valid, even if it wasn't provided. In that case, `nextLink` was `None`, which would clearly not be a valid URL. This would prevent password reset and other operations if `nextLink` was not provided and the `next_link_domain_whitelist` config option was in use.
* | Add a config option for validating 'next_link' parameters against a domain ↵Andrew Morgan2020-09-091-10/+56
| | | | | | | | | | | | | | | | | | | | | | | | whitelist (#8275) This is a config option ported over from DINUM's Sydent: https://github.com/matrix-org/sydent/pull/285 They've switched to validating 3PIDs via Synapse rather than Sydent, and would like to retain this functionality. This original purpose for this change is phishing prevention. This solution could also potentially be replaced by a similar one to https://github.com/matrix-org/synapse/pull/8004, but across all `*/submit_token` endpoint. This option may still be useful to enterprise even with that safeguard in place though, if they want to be absolutely sure that their employees don't follow links to other domains.
* | Revert "Remove "user_id" from GET /presence. (#7606)"Brendan Abolivier2020-08-181-3/+1
| | | | | | | | This reverts commit a3fbc23c39c0366392fd51faf0b1696f1f1d21c7.
* | dinsic lintAndrew Morgan2020-08-031-1/+0
| | | | | | | | linting after the v1.18.0 mainline merge
* | Merge commit 'f88c48f3b' into anoa/dinsic_release_1_18_xAndrew Morgan2020-08-031-26/+21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f88c48f3b': 1.18.0rc1 Fix error reporting when using `opentracing.trace` (#7961) Fix typing replication not being handled on master (#7959) Remove hacky error handling for inlineDeferreds. (#7950) Convert tests/rest/admin/test_room.py to unix file endings (#7953) Support oEmbed for media previews. (#7920) Convert state resolution to async/await (#7942) Fix up types and comments that refer to Deferreds. (#7945) Do not convert async functions to Deferreds in the interactive_auth_handler (#7944) Convert more of the media code to async/await (#7873) Return an empty body for OPTIONS requests. (#7886) Downgrade warning on client disconnect to INFO (#7928) Convert presence handler helpers to async/await. (#7939) Update the auth providers to be async. (#7935) Put a cache on `/state_ids` (#7931)
| * Do not convert async functions to Deferreds in the interactive_auth_handler ↵Patrick Cloke2020-07-241-26/+21
| | | | | | | | (#7944)
* | Merge commit '923c99502' into anoa/dinsic_release_1_18_xAndrew Morgan2020-08-031-0/+6
|\| | | | | | | | | * commit '923c99502': Skip serializing /sync response if client has disconnected (#7927)
| * Skip serializing /sync response if client has disconnected (#7927)Richard van der Hoff2020-07-221-0/+6
| | | | | | ... it's a load of work which may be entirely redundant.
* | Merge commit 'b74919c72' into anoa/dinsic_release_1_18_xAndrew Morgan2020-08-031-0/+3
|\| | | | | | | | | * commit 'b74919c72': Add debugging to sync response generation (#7929)
| * Add debugging to sync response generation (#7929)Richard van der Hoff2020-07-221-0/+3
| |
* | Merge commit 'de119063f' into anoa/dinsic_release_1_18_xAndrew Morgan2020-08-032-1/+19
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'de119063f': (31 commits) Convert room list handler to async/await. (#7912) Element CSS and logo in email templates (#7919) Lint the contrib/ directory in CI and linting scripts, add synctl to linting script (#7914) Remove unused code from synapse.logging.utils. (#7897) Fix a typo in the sample config. (#7890) Fix deprecation warning: import ABC from collections.abc (#7892) Change sample config's postgres user to synapse_user (#7889) Fix deprecation warning due to invalid escape sequences (#7895) Remove Ubuntu Eoan that is now EOL (#7888) Fix the trace function for async functions. (#7872) Add help for creating a user via docker (#7885) Switch to Debian:Slim from Alpine for the docker image (#7839) Stop using 'device_max_stream_id' (#7882) Fix TypeError in synapse.notifier (#7880) Add a default limit (of 100) to get/sync operations. (#7858) Change "unknown room ver" logging to warning. (#7881) Convert device handler to async/await (#7871) Convert synapse.app to async/await. (#7868) Convert _base, profile, and _receipts handlers to async/await (#7860) Add admin endpoint to get members in a room. (#7842) ...
| * Add a default limit (of 100) to get/sync operations. (#7858)Patrick Cloke2020-07-171-1/+10
| |
| * Allow moving typing off master (#7869)Erik Johnston2020-07-161-0/+9
| |
* | Merge commit 'a973bcb8a' into anoa/dinsic_release_1_18_xAndrew Morgan2020-08-032-11/+10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a973bcb8a': Add some tiny type annotations (#7870) Remove obsolete comment. Ensure that calls to `json.dumps` are compatible with the standard library json. (#7836) Avoid brand new rooms in `delete_old_current_state_events` (#7854) Allow accounts to be re-activated from the admin APIs. (#7847) Fix tests Fix typo Newsfile Use get_users_in_room rather than state handler in typing for speed Fix client reader sharding tests (#7853) Convert E2E key and room key handlers to async/await. (#7851) Return the proper 403 Forbidden error during errors with JWT logins. (#7844) remove `retry_on_integrity_error` wrapper for persist_events (#7848)
| * Ensure that calls to `json.dumps` are compatible with the standard library ↵Patrick Cloke2020-07-151-6/+7
| | | | | | | | json. (#7836)
| * Return the proper 403 Forbidden error during errors with JWT logins. (#7844)Patrick Cloke2020-07-151-5/+3
| |
* | Merge commit '77d2c0541' into anoa/dinsic_release_1_18_xAndrew Morgan2020-08-031-6/+19
|\| | | | | | | | | * commit '77d2c0541': Add the option to validate the `iss` and `aud` claims for JWT logins. (#7827)
| * Add the option to validate the `iss` and `aud` claims for JWT logins. (#7827)Patrick Cloke2020-07-141-6/+19
| |
* | Merge commit '43726783e' into dinsicAndrew Morgan2020-08-033-26/+30
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '43726783e': (22 commits) 1.17.0rc1 Fix some spelling mistakes / typos. (#7811) `update_membership` declaration: now always returns an event id. (#7809) Improve stacktraces from exceptions in background processes (#7808) Fix `can only concatenate list (not "tuple") to list` exception (#7810) Pass original request headers from workers to the main process. (#7797) Generate real events when we reject invites (#7804) Add `HomeServer.signing_key` property (#7805) Revert "Update the installation docs on apt-transport-https (#7801)" Do not use simplejson in Synapse. (#7800) Stop passing bytes when dumping JSON (#7799) Update the installation docs on apt-transport-https (#7801) shuffle changelog slightly Change Caddy links (old is deprecated) (#7789) Stop populating unused table `local_invites`. (#7793) Refactor getting replication updates from database v2. (#7740) Add libwebp dependency to Dockerfile (#7791) Add documentation for JWT login type and improve sample config. (#7776) Convert the appservice handler to async/await. (#7775) Don't ignore `set_tweak` actions with no explicit `value`. (#7766) ...
| * `update_membership` declaration: now always returns an event id. (#7809)Richard van der Hoff2020-07-091-4/+2
| |
| * Stop passing bytes when dumping JSON (#7799)Patrick Cloke2020-07-081-1/+1
| |
| * Add documentation for JWT login type and improve sample config. (#7776)Patrick Cloke2020-07-061-21/+27
| |
* | Merge commit '5cdca53aa' into dinsicAndrew Morgan2020-08-033-18/+58
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '5cdca53aa': Merge different Resource implementation classes (#7732) Fix inconsistent handling of upper and lower cases of email addresses. (#7021) Allow YAML config file to contain None (#7779) Fix a typo. Move 1.15.2 after 1.16.0rc2. 1.16.0rc2 Remove an extraneous space. Add links to the fixes. Fix tense in the release notes. Hack to add push priority to push notifications (#7765) Add early returns to `_check_for_soft_fail` (#7769) Use symbolic names for replication stream names (#7768) Type checking for `FederationHandler` (#7770) Fix new metric where we used ms instead of seconds (#7771) Fix incorrect error message when database CTYPE was set incorrectly. (#7760) Pin link in CHANGES.md Fixes to CHANGES.md
| * Fix inconsistent handling of upper and lower cases of email addresses. (#7021)Dirk Klimpel2020-07-033-16/+58
| | | | | | fixes #7016
| * Merge branch 'master' into developPatrick Cloke2020-07-025-46/+19
| |\
* | \ Merge commit 'e8c36e527' into dinsicAndrew Morgan2020-08-035-46/+19
|\ \ \ | | |/ | |/| | | | | | | | | | | | | * commit 'e8c36e527': 1.15.2 Correctly handle outliers as prev events over federation Ensure that HTML pages served from Synapse include headers to avoid embedding.
| * | Ensure that HTML pages served from Synapse include headers to avoid embedding.Patrick Cloke2020-07-025-46/+19
| | |
* | | Merge commit 'dc80a0762' into dinsicAndrew Morgan2020-08-032-3/+6
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'dc80a0762': 1.16.0rc1 Back out MSC2625 implementation (#7761) Additional configuration options for auto-join rooms (#7763) Add some metrics for inbound and outbound federation processing times (#7755) Explain the purpose of the "tests" conditional dependency requirement (#7751) Add another yield point to state res v2 (#7746) Move flake8 to end. Don't exit script on failure (#7738) Make tox actions work on Debian 10 (#7703) Yield during large v2 state res. (#7735) add org.matrix.login.jwt so that m.login.jwt can be deprecated (#7675) Set Content-Length for Metrics requests (#7730) Sync ignored table names in synapse_port_db to current database schema (#7717) Allow local media to be marked as safe from being quarantined. (#7718) Convert directory handler to async/await (#7727) Speed up state res v2 across large state differences. (#7725)
| * | Back out MSC2625 implementation (#7761)Brendan Abolivier2020-07-011-2/+2
| | |
| * | add org.matrix.login.jwt so that m.login.jwt can be deprecated (#7675)Sorunome2020-06-241-1/+4
| | |
* | | Merge commit '46613aaf7' into dinsicAndrew Morgan2020-08-031-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '46613aaf7': (27 commits) Incorporate review Lint Incorporate review bits Pre-populate the unread_count column Don't update the schema version Use attr instead of a dict Lint Test that a mark_unread action updates the right counter when using a slave store Remove debug logging Test that a mark_unread action updates the right counter Fix summary rotation Log for invalid values of notif Fix SQL Fix schema update Lint Save the count of unread messages to event_push_summary Actually act on mark_unread Appease mypy Lint Use temporary prefixes as per the MSC ...
| * | Implement unread counter (MSC2625) (#7673)Brendan Abolivier2020-06-171-2/+2
| |\ \ | | | | | | | | Implementation of https://github.com/matrix-org/matrix-doc/pull/2625
| | * \ Merge branch 'develop' into babolivier/mark_unreadBrendan Abolivier2020-06-151-1/+3
| | |\ \
| | * | | Use temporary prefixes as per the MSCBrendan Abolivier2020-06-101-1/+1
| | | | |
| | * | | Rename dont_push into mark_unreadBrendan Abolivier2020-06-101-2/+2
| | | | |
* | | | | Merge commit 'a3f11567d' into dinsicAndrew Morgan2020-08-035-17/+10
|\| | | | | | | | | | | | | | | | | | | | | | | | * commit 'a3f11567d': Replace all remaining six usage with native Python 3 equivalents (#7704)
| * | | | Replace all remaining six usage with native Python 3 equivalents (#7704)Dagfinn Ilmari Mannsåker2020-06-165-22/+11
| | | | |
* | | | | Merge commit '03619324f' into dinsicAndrew Morgan2020-08-033-6/+16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '03619324f': Create a ListenerConfig object (#7681) Fix changelog wording 1.15.1 Wrap register_device coroutine in an ensureDeferred (#7684) Ensure the body is a string before comparing push rules. (#7701) Ensure etag is a string for GET room_keys/version response (#7691) Update m.id.phone to use 'phone' instead of 'number' (#7687) Fix "There was no active span when trying to log." error (#7698) Enable 3PID add/bind/unbind endpoints on r0 routes Discard RDATA from already seen positions. (#7648) Replace iteritems/itervalues/iterkeys with native versions. (#7692) Fix warnings about losing log context during UI auth. (#7688) Fix a typo when comparing the URI & method during UI Auth. (#7689) Remove "user_id" from GET /presence. (#7606) Increase the default SAML session expirary time to 15 minutes. (#7664) fix typo in sample_config.yaml (#7652) Take out a lock before modifying _CACHES (#7663) Add option to enable encryption by default for new rooms (#7639) Clean-up the fallback login code. (#7657)
| * | | | Merge branch 'master' into developBrendan Abolivier2020-06-161-3/+3
| |\ \ \ \ | | | |_|/ | | |/| |
| | * | | Enable 3PID add/bind/unbind endpoints on r0 routesBrendan Abolivier2020-06-151-3/+3
| | |/ /
| * | / Update m.id.phone to use 'phone' instead of 'number' (#7687)Andrew Morgan2020-06-151-2/+10
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | The spec [states](https://matrix.org/docs/spec/client_server/r0.6.1#phone-number) that `m.id.phone` requires the field `country` and `phone`. In Synapse, we've been enforcing `country` and `number`. I am not currently sure whether this affects any client implementations. This issue was introduced in #1994.
| * | Remove "user_id" from GET /presence. (#7606)Will Hunt2020-06-111-1/+3
| |/
* | Merge branch 'release-v1.15.0' of github.com:matrix-org/synapse into ↵Andrew Morgan2020-06-244-93/+38
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dinsic-release-v1.15.x * 'release-v1.15.0' of github.com:matrix-org/synapse: (55 commits) 1.15.0 Fix some attributions Update CHANGES.md 1.15.0rc1 Revert "1.15.0rc1" 1.15.0rc1 Fix bug in account data replication stream. (#7656) Convert the registration handler to async/await. (#7649) Accept device information at the login fallback endpoint. (#7629) Convert user directory handler and related classes to async/await. (#7640) Add an option to disable autojoin for guest accounts (#6637) Clarifications to the admin api documentation (#7647) Update to the stable SSO prefix for UI Auth. (#7630) Fix type information on `assert_*_is_admin` methods (#7645) Remove some unused constants. (#7644) Typo fixes. Allow new users to be registered via the admin API even if the monthly active user limit has been reached (#7263) Add device management to admin API (#7481) Attempt to fix PhoneHomeStatsTestCase.test_performance_100 being flaky. (#7634) Support CS API v0.6.0 (#6585) ...
| * Support CS API v0.6.0 (#6585)Andrew Morgan2020-06-051-15/+1
| |
| * Performance improvements and refactor of Ratelimiter (#7595)Andrew Morgan2020-06-052-59/+22
| | | | | | | | | | | | | | | | | | | | While working on https://github.com/matrix-org/synapse/issues/5665 I found myself digging into the `Ratelimiter` class and seeing that it was both: * Rather undocumented, and * causing a *lot* of config checks This PR attempts to refactor and comment the `Ratelimiter` class, as well as encourage config file accesses to only be done at instantiation. Best to be reviewed commit-by-commit.
| * Fix encryption algorithm typos in tests/comments (#7637)Andrew Morgan2020-06-041-4/+4
| | | | | | | | | | | | | | | | @uhoreg has confirmed these were both typos. They are only in comments and tests though, rather than anything critical. Introduced in: * https://github.com/matrix-org/synapse/pull/7157 * https://github.com/matrix-org/synapse/pull/5726
| * Advertise the token login type when OpenID Connect is enabled. (#7631)Patrick Cloke2020-06-041-8/+3
| |
| * Fix a bug in automatic user creation with m.login.jwt. (#7585)Olof Johansson2020-06-011-7/+8
| |
* | Prevent M_USER_IN_USE from being raised by registration methods until after ↵Andrew Morgan2020-06-221-33/+12
| | | | | | | | | | | | email has been verified (#48) * Just ignore the `username` parameter on registration as it's not used by DINUM * Have `/register/available` always return `true`
* | Add a bulk user info endpoint and deprecate the old one (#46)Andrew Morgan2020-06-191-36/+77
| | | | | | | | | | | | | | | | | | The current `/user/<user_id>/info` API was useful in that it could be used by any user to lookup whether another user was deactivate or expired. However, it was impractical as it only allowed for a single lookup at once. Clients trying to use this API were met with speed issues as they tried to query this information for all users in a room. This PR adds an equivalent CS and Federation API that takes a list of user IDs, and returning a mapping from user ID to info dictionary. Note that the federation in this PR was a bit trickier than in the original #12 as we can no longer use a federation query, as those don't allow for JSON bodies - which we require to pass a list of user IDs. Instead we do the whole thing of adding a method to transport/client and transport/server. This PR also adds unittests. The earlier PR used Sytest, presumably for testing across federation, but as this is Synapse-specific that felt a little gross. Unit tests for the deprecated endpoint have not been added.
* | Performance improvements to marking expired users as inactive (#47)Andrew Morgan2020-06-191-1/+1
| | | | | | This is a performance-related improvement to #13, which queried and hid active *and* already inactive users, one-by-one. This PR updates the code to query only **active**, expired users, all at once, and then mark them as inactive, all at once.
* | Merge branch 'release-v1.14.0' of github.com:matrix-org/synapse into ↵Andrew Morgan2020-06-107-29/+91
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dinsic-release-v1.14.x * 'release-v1.14.0' of github.com:matrix-org/synapse: (108 commits) Fix typo in PR link Update debian changelog 1.14.0 Improve changelog wording 1.14.0rc2 Fix sample config docs error (#7581) Fix up comments Fix specifying cache factors via env vars with * in name. (#7580) Don't apply cache factor to event cache. (#7578) Ensure ReplicationStreamer is always started when replication enabled. (#7579) Remove the changes to the debian changelog Not full release yet, this is rc1 Merge event persistence move changelog entries More changelog fix Changelog fixes 1.14.0 Replace device_27_unique_idx bg update with a fg one (#7562) Fix incorrect exception handling in KeyUploadServlet.on_POST (#7563) Fix recording of federation stream token (#7564) Simplify reap_monthly_active_users (#7558) ...
| * Add ability to wait for replication streams (#7542)Erik Johnston2020-05-222-9/+13
| | | | | | | | | | | | | | The idea here is that if an instance persists an event via the replication HTTP API it can return before we receive that event over replication, which can lead to races where code assumes that persisting an event immediately updates various caches (e.g. current state of the room). Most of Synapse doesn't hit such races, so we don't do the waiting automagically, instead we do so where necessary to avoid unnecessary delays. We may decide to change our minds here if it turns out there are a lot of subtle races going on. People probably want to look at this commit by commit.
| * Use a non-empty RelayState for user interactive auth with SAML. (#7552)Patrick Cloke2020-05-221-1/+4
| |
| * Hash passwords earlier in the password reset process (#7538)Patrick Cloke2020-05-202-5/+20
| | | | | | | | This now matches the logic of the registration process as modified in 56db0b1365965c02ff539193e26c333b7f70d101 / #7523.
| * Merge tag 'v1.13.0rc3' into developPatrick Cloke2020-05-181-9/+13
| |\ | | | | | | | | | | | | | | | | | | | | | Synapse 1.13.0rc3 (2020-05-18) Bugfixes: - Hash passwords as early as possible during registration. #7523
| * | Support UI Authentication for OpenID Connect accounts (#7457)Patrick Cloke2020-05-152-16/+34
| | |
| * | Allow expired accounts to logout (#7443)Andrew Morgan2020-05-141-3/+3
| | |
| * | Merge tag 'v1.13.0rc2' into developRichard van der Hoff2020-05-141-1/+0
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 1.13.0rc2 (2020-05-14) ============================== Bugfixes -------- - Fix a long-standing bug which could cause messages not to be sent over federation, when state events with state keys matching user IDs (such as custom user statuses) were received. ([\#7376](https://github.com/matrix-org/synapse/issues/7376)) - Restore compatibility with non-compliant clients during the user interactive authentication process, fixing a problem introduced in v1.13.0rc1. ([\#7483](https://github.com/matrix-org/synapse/issues/7483)) Internal Changes ---------------- - Fix linting errors in new version of Flake8. ([\#7470](https://github.com/matrix-org/synapse/issues/7470))
| * \ \ Merge branch 'release-v1.13.0' into developAndrew Morgan2020-05-111-0/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * release-v1.13.0: Don't UPGRADE database rows RST indenting Put rollback instructions in upgrade notes Fix changelog typo Oh yeah, RST Absolute URL it is then Fix upgrade notes link Provide summary of upgrade issues in changelog. Fix ) Move next version notes from changelog to upgrade notes Changelog fixes 1.13.0rc1 Documentation on setting up redis (#7446) Rework UI Auth session validation for registration (#7455) Fix errors from malformed log line (#7454) Drop support for redis.dbid (#7450)
| * | | | Implement OpenID Connect-based login (#7256)Quentin Gliech2020-05-081-3/+25
| | | | |
* | | | | Merge branch 'release-v1.13.0' of github.com:matrix-org/synapse into ↵Andrew Morgan2020-06-108-234/+201
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dinsic-release-v1.14.x * 'release-v1.13.0' of github.com:matrix-org/synapse: (257 commits) Update changelog based on feedback. Move warnings in the changelog and re-iterate changes to branches. 1.13.0 update dh-virtualenv (#7526) 1.13.0rc3 Hash passwords earlier in the registration process (#7523) 1.13.0rc2 1.13.0rc2 Stop `get_joined_users` corruption from custom statuses (#7376) Do not validate that the client dict is stable during UI Auth. (#7483) Fix new flake8 errors (#7489) Don't UPGRADE database rows RST indenting Put rollback instructions in upgrade notes Fix changelog typo Oh yeah, RST Absolute URL it is then Fix upgrade notes link Provide summary of upgrade issues in changelog. Fix ) Move next version notes from changelog to upgrade notes ...
| * | | | Hash passwords earlier in the registration process (#7523)Patrick Cloke2020-05-181-9/+13
| | |_|/ | |/| |
| * | | Do not validate that the client dict is stable during UI Auth. (#7483)Patrick Cloke2020-05-131-1/+0
| | |/ | |/| | | | | | | This backs out some of the validation for the client dictionary and logs if this changes during a user interactive authentication session instead.
| * | Rework UI Auth session validation for registration (#7455)Patrick Cloke2020-05-081-0/+1
| |/ | | | | | | Be less strict about validation of UI authentication sessions during registration to match client expecations.
| * Persist user interactive authentication sessions (#7302)Patrick Cloke2020-04-302-4/+4
| | | | | | | | | | By persisting the user interactive authentication sessions to the database, this fixes situations where a user hits different works throughout their auth session and also allows sessions to persist through restarts of Synapse.
| * Revert "Revert "Merge pull request #7315 from ↵Brendan Abolivier2020-04-232-2/+27
| | | | | | | | | | | | matrix-org/babolivier/request_token"" This reverts commit 1adf6a55870aa08de272591ff49db9dc49738076.
| * Merge branch 'release-v1.12.4' into developRichard van der Hoff2020-04-221-0/+8
| |\
| | * Support GET account_data requests on a worker (#7311)Richard van der Hoff2020-04-211-0/+8
| | |
| * | Use a template for the SSO success page to allow for customization. (#7279)Patrick Cloke2020-04-171-1/+24
| | |
| * | Improve error responses when a remote server doesn't allow you to access its ↵Andrew Morgan2020-04-061-13/+20
| | | | | | | | | | | | public rooms list (#6899)
| * | Support CAS in UI Auth flows. (#7186)Patrick Cloke2020-04-032-9/+39
| | |
| * | Support SAML in the user interactive authentication workflow. (#7102)Patrick Cloke2020-04-015-30/+50
| | |
| * | Add options to prevent users from changing their profile. (#7096)Dirk Klimpel2020-03-271-0/+16
| | |
| * | Ensure is_verified on /_matrix/client/r0/room_keys/keys is a boolean (#7150)Andrew Morgan2020-03-271-1/+1
| | |
| * | Refactor the CAS code (move the logic out of the REST layer to a handler) ↵Patrick Cloke2020-03-261-155/+16
| | | | | | | | | | | | (#7136)
| * | Allow server admins to define and enforce a password policy (MSC2000). (#7118)Dirk Klimpel2020-03-262-0/+60
| | |
| * | Validate that the session is not modified during UI-Auth (#7068)Patrick Cloke2020-03-264-8/+14
| | |
| * | Fix CAS redirect url (#6634)Naugrimm2020-03-241-11/+16
| | | | | | | | | Build the same service URL when requesting the CAS ticket and when calling the proxyValidate URL.
| * | Clean-up some auth/login REST code (#7115)Patrick Cloke2020-03-202-41/+20
| |/
* | Support GET account_data requests on a worker (#7311)Richard van der Hoff2020-05-281-0/+8
| |
* | apply lintingAndrew Morgan2020-05-143-10/+11
| |
* | Temporarily add m.lazy_load_members to unstable_featuresAndrew Morgan2020-05-041-0/+3
| |
* | Disable m.id_access_token, m.require_identity_server, ↵Andrew Morgan2020-04-281-4/+4
| | | | | | | | m.separate_add_and_bind, org.matrix.e2e_cross_signing unstable_features
* | Simplify auto-bind email to IS hackAndrew Morgan2020-04-241-11/+0
| |
* | Remove bind_email param from dinsic-specific codeAndrew Morgan2020-04-241-2/+2
| |
* | HACK: Bind email to identity server when using it for 3pid delegationAndrew Morgan2020-04-241-0/+11
| |
* | Fix some broken referencesAndrew Morgan2020-04-241-2/+2
| |
* | Fix incorrect call to _map_email_to_display_nameAndrew Morgan2020-04-241-1/+1
| |
* | Merge branch 'dinsic-release-v1.12.x' of ↵Andrew Morgan2020-04-231-1/+1
|\ \ | | | | | | | | | | | | | | | | | | github.com:matrix-org/synapse-dinsic into dinsic-release-v1.12.x * 'dinsic-release-v1.12.x' of github.com:matrix-org/synapse-dinsic: Fix and refactor rewritten IS url feature. Add sample config docs (#40)
* | | Fix missing shadow 3pid functionAndrew Morgan2020-04-231-0/+13
|/ / | | | | | | | | I think this is where the code removed in 67c6de2caa1ba0f50b11ba0b158e056391cad9c3 was supposed to go.
* | Remove unnecessary shadow server codeAndrew Morgan2020-04-211-23/+0
| |
* | Remove defer.returnValue call from async functionAndrew Morgan2020-04-161-1/+1
| |
* | Add an option to the set password API to choose whether to logout other ↵Andrew Morgan2020-03-241-1/+4
|\| | | | | | | | | | | | | devices. (#7085) * commit '88b41986d': Add an option to the set password API to choose whether to logout other devices. (#7085)
| * Add an option to the set password API to choose whether to logout other ↵Patrick Cloke2020-03-181-1/+4
| | | | | | | | devices. (#7085)
* | Remove special casing of `m.room.aliases` events (#7034)Andrew Morgan2020-03-241-12/+0
|\| | | | | | | | | * commit '60724c46b': Remove special casing of `m.room.aliases` events (#7034)
| * Remove special casing of `m.room.aliases` events (#7034)Patrick Cloke2020-03-171-12/+0
| |
| * Revert "Add options to disable setting profile info for prevent changes. ↵Richard van der Hoff2020-03-171-16/+0
| | | | | | | | | | | | | | (#7053)" This reverts commit 54dd28621b070ca67de9f773fe9a89e1f4dc19da, reversing changes made to 6640460d054e8f4444046a34bdf638921b31c01e.
| * Add options to disable setting profile info for prevent changes. (#7053)Brendan Abolivier2020-03-101-0/+16
| |\
| | * updates after reviewdklimpel2020-03-091-6/+12
| | |
| | * add disable_3pid_changesdklimpel2020-03-081-0/+10
| | |
| * | Merge branch 'master' into developBrendan Abolivier2020-03-031-30/+13
| |\ \ | | |/ | |/|
* | | v1.11.1Andrew Morgan2020-03-241-30/+13
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | * commit 'fd983fad9': v1.11.1 Fix wrong handler being used in SAML handler Factor out complete_sso_login and expose it to the Module API Add a whitelist for the SSO confirmation step. Add a confirmation step to the SSO login flow
| * | Factor out complete_sso_login and expose it to the Module APIBrendan Abolivier2020-03-031-56/+2
| | |
| * | Add a whitelist for the SSO confirmation step.Richard van der Hoff2020-03-021-8/+18
| | |
| * | Add a confirmation step to the SSO login flowBrendan Abolivier2020-03-021-6/+34
| | |
* | | Ensure 'deactivated' parameter is a boolean on user admin API, Fix error ↵Andrew Morgan2020-03-241-0/+1
|\ \ \ | | |/ | |/| | | | | | | | | | | | | handling of call to deactivate user (#6990) * commit '8c75b621b': Ensure 'deactivated' parameter is a boolean on user admin API, Fix error handling of call to deactivate user (#6990)
| * | Ensure 'deactivated' parameter is a boolean on user admin API, Fix error ↵Andrew Morgan2020-02-261-0/+1
| | | | | | | | | | | | handling of call to deactivate user (#6990)
* | | Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)Andrew Morgan2020-03-243-6/+6
|\| | | | | | | | | | | | | | | | | | | | * commit '509e381af': Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957) changelog Increase MAX_EVENTS_BEHIND for replication clients
| * | Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)Patrick Cloke2020-02-213-6/+6
| |/ | | | | | | Ensure good comprehension hygiene using flake8-comprehensions.
* | Merge pull request #6949 from matrix-org/rav/list_room_aliases_peekableAndrew Morgan2020-03-241-6/+6
|\| | | | | | | | | | | | | | | * commit '2fb7794e6': changelog Make room alias lists peekable Add `allow_departed_users` param to `check_in_room_or_world_readable` Refactor the membership check methods in Auth
| * Merge pull request #6949 from matrix-org/rav/list_room_aliases_peekableRichard van der Hoff2020-02-191-6/+6
| |\ | | | | | | Make room alias lists peekable
| | * Add `allow_departed_users` param to `check_in_room_or_world_readable`Richard van der Hoff2020-02-191-6/+6
| | | | | | | | | | | | | | | | | | | | | ... and set it everywhere it's called. while we're here, rename it for consistency with `check_user_in_room` (and to help check that I haven't missed any instances)
* | | Move MSC2432 stuff onto unstable prefix (#6948)Andrew Morgan2020-03-242-1/+9
|\| | | | | | | | | | | | | | * commit '880aaac1d': Move MSC2432 stuff onto unstable prefix (#6948)
| * | Move MSC2432 stuff onto unstable prefix (#6948)Richard van der Hoff2020-02-192-1/+9
| |/ | | | | it's not in the spec yet, so needs to be unstable. Also add a feature flag for it. Also add a test for admin users.
* | Implement GET /_matrix/client/r0/rooms/{roomId}/aliases (#6939)Andrew Morgan2020-03-241-0/+23
|\| | | | | | | | | * commit 'adfaea8c6': Implement GET /_matrix/client/r0/rooms/{roomId}/aliases (#6939)
| * Implement GET /_matrix/client/r0/rooms/{roomId}/aliases (#6939)Richard van der Hoff2020-02-181-0/+23
| | | | | | | | | | per matrix-org/matrix-doc#2432