summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard van der Hoff <1389908+richvdh@users.noreply.github.com>2020-12-03 15:41:19 +0000
committerGitHub <noreply@github.com>2020-12-03 15:41:19 +0000
commitcf3b8156bec7d137894ebc3f6998c3c81a3854aa (patch)
tree62e18df0e6190c7c79750ac0e65dd0f2de62ad0e
parentMerge pull request #8861 from matrix-org/rav/remove_unused_mocks (diff)
downloadsynapse-cf3b8156bec7d137894ebc3f6998c3c81a3854aa.tar.xz
Fix errorcode for disabled registration (#8867)
The spec says we should return `M_FORBIDDEN` when someone tries to register and
registration is disabled.
-rw-r--r--changelog.d/8867.bugfix1
-rw-r--r--synapse/rest/client/v2_alpha/register.py2
-rw-r--r--tests/rest/client/v2_alpha/test_register.py1
3 files changed, 3 insertions, 1 deletions
diff --git a/changelog.d/8867.bugfix b/changelog.d/8867.bugfix
new file mode 100644

index 0000000000..f2414ff111 --- /dev/null +++ b/changelog.d/8867.bugfix
@@ -0,0 +1 @@ +Fix the error code that is returned when a user tries to register on a homeserver on which new-user registration has been disabled. diff --git a/synapse/rest/client/v2_alpha/register.py b/synapse/rest/client/v2_alpha/register.py
index a89ae6ddf9..9041e7ed76 100644 --- a/synapse/rest/client/v2_alpha/register.py +++ b/synapse/rest/client/v2_alpha/register.py
@@ -451,7 +451,7 @@ class RegisterRestServlet(RestServlet): # == Normal User Registration == (everyone else) if not self._registration_enabled: - raise SynapseError(403, "Registration has been disabled") + raise SynapseError(403, "Registration has been disabled", Codes.FORBIDDEN) # For regular registration, convert the provided username to lowercase # before attempting to register it. This should mean that people who try diff --git a/tests/rest/client/v2_alpha/test_register.py b/tests/rest/client/v2_alpha/test_register.py
index 8f0c2430e8..bcb21d0ced 100644 --- a/tests/rest/client/v2_alpha/test_register.py +++ b/tests/rest/client/v2_alpha/test_register.py
@@ -121,6 +121,7 @@ class RegisterRestServletTestCase(unittest.HomeserverTestCase): self.assertEquals(channel.result["code"], b"403", channel.result) self.assertEquals(channel.json_body["error"], "Registration has been disabled") + self.assertEquals(channel.json_body["errcode"], "M_FORBIDDEN") def test_POST_guest_registration(self): self.hs.config.macaroon_secret_key = "test"