summary refs log tree commit diff
path: root/.coveragerc (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-12-09 1.24.0 v1.24.0Erik Johnston4-2/+53
2020-12-08Fix installing pysaml2 on Python 3.5. (#8898)Patrick Cloke2-1/+6
This pins pysaml2 to < 6.4.0 on Python 3.5, as the last known working version.
2020-12-04Minor update to CHANGES. v1.24.0rc2Patrick Cloke1-1/+1
2020-12-041.24.0rc2Patrick Cloke4-3/+16
2020-12-04Fix a regression that mapping providers should be able to redirect users. ↵Patrick Cloke6-8/+60
(#8878) This was broken in #8801.
2020-12-04Remove version pin prometheus_client dependency (#8875)Jordan Bancino3-9/+7
This removes the version pin of the `prometheus_client` dependency, in direct response to #8831. If merged, this will close #8831 As far as I can tell, no other changes are needed, but as I'm no synapse expert, I'm relying heavily on CI and maintainer reviews for this. My very primitive test of synapse with prometheus_client v0.9.0 on my home server didn't bring up any issues, so we'll see what happens. Signed-off-by: Jordan Bancino
2020-12-02Minor changes to the CHANGES doc. v1.24.0rc1Patrick Cloke1-1/+1
2020-12-02Minor fixes to changelog.Patrick Cloke1-5/+5
2020-12-021.24.0rc1Patrick Cloke55-54/+73
2020-12-02Fix a regression when grandfathering SAML users. (#8855)Patrick Cloke6-48/+94
This was broken in #8801 when abstracting code shared with OIDC. After this change both SAML and OIDC have a concept of grandfathering users, but with different implementations.
2020-12-02Add basic SAML tests for mapping users. (#8800)Patrick Cloke5-19/+156
2020-12-02Create a `PasswordProvider` wrapper object (#8849)Richard van der Hoff3-57/+152
The idea here is to abstract out all the conditional code which tests which methods a given password provider has, to provide a consistent interface.
2020-12-02Allow specifying room version in 'RestHelper.create_room_as' and add typing ↵Andrew Morgan2-2/+26
(#8854) This PR adds a `room_version` argument to the `RestHelper`'s `create_room_as` function for tests. I plan to use this for testing knocking, which currently uses an unstable room version.
2020-12-01Support "identifier" dicts in UIA (#8848)Richard van der Hoff5-147/+190
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.
2020-12-01Add missing `ordering` to background updates (#8850)Richard van der Hoff5-12/+13
It's important that we make sure our background updates happen in a defined order, to avoid disasters like #6923. Add an ordering to all of the background updates that have landed since #7190.
2020-12-01Allow Date header through CORS (#8804)Nicolas Chamo2-1/+2
2020-12-01Don't offer password login when it is disabled (#8835)Richard van der Hoff3-4/+115
Fix a minor bug where we would offer "m.login.password" login if a custom auth provider supported it, even if password login was disabled.
2020-12-01Add some tests for `password_auth_providers` (#8819)Richard van der Hoff3-0/+488
These things seemed to be completely untested, so I added a load of tests for them.
2020-12-01Fix broken testcase (#8851)Richard van der Hoff2-1/+1
This test was broken by #8565. It doesn't need to set set `self.clock` here anyway - that is done by `setUp`.
2020-12-01Fix typo in password_auth_providers docAndrew Morgan1-0/+1
A word got removed accidentally in 83434df3812650f53c60e91fb23c2079db0fb5b8.
2020-11-30Simplify appservice login code (#8847)Richard van der Hoff2-6/+22
we don't need to support legacy login dictionaries here.
2020-11-30Allow per-room profile to be used for server notice user (#8799)Mathieu Velten2-1/+10
This applies even if the feature is disabled at the server level with `allow_per_room_profiles`. The server notice not being a real user it doesn't have an user profile.
2020-11-30Drop (almost) unused index on event_json (#8845)Richard van der Hoff3-1/+21
2020-11-30Add a config option to change whether unread push notification counts are ↵Andrew Morgan6-9/+207
per-message or per-room (#8820) This PR adds a new config option to the `push` section of the homeserver config, `group_unread_count_by_room`. By default Synapse will group push notifications by room (so if you have 1000 unread messages, if they lie in 55 rooms, you'll see an unread count on your phone of 55). However, it is also useful to be able to send out the true count of unread messages if desired. If `group_unread_count_by_room` is set to `false`, then with the above example, one would see an unread count of 1000 (email anyone?).
2020-11-30 Simplify the way the `HomeServer` object caches its internal attributes. ↵Jonathan de Jong11-35/+39
(#8565) Changes `@cache_in_self` to use underscore-prefixed attributes.
2020-11-30Add `force_purge` option to delete-room admin api. (#8843)Richard van der Hoff4-12/+34
2020-11-27Remove special case of pretty printing JSON responses for curl (#8833)Tulir Asokan2-24/+6
* Remove special case of pretty printing JSON responses for curl Signed-off-by: Tulir Asokan <tulir@maunium.net>
2020-11-27Add typing to membership Replication class methods (#8809)Andrew Morgan2-22/+45
This PR grew out of #6739, and adds typing to some method arguments You'll notice that there are a lot of `# type: ignores` in here. This is due to the base methods not matching the overloads here. This is necessary to stop mypy complaining, but a better solution is #8828.
2020-11-26Update example prometheus console (#8824)Dirk Klimpel2-51/+51
Signed-off-by: Dirk Klimpel dirk@klimpel.org
2020-11-26Defer SIGHUP handlers to reactor. (#8817)Erik Johnston2-1/+10
We can get a SIGHUP at any point, including times where we are not in a sane state. By deferring calling the handlers until the next reactor tick we ensure that we don't get unexpected conflicts, e.g. trying to flush logs from the signal handler while the code was in the process of writing a log entry. Fixes #8769.
2020-11-26Strip trailing / from server_url in register_new_matrix_user (#8823)Dmitry Borodaenko2-1/+2
When server URL provided to register_new_matrix_user includes path component (e.g. "http://localhost:8008/"), the command fails with "ERROR! Received 400 Bad Request". Stripping trailing slash from the server_url command argument makes sure combined endpoint URL remains valid. Signed-off-by: Dmitry Borodaenko angdraug@debian.org
2020-11-26Improve documentation how to configure prometheus for workers (#8822)Dirk Klimpel3-20/+65
2020-11-25Remove deprecated `/_matrix/client/*/admin` endpoints (#8785)Dirk Klimpel16-68/+176
These are now only available via `/_synapse/admin/v1`.
2020-11-25Fix the formatting of push config section (#8818)Andrew Morgan3-29/+40
This PR updates the push config's formatting to better align with our [code style guidelines](https://github.com/matrix-org/synapse/blob/develop/docs/code_style.md#configuration-file-format).
2020-11-25Speed up remote invite rejection database call (#8815)Andrew Morgan3-6/+45
This is another PR that grew out of #6739. The existing code for checking whether a user is currently invited to a room when they want to leave the room looks like the following: https://github.com/matrix-org/synapse/blob/f737368a26bb9eea401fcc3a5bdd7e0b59e91f09/synapse/handlers/room_member.py#L518-L540 It calls `get_invite_for_local_user_in_room`, which will actually query *all* rooms the user has been invited to, before iterating over them and matching via the room ID. It will then return a tuple of a lot of information which we pull the event ID out of. I need to do a similar check for knocking, but this code wasn't very efficient. I then tried to write a different implementation using `StateHandler.get_current_state` but this actually didn't work as we haven't *joined* the room yet - we've only been invited to it. That means that only certain tables in Synapse have our desired `invite` membership state. One of those tables is `local_current_membership`. So I wrote a store method that just queries that table instead
2020-11-25Add additional type hints to HTTP client. (#8812)Patrick Cloke5-149/+142
This also removes some duplicated code between the simple HTTP client and matrix federation client.
2020-11-25Support trying multiple localparts for OpenID Connect. (#8801)Patrick Cloke6-136/+330
Abstracts the SAML and OpenID Connect code which attempts to regenerate the localpart of a matrix ID if it is already in use.
2020-11-25Add type hints to matrix federation client / agent. (#8806)Patrick Cloke6-195/+231
2020-11-24Clarify documentation of the admin list media API (#8795)Dirk Klimpel2-0/+2
Clarify that the list media API only shows media from unencrypted events.
2020-11-24Add a script to sign arbitrary json objects. (#8772)Richard van der Hoff3-0/+129
2020-11-24Update turn-howto (#8779)Richard van der Hoff2-8/+124
Some hopefully-useful notes on setting up a turnserver.
2020-11-23Properly report user-agent/IP during registration of SSO users. (#8784)Patrick Cloke6-122/+173
This also expands type-hints to the SSO and registration code. Refactors the CAS code to more closely match OIDC/SAML.
2020-11-23Fix synctl and duplicate worker spawning (#8798)Waylon Cude2-0/+8
Synctl did not check if a worker thread was already running when using `synctl start` and would naively start a fresh copy. This would sometimes lead to cases where many duplicate copies of a single worker would run. This fix adds a pid check when starting worker threads and synctl will now refuse to start individual workers if they're already running.
2020-11-23Improve logging of the mapping from SSO IDs to Matrix IDs. (#8773)Andrew Morgan3-5/+13
2020-11-23INSTALL: Fix setting content-type on well-known (#8793)Daniele Sluijters2-1/+2
When using `add_header` nginx will literally add a header. If a `content-type` header is already configured (for example through a server wide default), this means we end up with 2 content-type headers, like so: ``` content-type: text/html content-type: application/json access-control-allow-origin: * ``` That doesn't make sense. Instead, we want the content type of that block to only be `application/json` which we can achieve using `default_type` instead. Signed-off-by: Daniele Sluijters <daenney@users.noreply.github.com>
2020-11-22fix MDMatthew Hodgson1-2/+2
2020-11-22fix ancient changelog to be MDMatthew Hodgson1-150/+146
2020-11-19Improve error checking for OIDC/SAML mapping providers (#8774)Patrick Cloke7-29/+137
Checks that the localpart returned by mapping providers for SAML and OIDC are valid before registering new users. Extends the OIDC tests for existing users and invalid data.
2020-11-19SAML: Allow specifying the IdP entityid to use. (#8630)Ben Banfield-Zanin4-1/+21
If the SAML metadata includes multiple IdPs it is necessary to specify which IdP to redirect users to for authentication.
2020-11-19Consistently use room_id from federation request body (#8776)Richard van der Hoff5-54/+49
* Consistently use room_id from federation request body Some federation APIs have a redundant `room_id` path param (see https://github.com/matrix-org/matrix-doc/issues/2330). We should make sure we consistently use either the path param or the body param, and the body param is easier. * Kill off some references to "context" Once upon a time, "rooms" were known as "contexts". I think this kills of the last references to "contexts".
2020-11-18Improve appservice handler to send only the most recent read receipts when ↵Will Hunt4-3/+10
no stream_id is stored. (#8744) * Make this line debug (it's noisy) * Don't include from_key for presence if we are at 0 * Limit read receipts for all rooms to 100 * changelog.d/8744.bugfix * Allow from_key to be None * Update 8744.bugfix * The from_key is superflous * Update comment
2020-11-18Fix tests on develop (#8777)Erik Johnston2-16/+1
This was broken due to #8617 and #8761.
2020-11-18SAML: Document allowing a clock/time difference from IdP (#8731)Marcus Schopen3-0/+13
Updates the sample configuration with the pysaml2 configuration for accepting clock skew/drift between the homeserver and IdP.
2020-11-18Update changelog v1.23.0 github/release-v1.23.0 release-v1.23.0Erik Johnston1-1/+1
2020-11-18Fix formatting in upgradesErik Johnston1-1/+1
2020-11-18Update changelogErik Johnston1-0/+4
2020-11-18 1.23.0Erik Johnston