summary refs log tree commit diff
path: root/synapse/handlers
diff options
context:
space:
mode:
authorDavid Baker <dave@matrix.org>2015-05-14 13:21:55 +0100
committerDavid Baker <dave@matrix.org>2015-05-14 13:21:55 +0100
commit92e1c8983dcbc1b9e75ff71b06928fd51627f61a (patch)
tree478aac9fe0379b37cca300538391034f0cbb065d /synapse/handlers
parentThrow error when creating room if alias contains whitespace #SYN-335 (diff)
downloadsynapse-92e1c8983dcbc1b9e75ff71b06928fd51627f61a.tar.xz
Disallow whitespace in aliases here too
Diffstat (limited to 'synapse/handlers')
-rw-r--r--synapse/handlers/directory.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/synapse/handlers/directory.py b/synapse/handlers/directory.py
index f76febee8f..e41a688836 100644
--- a/synapse/handlers/directory.py
+++ b/synapse/handlers/directory.py
@@ -22,6 +22,7 @@ from synapse.api.constants import EventTypes
 from synapse.types import RoomAlias
 
 import logging
+import string
 
 logger = logging.getLogger(__name__)
 
@@ -40,6 +41,10 @@ class DirectoryHandler(BaseHandler):
     def _create_association(self, room_alias, room_id, servers=None):
         # general association creation for both human users and app services
 
+        for wchar in string.whitespace:
+                if wchar in room_alias.localpart:
+                    raise SynapseError(400, "Invalid characters in room alias")
+
         if not self.hs.is_mine(room_alias):
             raise SynapseError(400, "Room alias must be local")
             # TODO(erikj): Change this.