summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorKegan Dougal <kegan@matrix.org>2014-09-03 12:09:11 +0100
committerKegan Dougal <kegan@matrix.org>2014-09-03 12:09:20 +0100
commitdfea1730dcb7f75189ede3f8ee71c5421d2aa5ed (patch)
treeb88dc5cf588a415c2f0497fe330619dc6d81c713 /synapse
parentMerge branch 'develop' of github.com:matrix-org/synapse into develop (diff)
downloadsynapse-dfea1730dcb7f75189ede3f8ee71c5421d2aa5ed.tar.xz
apidocs: mtime_age > last_active_ago. Presence REST: Sanity check values in invite/drop arrays.
Diffstat (limited to 'synapse')
-rw-r--r--synapse/rest/presence.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/synapse/rest/presence.py b/synapse/rest/presence.py
index 69be6fe989..5c5adb4236 100644
--- a/synapse/rest/presence.py
+++ b/synapse/rest/presence.py
@@ -125,12 +125,20 @@ class PresenceListRestServlet(RestServlet):
 
         if "invite" in content:
             for u in content["invite"]:
+                if not isinstance(u, basestring):
+                    raise SynapseError(400, "Bad invite value.")
+                if len(u) == 0:
+                    continue
                 invited_user = self.hs.parse_userid(u)
                 deferreds.append(self.handlers.presence_handler.send_invite(
                     observer_user=user, observed_user=invited_user))
 
         if "drop" in content:
             for u in content["drop"]:
+                if not isinstance(u, basestring):
+                    raise SynapseError(400, "Bad drop value.")
+                if len(u) == 0:
+                    continue
                 dropped_user = self.hs.parse_userid(u)
                 deferreds.append(self.handlers.presence_handler.drop(
                     observer_user=user, observed_user=dropped_user))