diff options
author | Brendan Abolivier <babolivier@matrix.org> | 2020-06-03 16:55:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-03 16:55:02 +0200 |
commit | c9507be9895878367184afc513dac85fd7ff29e9 (patch) | |
tree | 8b82e816dec694c63a2b38005d06e5a67538898a /synapse | |
parent | Fix exceptions when fetching events from a down host. (#7622) (diff) | |
download | synapse-c9507be9895878367184afc513dac85fd7ff29e9.tar.xz |
Check if the localpart is reserved for guests earlier in the registration flow (#7625)
This is so the user is warned about the username not being valid as soon as possible, rather than only once they've finished UIA.
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/handlers/register.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/synapse/handlers/register.py b/synapse/handlers/register.py index a6178e74a1..55a03e53ea 100644 --- a/synapse/handlers/register.py +++ b/synapse/handlers/register.py @@ -128,6 +128,15 @@ class RegistrationHandler(BaseHandler): errcode=Codes.FORBIDDEN, ) + if guest_access_token is None: + try: + int(localpart) + raise SynapseError( + 400, "Numeric user IDs are reserved for guest users." + ) + except ValueError: + pass + @defer.inlineCallbacks def register_user( self, @@ -170,15 +179,6 @@ class RegistrationHandler(BaseHandler): was_guest = guest_access_token is not None - if not was_guest: - try: - int(localpart) - raise SynapseError( - 400, "Numeric user IDs are reserved for guest users." - ) - except ValueError: - pass - user = UserID(localpart, self.hs.hostname) user_id = user.to_string() |