diff options
author | Richard van der Hoff <richard@matrix.org> | 2017-10-20 23:37:22 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2017-10-20 23:37:22 +0100 |
commit | 58fbbe0f1db78d9dc91a319874dc8409e77cbf4c (patch) | |
tree | 218d3fc495b5aac352988b097a0ad1b65528d254 /synapse/groups | |
parent | Merge pull request #2559 from matrix-org/erikj/group_id_validation (diff) | |
download | synapse-58fbbe0f1db78d9dc91a319874dc8409e77cbf4c.tar.xz |
Disallow capital letters in userids
Factor out a common function for checking user ids and group ids, which forbids capitals.
Diffstat (limited to 'synapse/groups')
-rw-r--r-- | synapse/groups/groups_server.py | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/synapse/groups/groups_server.py b/synapse/groups/groups_server.py index fc4edb7f04..c359bfa72b 100644 --- a/synapse/groups/groups_server.py +++ b/synapse/groups/groups_server.py @@ -13,14 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -from twisted.internet import defer +import logging +from synapse import types from synapse.api.errors import SynapseError -from synapse.types import UserID, get_domain_from_id, RoomID, GroupID - - -import logging -import urllib +from synapse.types import GroupID, RoomID, UserID, get_domain_from_id +from twisted.internet import defer logger = logging.getLogger(__name__) @@ -793,10 +791,7 @@ def _validate_group_id(group_id): """ localpart = GroupID.from_string(group_id).localpart - if localpart.lower() != localpart: - raise SynapseError(400, "Group ID must be lower case") - - if urllib.quote(localpart.encode('utf-8')) != localpart: + if types.contains_invalid_mxid_characters(localpart): raise SynapseError( 400, "Group ID can only contain characters a-z, 0-9, or '_-./'", |