- Apr 09, 2021
-
-
Patrick Cloke authored
-
Dirk Klimpel authored
Related: #8334 Deprecated in: #9429 - Synapse 1.28.0 (2021-02-25) `GET /_synapse/admin/v1/users/<user_id>` has no - unit tests - documentation API in v2 is available (#5925 - 12/2019, v1.7.0). API is misleading. It expects `user_id` and returns a list of all users. Signed-off-by:
Dirk Klimpel <dirk@klimpel.org>
-
- Apr 08, 2021
-
-
Jonathan de Jong authored
Part of #9366 Adds in fixes for B006 and B008, both relating to mutable parameter lint errors. Signed-off-by:
Jonathan de Jong <jonathan@automatia.nl>
-
Richard van der Hoff authored
-
Richard van der Hoff authored
-
Patrick Cloke authored
Records additional request information into the structured logs, e.g. the requester, IP address, etc.
-
- Apr 06, 2021
-
-
Andrew Morgan authored
At the moment, if you'd like to share presence between local or remote users, those users must be sharing a room together. This isn't always the most convenient or useful situation though. This PR adds a module to Synapse that will allow deployments to set up extra logic on where presence updates should be routed. The module must implement two methods, `get_users_for_states` and `get_interested_users`. These methods are given presence updates or user IDs and must return information that Synapse will use to grant passing presence updates around. A method is additionally added to `ModuleApi` which allows triggering a set of users to receive the current, online presence information for all users they are considered interested in. This is the equivalent of that user receiving presence information during an initial sync. The goal of this module is to be fairly generic and useful for a variety of applications, with hard requirements being: * Sending state for a specific set or all known users to a defined set of local and remote users. * The ability to trigger an initial sync for specific users, so they receive all current state.
-
Andrew Morgan authored
-
Patrick Cloke authored
-
- Apr 05, 2021
-
-
Jonathan de Jong authored
-
- Apr 01, 2021
-
-
Dirk Klimpel authored
-
- Mar 31, 2021
-
-
Patrick Cloke authored
Per MSC3083.
-
- Mar 30, 2021
-
-
Richard van der Hoff authored
`room_invite_state_types` was inconvenient as a configuration setting, because anyone that ever set it would not receive any new types that were added to the defaults. Here, we deprecate the old setting, and replace it with a couple of new settings under `room_prejoin_state`.
-
Erik Johnston authored
This should fix a class of bug where we forget to check if e.g. the appservice shouldn't be ratelimited. We also check the `ratelimit_override` table to check if the user has ratelimiting disabled. That table is really only meant to override the event sender ratelimiting, so we don't use any values from it (as they might not make sense for different rate limits), but we do infer that if ratelimiting is disabled for the user we should disabled all ratelimits. Fixes #9663
-
- Mar 29, 2021
-
-
Patrick Cloke authored
-
Andrew Morgan authored
-
- Mar 26, 2021
-
-
Erik Johnston authored
Running `dmypy run` will do a `mypy` check while spinning up a daemon that makes rerunning `dmypy run` a lot faster. `dmypy` doesn't support `follow_imports = silent` and has `local_partial_types` enabled, so this PR enables those options and fixes the issues that were newly raised. Note that `local_partial_types` will be enabled by default in upcoming mypy releases.
-
- Mar 24, 2021
-
-
Jonathan de Jong authored
-
- Mar 22, 2021
-
-
Andrew Morgan authored
Addresses https://github.com/matrix-org/synapse-dinsic/issues/70 This PR causes `ProxyAgent` to attempt to extract credentials from an `HTTPS_PROXY` env var. If credentials are found, a `Proxy-Authorization` header ([details](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Proxy-Authorization)) is sent to the proxy server to authenticate against it. The headers are *not* passed to the remote server. Also added some type hints.
-
- Mar 18, 2021
-
-
Dirk Klimpel authored
-
Erik Johnston authored
Currently federation catchup will send the last *local* event that we failed to send to the remote. This can cause issues for large rooms where lots of servers have sent events while the remote server was down, as when it comes back up again it'll be flooded with events from various points in the DAG. Instead, let's make it so that all the servers send the most recent events, even if its not theirs. The remote should deduplicate the events, so there shouldn't be much overhead in doing this. Alternatively, the servers could only send local events if they were also extremities and hope that the other server will send the event over, but that is a bit risky.
-
Brendan Abolivier authored
-
- Mar 17, 2021
-
-
Andrew Morgan authored
This bug was discovered by DINUM. We were modifying `serialized_event["content"]`, which - if you've got `USE_FROZEN_DICTS` turned on or are [using a third party rules module](https://github.com/matrix-org/synapse/blob/17cd48fe5171d50da4cb59db647b993168e7dfab/synapse/events/third_party_rules.py#L73-L76) - will raise a 500 if you try to a edit a reply to a message. `serialized_event["content"]` could be set to the edit event's content, instead of a copy of it, which is bad as we attempt to modify it. Instead, we also end up modifying the original event's content. DINUM uses a third party rules module, which meant the event's content got frozen and thus an exception was raised. To be clear, the problem is not that the event's content was frozen. In fact doing so helped us uncover the fact we weren't copying event content correctly.
-
- Mar 16, 2021
-
-
Jonathan de Jong authored
* Adds B00 to ignored checks. * Fixes remaining issues.
-
Hubbe authored
Allows limiting who can login using OIDC via the claims made from the IdP.
-
Dirk Klimpel authored
Instead of if the user does not have a password hash. This allows a SSO user to add a password to their account, but only if the local password database is configured.
-
Andrew Morgan authored
Fixes https://github.com/matrix-org/synapse/issues/9572 When a SSO user logs in for the first time, we create a local Matrix user for them. This goes through the register_user flow, which ends up triggering the spam checker. Spam checker modules don't currently have any way to differentiate between a user trying to sign up initially, versus an SSO user (whom has presumably already been approved elsewhere) trying to log in for the first time. This PR passes `auth_provider_id` as an argument to the `check_registration_for_spam` function. This argument will contain an ID of an SSO provider (`"saml"`, `"cas"`, etc.) if one was used, else `None`.
-
Richard van der Hoff authored
The stable format uses different brand identifiers, so we need to support two identifiers for each IdP.
-
- Mar 15, 2021
-
-
Patrick Cloke authored
-
Erik Johnston authored
Federation catch up mode is very inefficient if the number of events that the remote server has missed is small, since handling gaps can be very expensive, c.f. #9492. Instead of going into catch up mode whenever we see an error, we instead do so only if we've backed off from trying the remote for more than an hour (the assumption being that in such a case it is more than a transient failure).
-
- Mar 12, 2021
-
-
Patrick Cloke authored
-
- Mar 11, 2021
-
-
Patrick Cloke authored
-
- Mar 10, 2021
-
-
Patrick Cloke authored
This uses a simplified version of get_chain_cover_difference to calculate auth chain of events.
-
- Mar 09, 2021
-
-
Richard van der Hoff authored
Apple had to be special. They want a client secret which is generated from an EC key. Fixes #9220. Also fixes #9212 while I'm here.
-
Patrick Cloke authored
Type hint fixes due to Twisted 21.2.0 adding type hints.
-
Patrick Cloke authored
Properly uses RGBA mode for 1- and 8-bit images with transparency (instead of RBG mode).
-
- Mar 08, 2021
-
-
Jonathan de Jong authored
-
Patrick Cloke authored
Unfortunately this doesn't test re-joining the room since that requires having another homeserver to query over federation, which isn't easily doable in unit tests.
-
- Mar 04, 2021
-
-
Richard van der Hoff authored
This great big stack of commits is a a whole load of hoop-jumping to make it easier to store additional values in login tokens, and then to actually store the SSO Identity Provider in the login token. (Making use of that data will follow in a subsequent PR.)
-
- Mar 03, 2021
-
-
Patrick Cloke authored
-