diff options
author | Matthew Hodgson <matthew@matrix.org> | 2018-05-03 02:47:55 +0100 |
---|---|---|
committer | Matthew Hodgson <matthew@matrix.org> | 2018-05-03 02:47:55 +0100 |
commit | 8a24c4eee515b21f3eb5572a62937ec1c04e677b (patch) | |
tree | 307a1778ec27b9c5a59314929710ff9cf025c652 /synapse/rest | |
parent | Merge branch 'master' into dinsic (diff) | |
download | synapse-8a24c4eee515b21f3eb5572a62937ec1c04e677b.tar.xz |
add option to disable changes to the 3PIDs for an account.
This only considers the /account/3pid API, which should be sufficient as currently we can't change emails associated with push notifs (which are provisioned at registration), and we can't directly create mappings for accounts in an IS other than by answering an invite
Diffstat (limited to 'synapse/rest')
-rw-r--r-- | synapse/rest/client/v2_alpha/account.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/synapse/rest/client/v2_alpha/account.py b/synapse/rest/client/v2_alpha/account.py index 7d43a33615..3738ad437e 100644 --- a/synapse/rest/client/v2_alpha/account.py +++ b/synapse/rest/client/v2_alpha/account.py @@ -314,6 +314,9 @@ class ThreepidRestServlet(RestServlet): def on_POST(self, request): yield run_on_reactor() + if self.hs.config.disable_3pid_changes: + raise SynapseError(400, "3PID changes disabled on this server") + body = parse_json_object_from_request(request) threePidCreds = body.get('threePidCreds') @@ -367,6 +370,9 @@ class ThreepidDeleteRestServlet(RestServlet): def on_POST(self, request): yield run_on_reactor() + if self.hs.config.disable_3pid_changes: + raise SynapseError(400, "3PID changes disabled on this server") + body = parse_json_object_from_request(request) required = ['medium', 'address'] |