summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard van der Hoff <github@rvanderhoff.org.uk>2017-11-09 20:06:47 +0000
committerGitHub <noreply@github.com>2017-11-09 20:06:47 +0000
commit1282086f58311d16e8ac6f39f8c07ce1d0a68841 (patch)
tree354ba4c33e1f278fd48258bb7fbbec0ca578f477
parentFix typo (diff)
parentAllow upper-case characters in mxids (diff)
downloadsynapse-1282086f58311d16e8ac6f39f8c07ce1d0a68841.tar.xz
Merge pull request #2659 from matrix-org/rav/apparently_we_dont_follow_our_own_spec_now
Allow upper-case characters in mxids
-rw-r--r--synapse/handlers/register.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/synapse/handlers/register.py b/synapse/handlers/register.py
index f6e7e58563..bd5ba6e1d8 100644
--- a/synapse/handlers/register.py
+++ b/synapse/handlers/register.py
@@ -15,6 +15,7 @@
 
 """Contains functions for registering clients."""
 import logging
+import urllib
 
 from twisted.internet import defer
 
@@ -22,7 +23,6 @@ from synapse.api.errors import (
     AuthError, Codes, SynapseError, RegistrationError, InvalidCaptchaError
 )
 from synapse.http.client import CaptchaServerHttpClient
-from synapse import types
 from synapse.types import UserID
 from synapse.util.async import run_on_reactor
 from ._base import BaseHandler
@@ -47,7 +47,7 @@ class RegistrationHandler(BaseHandler):
     @defer.inlineCallbacks
     def check_username(self, localpart, guest_access_token=None,
                        assigned_user_id=None):
-        if types.contains_invalid_mxid_characters(localpart):
+        if urllib.quote(localpart.encode('utf-8')) != localpart:
             raise SynapseError(
                 400,
                 "User ID can only contain characters a-z, 0-9, or '=_-./'",
@@ -253,7 +253,7 @@ class RegistrationHandler(BaseHandler):
         """
         Registers email_id as SAML2 Based Auth.
         """
-        if types.contains_invalid_mxid_characters(localpart):
+        if urllib.quote(localpart) != localpart:
             raise SynapseError(
                 400,
                 "User ID can only contain characters a-z, 0-9, or '=_-./'",