Skip to content

Releases: matrix-org/sydent

v2.4.5

08 Oct 15:47
v2.4.5
0fc877f
Compare
Choose a tag to compare

Sydent 2.4.5 (2021-10-08)

Bugfixes

  • Fix a long-standing bug in asynchronous code that could cause SMS messages not to be correctly sent. (#413)

v2.4.4

08 Oct 11:20
v2.4.4
6497721
Compare
Choose a tag to compare

Sydent 2.4.4 (2021-10-08)

Bugfixes

  • Fix a long-standing bug which could cause SMS sending to fail silently. (#412)

v2.4.3

14 Sep 13:23
v2.4.3
Compare
Choose a tag to compare

Sydent 2.4.3 (2021-09-14)

Bugfixes

  • Fix a bug introduced in v2.4.0 that caused association unbindings to fail with an Internal Server Error. (#397)

v2.4.2

13 Sep 14:26
v2.4.2
40bb406
Compare
Choose a tag to compare

Sydent 2.4.2 (2021-09-13)

Bugfixes

  • Fix a bug causing the email address migration script to take a lot of time to run due to inefficient database queries. (#396)

Internal Changes

  • Move dev tools from install_requires to extras_require. (#389)
  • Run background jobs in run rather than in Sydent's constructor. (#394)

v2.4.1

10 Sep 10:11
v2.4.1
8cd0f80
Compare
Choose a tag to compare

Sydent 2.4.1 (2021-09-10)

Bugfixes

  • Fix a bug preventing the email migration script from running while Sydent is already running with Prometheus metrics enabled. (#391)

Sydent 2.4.0 (2021-09-09)

09 Sep 13:20
v2.4.0
Compare
Choose a tag to compare

This release drops compatibility with Python 3.5 and older. Python 3.6 and later is required to run Sydent from this version onwards.

Action required when upgrading: server administrators should run the e-mail address migration script.

Features

  • Experimental support for MSC3288, receiving room_type for 3pid invites over the /store-invite API and using it in Jinja templates for Space invites. (#375)
  • Add support for using Jinja2 in e-mail templates. Contributed by @H-Shay. (#376)
  • Case-fold email addresses when binding to MXIDs or performing look-ups. Contributed by @H-Shay. (#374, #378, #379, #386)

Bugfixes

  • Handle CORS for GetValidated3pidServlet. Endpoint /3pid/getValidated3pid returns valid CORS headers. (#342)
  • Use the web_client_location parameter in default templates for both text and HTML emails. (#380)

Internal Changes

  • Add /_trial_temp.lock and /sydent.pid to .gitignore. (#384)
  • Reformat code using Black. Contributed by @H-Shay. (#344, #369)
  • Configure Flake8 and resolve errors. (#345, #347)
  • Add GitHub Actions for unit tests (Python 3.6 and 3.9), matrix_is_tester tests (Python 3.6 and 3.9), towncrier checks and black and flake8 codestyle checks. (#346, #348)
  • Remove support for Python < 3.6. Contributed by @sunweaver. (#349, #356)
  • Bump minimum supported version of Twisted to 18.4.0 and stop calling deprecated APIs. (#350)
  • Replace deprecated logging.warn() method with logging.warning(). (#351)
  • Reformat imports using isort. (#352, #353)
  • Update .gitignore to only ignore sydent.conf and sydent.db if they occur in the project's base folder. (#354)
  • Add type hints and validate with mypy. (#355, #357, #358, #360, #361, #367, #371)
  • Convert inlineCallbacks to async/await. (#364, #365, #368, #372, #373)
  • Use mock module from the standard library. (#370)
  • Fix email templates to be valid python format strings. (#377)

Sydent 2.3.0 (2021-04-15)

15 Apr 11:12
v2.3.0
Compare
Choose a tag to compare

Note: this will be the last release of Sydent to support Python 3.5 or earlier. Future releases will require at least Python 3.6.

Security advisory

This release contains fixes to the following security issues:

  • Denial of service attack via disk space or memory exhaustion (CVE-2021-29430).
  • SSRF due to missing validation of hostnames (CVE-2021-29431).
  • Malicious users could control the content of invitation emails (CVE-2021-29432).
  • Denial of service (via resource exhaustion) due to improper input validation (CVE-2021-29433).

Although we are not aware of these vulnerabilities being exploited in the wild, Sydent server administrators are advised to update as soon as possible. Note that as well as changes to the package, there are also changes to the default email templates. If any templates have been updated locally, they must also be updated in line with the changes to the defaults for full protection from CVE-2021-29432.

Features

  • Accept an optional web_client_location argument to the invite endpoint which allows customisation of the email template. (#326)
  • Move templates to a per-brand subdirectory of /res. Add templates.path and brand.default config options. (#328)

Bugfixes

  • Fix a regression in v2.2.0 where the wrong characters would be obfuscated in a 3pid invite. (#317)
  • Fix a long-standing bug where invalid JSON would be accepted over the HTTP interfaces. (#337)
  • During user registration on the identity server, validate that the MXID returned by the contacted homeserver is valid for that homeserver. (cc97fff)
  • Ensure that /v2/ endpoints are correctly authenticated. (ce04a68)
  • Perform additional validation on the response received when requesting server signing keys. (07e6da7)
  • Validate the matrix_server_name parameter given during user registration. (9e57334, 8936925, 3d531ed, 0f00412)
  • Limit the size of requests received from HTTP clients. (89071a1, 0523511, f56eee3)
  • Limit the size of responses received from HTTP servers. (89071a1, 0523511, f56eee3)
  • In invite emails, randomise the multipart boundary, and include MXIDs where available. (4469d1d, 6b405a8, 65a6e91)
  • Perform additional validation on the client_secret and email parameters to various APIs. (3175fd3)

Updates to the Docker image

  • Base docker image on Debian rather than Alpine Linux. (#335)

Internal Changes

  • Fix test logging to allow braces in log output. (#318)
  • Install prometheus_client in the Docker image. (#325)
  • Bump the version of signedjson to 1.1.1. (#334)

2.1.0_dinum_2020_12_4

31 Jan 13:23
c33d976
Compare
Choose a tag to compare
2.1.0_dinum_2020_12_4 Pre-release
Pre-release
  • Add an option, third_party_invite_username_separator_string, that allows redacting separate portions of a third party invite address #323
  • Change out the triple-dot sequence in third-party invites to an ellipsis character (#324)
  • Remove : from allowed client_secret chars (#309)
  • Do not exponentially backoff /3pid/onbind calls after receiving 403 (#319)

v2.2.0

11 Sep 11:22
v2.2.0
Compare
Choose a tag to compare

Sydent 2.2.0 (2020-09-11)

Bugfixes

  • Fix intermittent deadlock in Sentry integration. (#312)

v2.1.0

10 Sep 10:29
v2.1.0
Compare
Choose a tag to compare

Sydent 2.1.0 (2020-09-10)

Features

  • Add a Dockerfile and allow environment variables SYDENT_SERVER_NAME, SYDENT_PID_FILE and SYDENT_DB_PATH to modify default configuration values. (#290)
  • Add config options for controlling how email addresses are obfuscated in third party invites. (#311)

Bugfixes

  • Fix a bug in the error handling of 3PID session validation, if the token submitted is incorrect. (#296)
  • Stop sending the unspecified success parameter in responses to /requestToken requests. (#302)
  • Fix a bug causing Sydent to ignore nextLink parameters. (#303)
  • Fix the HTTP status code returned during some error responses. (#305)
  • Sydent now correctly enforces the valid characters in the client_secret parameter used in various endpoints. (#309)

Internal Changes

  • Replace instances of Riot with Element. (#308)