Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 833c406

Browse files
Neilj/1.0 upgrade notes (#5371)
1.0 upgrade/install notes
1 parent f868c8d commit 833c406

File tree

4 files changed

+79
-8
lines changed

4 files changed

+79
-8
lines changed

INSTALL.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
* [Prebuilt packages](#prebuilt-packages)
66
* [Setting up Synapse](#setting-up-synapse)
77
* [TLS certificates](#tls-certificates)
8+
* [Email](#email)
89
* [Registering a user](#registering-a-user)
910
* [Setting up a TURN server](#setting-up-a-turn-server)
1011
* [URL previews](#url-previews)
@@ -394,9 +395,31 @@ To configure Synapse to expose an HTTPS port, you will need to edit
394395
instance, if using certbot, use `fullchain.pem` as your certificate, not
395396
`cert.pem`).
396397

397-
For those of you upgrading your TLS certificate in readiness for Synapse 1.0,
398+
For those of you upgrading your TLS certificate for Synapse 1.0 compliance,
398399
please take a look at [our guide](docs/MSC1711_certificates_FAQ.md#configuring-certificates-for-compatibility-with-synapse-100).
399400

401+
## Email
402+
403+
It is desirable for Synapse to have the capability to send email. For example,
404+
this is required to support the 'password reset' feature.
405+
406+
To configure an SMTP server for Synapse, modify the configuration section
407+
headed ``email``, and be sure to have at least the ``smtp_host``, ``smtp_port``
408+
and ``notif_from`` fields filled out. You may also need to set ``smtp_user``,
409+
``smtp_pass``, and ``require_transport_security``..
410+
411+
If Synapse is not configured with an SMTP server, password reset via email will
412+
be disabled by default.
413+
414+
Alternatively it is possible delegate the sending of email to the server's
415+
identity server. Doing so is convenient but not recommended, since a malicious
416+
or compromised identity server could theoretically hijack a given user's
417+
account by redirecting mail.
418+
419+
If you are absolutely certain that you wish to use the server's identity server
420+
for password resets, set ``trust_identity_server_for_password_resets`` to
421+
``true`` under the ``email:`` configuration section.
422+
400423
## Registering a user
401424

402425
You will need at least one user on your server in order to use a Matrix

UPGRADE.rst

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,55 @@ returned by the Client-Server API:
4949
# configured on port 443.
5050
curl -kv https://<host.name>/_matrix/client/versions 2>&1 | grep "Server:"
5151
52+
Upgrading to v1.0
53+
=================
54+
55+
Validation of TLS certificates
56+
------------------------------
57+
58+
Synapse v1.0 is the first release to enforce
59+
validation of TLS certificates for the federation API. It is therefore
60+
essential that your certificates are correctly configured. See the `FAQ
61+
<docs/MSC1711_certificates_FAQ.md>`_ for more information.
62+
63+
Note, v1.0 installations will also no longer be able to federate with servers
64+
that have not correctly configured their certificates.
65+
66+
In rare cases, it may be desirable to disable certificate checking: for
67+
example, it might be essential to be able to federate with a given legacy
68+
server in a closed federation. This can be done in one of two ways:-
69+
70+
* Configure the global switch ``federation_verify_certificates`` to ``false``.
71+
* Configure a whitelist of server domains to trust via ``federation_certificate_verification_whitelist``.
72+
73+
See the `sample configuration file <docs/sample_config.yaml>`_
74+
for more details on these settings.
75+
76+
Email
77+
-----
78+
When a user requests a password reset, Synapse will send an email to the
79+
user to confirm the request.
80+
81+
Previous versions of Synapse delegated the job of sending this email to an
82+
identity server. If the identity server was somehow malicious or became
83+
compromised, it would be theoretically possible to hijack an account through
84+
this means.
85+
86+
Therefore, by default, Synapse v1.0 will send the confirmation email itself. If
87+
Synapse is not configured with an SMTP server, password reset via email will be
88+
disabled.
89+
90+
To configure an SMTP server for Synapse, modify the configuration section
91+
headed ``email``, and be sure to have at least the ``smtp_host``, ``smtp_port``
92+
and ``notif_from`` fields filled out. You may also need to set ``smtp_user``,
93+
``smtp_pass``, and ``require_transport_security``.
94+
95+
If you are absolutely certain that you wish to continue using an identity
96+
server for password resets, set ``trust_identity_server_for_password_resets`` to ``true``.
97+
98+
See the `sample configuration file <docs/sample_config.yaml>`_
99+
for more details on these settings.
100+
52101
Upgrading to v0.99.0
53102
====================
54103

changelog.d/5371.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Update upgrade and installation guides ahead of 1.0.

docs/MSC1711_certificates_FAQ.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,16 +68,14 @@ Admins should upgrade and configure a valid CA cert. Homeservers that require a
6868
.well-known entry (see below), should retain their SRV record and use it
6969
alongside their .well-known record.
7070

71-
**>= 5th March 2019 - Synapse 1.0.0 is released**
71+
**10th June 2019 - Synapse 1.0.0 is released**
7272

73-
1.0.0 will land no sooner than 1 month after 0.99.0, leaving server admins one
74-
month after 5th February to upgrade to 0.99.0 and deploy their certificates. In
73+
1.0.0 is scheduled for release on 10th June. In
7574
accordance with the the [S2S spec](https://matrix.org/docs/spec/server_server/r0.1.0.html)
7675
1.0.0 will enforce certificate validity. This means that any homeserver without a
7776
valid certificate after this point will no longer be able to federate with
7877
1.0.0 servers.
7978

80-
8179
## Configuring certificates for compatibility with Synapse 1.0.0
8280

8381
### If you do not currently have an SRV record
@@ -146,9 +144,9 @@ You can do this with a `.well-known` file as follows:
146144
with Synapse 0.34 and earlier.
147145

148146
2. Give Synapse a certificate corresponding to the target domain
149-
(`customer.example.net` in the above example). You can either use Synapse's
150-
built-in [ACME support](./ACME.md) for this (via the `domain` parameter in
151-
the `acme` section), or acquire a certificate yourself and give it to
147+
(`customer.example.net` in the above example). You can either use Synapse's
148+
built-in [ACME support](./ACME.md) for this (via the `domain` parameter in
149+
the `acme` section), or acquire a certificate yourself and give it to
152150
Synapse via `tls_certificate_path` and `tls_private_key_path`.
153151

154152
3. Restart Synapse to ensure the new certificate is loaded.

0 commit comments

Comments
 (0)