- Dec 09, 2020
-
-
Erik Johnston authored
Synapse 1.23.1 (2020-12-09) =========================== Due to the two security issues highlighted below, server administrators are encouraged to update Synapse. We are not aware of these vulnerabilities being exploited in the wild. Security advisory ----------------- The following issues are fixed in v1.23.1 and v1.24.0. - There is a denial of service attack ([CVE-2020-26257](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26257)) against the federation APIs in which future events will not be correctly sent to other servers over federation. This affects all servers that participate in open federation. (Fixed in [#8776](https://github.com/matrix-org/synapse/pull/8776)). - Synapse may be affected by OpenSSL [CVE-2020-1971](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1971). Synapse administrators should ensure that they have the latest versions of the cryptography Python package installed. To upgrade Synapse along with the cryptography package: * Administrators using the [`matrix.org` Docker image](https://hub.docker.com/r/matrixdotorg/synapse/) or the [Debian/Ubuntu packages from `matrix.org`](https://github.com/matrix-org/synapse/blob/master/INSTALL.md#matrixorg-packages) should ensure that they have version 1.24.0 or 1.23.1 installed: these images include the updated packages. * Administrators who have [installed Synapse from source](https://github.com/matrix-org/synapse/blob/master/INSTALL.md#installing-from-source) should upgrade the cryptography package within their virtualenv by running: ```sh <path_to_virtualenv>/bin/pip install 'cryptography>=3.3' ``` * Administrators who have installed Synapse from distribution packages should consult the information from their distributions. Bugfixes -------- - Fix a bug in some federation APIs which could lead to unexpected behaviour if different parameters were set in the URI and the request body. ([\#8776](https://github.com/matrix-org/synapse/issues/8776)) Internal Changes ---------------- - Add a maximum version for pysaml2 on Python 3.5. ([\#8898](https://github.com/matrix-org/synapse/issues/8898))
-
Patrick Cloke authored
This pins pysaml2 to < 6.4.0 on Python 3.5, as the last known working version.
-
Richard van der Hoff authored
* 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".
-
- Dec 08, 2020
-
-
Patrick Cloke authored
This pins pysaml2 to < 6.4.0 on Python 3.5, as the last known working version.
-
- Dec 04, 2020
-
-
Patrick Cloke authored
-
Patrick Cloke authored
This was broken in #8801.
-
Jordan Bancino authored
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
- Dec 02, 2020
-
-
Patrick Cloke authored
-
Patrick Cloke authored
-
Patrick Cloke authored
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.
-
Patrick Cloke authored
-
Richard van der Hoff authored
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.
-
Andrew Morgan authored
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.
- Dec 01, 2020
-
-
Richard van der Hoff authored
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.
-
Richard van der Hoff authored
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.
-
Nicolas Chamo authored
-
Richard van der Hoff authored
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.
-
Richard van der Hoff authored
These things seemed to be completely untested, so I added a load of tests for them.
-
Richard van der Hoff authored
This test was broken by #8565. It doesn't need to set set `self.clock` here anyway - that is done by `setUp`.
-
Andrew Morgan authored
A word got removed accidentally in 83434df3.
-
- Nov 30, 2020
-
-
Richard van der Hoff authored
we don't need to support legacy login dictionaries here.
-
Mathieu Velten authored
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.
-
Richard van der Hoff authored
-
Andrew Morgan authored
Add a config option to change whether unread push notification counts are 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?).
-
Jonathan de Jong authored
Changes `@cache_in_self` to use underscore-prefixed attributes.
-
Richard van der Hoff authored
-
- Nov 27, 2020
-
-
Tulir Asokan authored
* Remove special case of pretty printing JSON responses for curl Signed-off-by:
Tulir Asokan <tulir@maunium.net>
-
Andrew Morgan authored
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.
-
- Nov 26, 2020
-
-
Dirk Klimpel authored
Signed-off-by:
Dirk Klimpel <dirk@klimpel.org>
-
Erik Johnston authored
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.
-
Dmitry Borodaenko authored
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>
-
Dirk Klimpel authored
-
- Nov 25, 2020
-
-
Dirk Klimpel authored
These are now only available via `/_synapse/admin/v1`.
-
Andrew Morgan authored
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).
-
Andrew Morgan authored
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
-
Patrick Cloke authored
This also removes some duplicated code between the simple HTTP client and matrix federation client.
-