summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2017-10-20 23:42:53 +0100
committerRichard van der Hoff <richard@matrix.org>2017-10-20 23:42:53 +0100
commit29812c628ba924448719f5d2cfe7e05a5b1d0f45 (patch)
tree74e484ad257823dba68fdc2239ebb830d1cb924a /synapse
parentDisallow capital letters in userids (diff)
downloadsynapse-29812c628ba924448719f5d2cfe7e05a5b1d0f45.tar.xz
Allow = in mxids and groupids
... because the spec says we should.
Diffstat (limited to 'synapse')
-rw-r--r--synapse/groups/groups_server.py2
-rw-r--r--synapse/handlers/register.py5
-rw-r--r--synapse/types.py2
3 files changed, 4 insertions, 5 deletions
diff --git a/synapse/groups/groups_server.py b/synapse/groups/groups_server.py
index c359bfa72b..3599bfe9cf 100644
--- a/synapse/groups/groups_server.py
+++ b/synapse/groups/groups_server.py
@@ -794,5 +794,5 @@ def _validate_group_id(group_id):
     if types.contains_invalid_mxid_characters(localpart):
         raise SynapseError(
             400,
-            "Group ID can only contain characters a-z, 0-9, or '_-./'",
+            "Group ID can only contain characters a-z, 0-9, or '=_-./'",
         )
diff --git a/synapse/handlers/register.py b/synapse/handlers/register.py
index c7c091f43e..52aa9964d9 100644
--- a/synapse/handlers/register.py
+++ b/synapse/handlers/register.py
@@ -49,7 +49,7 @@ class RegistrationHandler(BaseHandler):
         if types.contains_invalid_mxid_characters(localpart):
             raise SynapseError(
                 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
             )
 
@@ -255,8 +255,7 @@ class RegistrationHandler(BaseHandler):
         if types.contains_invalid_mxid_characters(localpart):
             raise SynapseError(
                 400,
-                "User ID must only contain characters which do not"
-                " require URL encoding."
+                "User ID can only contain characters a-z, 0-9, or '=_-./'",
             )
         user = UserID(localpart, self.hs.hostname)
         user_id = user.to_string()
diff --git a/synapse/types.py b/synapse/types.py
index efa721273d..88eb818de4 100644
--- a/synapse/types.py
+++ b/synapse/types.py
@@ -162,7 +162,7 @@ class GroupID(DomainSpecificString):
     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):