summary refs log tree commit diff
path: root/synapse/server.py
diff options
context:
space:
mode:
authorDavid Baker <dave@matrix.org>2015-03-24 17:24:15 +0000
committerDavid Baker <dave@matrix.org>2015-03-24 17:24:15 +0000
commitc7023f21555a0adf0d8bb5040c817a8198bbf5a8 (patch)
treeeffa1b32f91b8b5746364fd168f91e0f7baff224 /synapse/server.py
parentMake deleting other access tokens when you change your password actually work (diff)
downloadsynapse-c7023f21555a0adf0d8bb5040c817a8198bbf5a8.tar.xz
1) Pushers are now associated with an access token
2) Change places where we mean unauthenticated to 401, not 403, in C/S v2: hack so it stays as 403 in v1 because web client relies on it.
Diffstat (limited to 'synapse/server.py')
-rw-r--r--synapse/server.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/synapse/server.py b/synapse/server.py
index c7772244ba..4c4f6ca239 100644
--- a/synapse/server.py
+++ b/synapse/server.py
@@ -65,6 +65,7 @@ class BaseHomeServer(object):
         'replication_layer',
         'datastore',
         'handlers',
+        'v1auth',
         'auth',
         'rest_servlet_factory',
         'state_handler',
@@ -182,6 +183,15 @@ class HomeServer(BaseHomeServer):
     def build_auth(self):
         return Auth(self)
 
+    def build_v1auth(self):
+        orf = Auth(self)
+        # Matrix spec makes no reference to what HTTP status code is returned,
+        # but the V1 API uses 403 where it means 401, and the webclient
+        # relies on this behaviour, so V1 gets its own copy of the auth
+        # with backwards compat behaviour.
+        orf.TOKEN_NOT_FOUND_HTTP_STATUS = 403
+        return orf
+
     def build_state_handler(self):
         return StateHandler(self)