Merge pull request #2659 from matrix-org/rav/apparently_we_dont_follow_our_own_spec_now

Allow upper-case characters in mxids
This commit is contained in:
Richard van der Hoff 2017-11-09 20:06:47 +00:00 committed by GitHub
commit 1282086f58
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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