Allow = in mxids and groupids

... because the spec says we should.
This commit is contained in:
Richard van der Hoff 2017-10-20 23:42:53 +01:00
parent 58fbbe0f1d
commit 29812c628b
3 changed files with 4 additions and 5 deletions

View file

@ -794,5 +794,5 @@ def _validate_group_id(group_id):
if types.contains_invalid_mxid_characters(localpart): if types.contains_invalid_mxid_characters(localpart):
raise SynapseError( raise SynapseError(
400, 400,
"Group ID can only contain characters a-z, 0-9, or '_-./'", "Group ID can only contain characters a-z, 0-9, or '=_-./'",
) )

View file

@ -49,7 +49,7 @@ class RegistrationHandler(BaseHandler):
if types.contains_invalid_mxid_characters(localpart): if types.contains_invalid_mxid_characters(localpart):
raise SynapseError( raise SynapseError(
400, 400,
"User ID can only contain characters a-z, 0-9, or '_-./'", "User ID can only contain characters a-z, 0-9, or '=_-./'",
Codes.INVALID_USERNAME Codes.INVALID_USERNAME
) )
@ -255,8 +255,7 @@ class RegistrationHandler(BaseHandler):
if types.contains_invalid_mxid_characters(localpart): if types.contains_invalid_mxid_characters(localpart):
raise SynapseError( raise SynapseError(
400, 400,
"User ID must only contain characters which do not" "User ID can only contain characters a-z, 0-9, or '=_-./'",
" require URL encoding."
) )
user = UserID(localpart, self.hs.hostname) user = UserID(localpart, self.hs.hostname)
user_id = user.to_string() user_id = user.to_string()

View file

@ -162,7 +162,7 @@ class GroupID(DomainSpecificString):
SIGIL = "+" SIGIL = "+"
mxid_localpart_allowed_characters = set("_-./" + string.ascii_lowercase + string.digits) mxid_localpart_allowed_characters = set("_-./=" + string.ascii_lowercase + string.digits)
def contains_invalid_mxid_characters(localpart): def contains_invalid_mxid_characters(localpart):