Allow upper-case characters in mxids

Because we're never going to be able to fix this :'(
This commit is contained in:
Richard van der Hoff 2017-11-09 19:36:13 +00:00
parent 2dce6b15c3
commit b70b646903

View file

@ -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 '=_-./'",