瀏覽代碼

Remove completely unused concepts from codebase

Removes device_id and ClientInfo

device_id is never actually written, and the matrix.org DB has no
non-null entries for it. Right now, it's just cluttering up code.

This doesn't remove the columns from the database, because that's
fiddly.
Daniel Wagner-Hall 8 年之前
父節點
當前提交
a0b181bd17

+ 7 - 10
synapse/api/auth.py

@@ -20,7 +20,7 @@ from twisted.internet import defer
 from synapse.api.constants import EventTypes, Membership, JoinRules
 from synapse.api.constants import EventTypes, Membership, JoinRules
 from synapse.api.errors import AuthError, Codes, SynapseError
 from synapse.api.errors import AuthError, Codes, SynapseError
 from synapse.util.logutils import log_function
 from synapse.util.logutils import log_function
-from synapse.types import UserID, ClientInfo
+from synapse.types import UserID
 
 
 import logging
 import logging
 
 
@@ -322,9 +322,9 @@ class Auth(object):
         Args:
         Args:
             request - An HTTP request with an access_token query parameter.
             request - An HTTP request with an access_token query parameter.
         Returns:
         Returns:
-            tuple : of UserID and device string:
-                User ID object of the user making the request
-                ClientInfo object of the client instance the user is using
+            tuple of:
+                UserID (str)
+                Access token ID (str)
         Raises:
         Raises:
             AuthError if no user by that token exists or the token is invalid.
             AuthError if no user by that token exists or the token is invalid.
         """
         """
@@ -355,7 +355,7 @@ class Auth(object):
                 request.authenticated_entity = user_id
                 request.authenticated_entity = user_id
 
 
                 defer.returnValue(
                 defer.returnValue(
-                    (UserID.from_string(user_id), ClientInfo("", ""))
+                    (UserID.from_string(user_id), "")
                 )
                 )
                 return
                 return
             except KeyError:
             except KeyError:
@@ -363,7 +363,6 @@ class Auth(object):
 
 
             user_info = yield self.get_user_by_access_token(access_token)
             user_info = yield self.get_user_by_access_token(access_token)
             user = user_info["user"]
             user = user_info["user"]
-            device_id = user_info["device_id"]
             token_id = user_info["token_id"]
             token_id = user_info["token_id"]
 
 
             ip_addr = self.hs.get_ip_from_request(request)
             ip_addr = self.hs.get_ip_from_request(request)
@@ -375,14 +374,13 @@ class Auth(object):
                 self.store.insert_client_ip(
                 self.store.insert_client_ip(
                     user=user,
                     user=user,
                     access_token=access_token,
                     access_token=access_token,
-                    device_id=user_info["device_id"],
                     ip=ip_addr,
                     ip=ip_addr,
                     user_agent=user_agent
                     user_agent=user_agent
                 )
                 )
 
 
             request.authenticated_entity = user.to_string()
             request.authenticated_entity = user.to_string()
 
 
-            defer.returnValue((user, ClientInfo(device_id, token_id)))
+            defer.returnValue((user, token_id,))
         except KeyError:
         except KeyError:
             raise AuthError(
             raise AuthError(
                 self.TOKEN_NOT_FOUND_HTTP_STATUS, "Missing access token.",
                 self.TOKEN_NOT_FOUND_HTTP_STATUS, "Missing access token.",
@@ -396,7 +394,7 @@ class Auth(object):
         Args:
         Args:
             token (str): The access token to get the user by.
             token (str): The access token to get the user by.
         Returns:
         Returns:
-            dict : dict that includes the user, device_id, and whether the
+            dict : dict that includes the user and whether the
                 user is a server admin.
                 user is a server admin.
         Raises:
         Raises:
             AuthError if no user by that token exists or the token is invalid.
             AuthError if no user by that token exists or the token is invalid.
@@ -409,7 +407,6 @@ class Auth(object):
             )
             )
         user_info = {
         user_info = {
             "admin": bool(ret.get("admin", False)),
             "admin": bool(ret.get("admin", False)),
-            "device_id": ret.get("device_id"),
             "user": UserID.from_string(ret.get("name")),
             "user": UserID.from_string(ret.get("name")),
             "token_id": ret.get("token_id", None),
             "token_id": ret.get("token_id", None),
         }
         }

+ 1 - 0
synapse/handlers/admin.py

@@ -34,6 +34,7 @@ class AdminHandler(BaseHandler):
 
 
         d = {}
         d = {}
         for r in res:
         for r in res:
+            # Note that device_id is always None
             device = d.setdefault(r["device_id"], {})
             device = d.setdefault(r["device_id"], {})
             session = device.setdefault(r["access_token"], [])
             session = device.setdefault(r["access_token"], [])
             session.append({
             session.append({

+ 3 - 6
synapse/handlers/message.py

@@ -183,7 +183,7 @@ class MessageHandler(BaseHandler):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def create_and_send_event(self, event_dict, ratelimit=True,
     def create_and_send_event(self, event_dict, ratelimit=True,
-                              client=None, txn_id=None):
+                              token_id=None, txn_id=None):
         """ Given a dict from a client, create and handle a new event.
         """ Given a dict from a client, create and handle a new event.
 
 
         Creates an FrozenEvent object, filling out auth_events, prev_events,
         Creates an FrozenEvent object, filling out auth_events, prev_events,
@@ -217,11 +217,8 @@ class MessageHandler(BaseHandler):
                     builder.content
                     builder.content
                 )
                 )
 
 
-        if client is not None:
-            if client.token_id is not None:
-                builder.internal_metadata.token_id = client.token_id
-            if client.device_id is not None:
-                builder.internal_metadata.device_id = client.device_id
+        if token_id is not None:
+            builder.internal_metadata.token_id = token_id
 
 
         if txn_id is not None:
         if txn_id is not None:
             builder.internal_metadata.txn_id = txn_id
             builder.internal_metadata.txn_id = txn_id

+ 1 - 1
synapse/rest/client/v1/admin.py

@@ -31,7 +31,7 @@ class WhoisRestServlet(ClientV1RestServlet):
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request, user_id):
     def on_GET(self, request, user_id):
         target_user = UserID.from_string(user_id)
         target_user = UserID.from_string(user_id)
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
         is_admin = yield self.auth.is_server_admin(auth_user)
         is_admin = yield self.auth.is_server_admin(auth_user)
 
 
         if not is_admin and target_user != auth_user:
         if not is_admin and target_user != auth_user:

+ 2 - 2
synapse/rest/client/v1/directory.py

@@ -69,7 +69,7 @@ class ClientDirectoryServer(ClientV1RestServlet):
 
 
         try:
         try:
             # try to auth as a user
             # try to auth as a user
-            user, client = yield self.auth.get_user_by_req(request)
+            user, _ = yield self.auth.get_user_by_req(request)
             try:
             try:
                 user_id = user.to_string()
                 user_id = user.to_string()
                 yield dir_handler.create_association(
                 yield dir_handler.create_association(
@@ -116,7 +116,7 @@ class ClientDirectoryServer(ClientV1RestServlet):
             # fallback to default user behaviour if they aren't an AS
             # fallback to default user behaviour if they aren't an AS
             pass
             pass
 
 
-        user, client = yield self.auth.get_user_by_req(request)
+        user, _ = yield self.auth.get_user_by_req(request)
 
 
         is_admin = yield self.auth.is_server_admin(user)
         is_admin = yield self.auth.is_server_admin(user)
         if not is_admin:
         if not is_admin:

+ 2 - 2
synapse/rest/client/v1/events.py

@@ -34,7 +34,7 @@ class EventStreamRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request):
     def on_GET(self, request):
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
         try:
         try:
             handler = self.handlers.event_stream_handler
             handler = self.handlers.event_stream_handler
             pagin_config = PaginationConfig.from_request(request)
             pagin_config = PaginationConfig.from_request(request)
@@ -71,7 +71,7 @@ class EventRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request, event_id):
     def on_GET(self, request, event_id):
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
         handler = self.handlers.event_handler
         handler = self.handlers.event_handler
         event = yield handler.get_event(auth_user, event_id)
         event = yield handler.get_event(auth_user, event_id)
 
 

+ 1 - 1
synapse/rest/client/v1/initial_sync.py

@@ -25,7 +25,7 @@ class InitialSyncRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request):
     def on_GET(self, request):
-        user, client = yield self.auth.get_user_by_req(request)
+        user, _ = yield self.auth.get_user_by_req(request)
         with_feedback = "feedback" in request.args
         with_feedback = "feedback" in request.args
         as_client_event = "raw" not in request.args
         as_client_event = "raw" not in request.args
         pagination_config = PaginationConfig.from_request(request)
         pagination_config = PaginationConfig.from_request(request)

+ 4 - 4
synapse/rest/client/v1/presence.py

@@ -32,7 +32,7 @@ class PresenceStatusRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request, user_id):
     def on_GET(self, request, user_id):
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
         user = UserID.from_string(user_id)
         user = UserID.from_string(user_id)
 
 
         state = yield self.handlers.presence_handler.get_state(
         state = yield self.handlers.presence_handler.get_state(
@@ -42,7 +42,7 @@ class PresenceStatusRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_PUT(self, request, user_id):
     def on_PUT(self, request, user_id):
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
         user = UserID.from_string(user_id)
         user = UserID.from_string(user_id)
 
 
         state = {}
         state = {}
@@ -77,7 +77,7 @@ class PresenceListRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request, user_id):
     def on_GET(self, request, user_id):
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
         user = UserID.from_string(user_id)
         user = UserID.from_string(user_id)
 
 
         if not self.hs.is_mine(user):
         if not self.hs.is_mine(user):
@@ -97,7 +97,7 @@ class PresenceListRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_POST(self, request, user_id):
     def on_POST(self, request, user_id):
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
         user = UserID.from_string(user_id)
         user = UserID.from_string(user_id)
 
 
         if not self.hs.is_mine(user):
         if not self.hs.is_mine(user):

+ 2 - 2
synapse/rest/client/v1/profile.py

@@ -37,7 +37,7 @@ class ProfileDisplaynameRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_PUT(self, request, user_id):
     def on_PUT(self, request, user_id):
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
         user = UserID.from_string(user_id)
         user = UserID.from_string(user_id)
 
 
         try:
         try:
@@ -70,7 +70,7 @@ class ProfileAvatarURLRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_PUT(self, request, user_id):
     def on_PUT(self, request, user_id):
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
         user = UserID.from_string(user_id)
         user = UserID.from_string(user_id)
 
 
         try:
         try:

+ 2 - 2
synapse/rest/client/v1/pusher.py

@@ -27,7 +27,7 @@ class PusherRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_POST(self, request):
     def on_POST(self, request):
-        user, client = yield self.auth.get_user_by_req(request)
+        user, token_id = yield self.auth.get_user_by_req(request)
 
 
         content = _parse_json(request)
         content = _parse_json(request)
 
 
@@ -65,7 +65,7 @@ class PusherRestServlet(ClientV1RestServlet):
         try:
         try:
             yield pusher_pool.add_pusher(
             yield pusher_pool.add_pusher(
                 user_name=user.to_string(),
                 user_name=user.to_string(),
-                access_token=client.token_id,
+                access_token=token_id,
                 profile_tag=content['profile_tag'],
                 profile_tag=content['profile_tag'],
                 kind=content['kind'],
                 kind=content['kind'],
                 app_id=content['app_id'],
                 app_id=content['app_id'],

+ 17 - 17
synapse/rest/client/v1/room.py

@@ -62,7 +62,7 @@ class RoomCreateRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_POST(self, request):
     def on_POST(self, request):
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
 
 
         room_config = self.get_room_config(request)
         room_config = self.get_room_config(request)
         info = yield self.make_room(room_config, auth_user, None)
         info = yield self.make_room(room_config, auth_user, None)
@@ -125,7 +125,7 @@ class RoomStateEventRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request, room_id, event_type, state_key):
     def on_GET(self, request, room_id, event_type, state_key):
-        user, client = yield self.auth.get_user_by_req(request)
+        user, _ = yield self.auth.get_user_by_req(request)
 
 
         msg_handler = self.handlers.message_handler
         msg_handler = self.handlers.message_handler
         data = yield msg_handler.get_room_data(
         data = yield msg_handler.get_room_data(
@@ -143,7 +143,7 @@ class RoomStateEventRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_PUT(self, request, room_id, event_type, state_key, txn_id=None):
     def on_PUT(self, request, room_id, event_type, state_key, txn_id=None):
-        user, client = yield self.auth.get_user_by_req(request)
+        user, token_id = yield self.auth.get_user_by_req(request)
 
 
         content = _parse_json(request)
         content = _parse_json(request)
 
 
@@ -159,7 +159,7 @@ class RoomStateEventRestServlet(ClientV1RestServlet):
 
 
         msg_handler = self.handlers.message_handler
         msg_handler = self.handlers.message_handler
         yield msg_handler.create_and_send_event(
         yield msg_handler.create_and_send_event(
-            event_dict, client=client, txn_id=txn_id,
+            event_dict, token_id=token_id, txn_id=txn_id,
         )
         )
 
 
         defer.returnValue((200, {}))
         defer.returnValue((200, {}))
@@ -175,7 +175,7 @@ class RoomSendEventRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_POST(self, request, room_id, event_type, txn_id=None):
     def on_POST(self, request, room_id, event_type, txn_id=None):
-        user, client = yield self.auth.get_user_by_req(request)
+        user, token_id = yield self.auth.get_user_by_req(request)
         content = _parse_json(request)
         content = _parse_json(request)
 
 
         msg_handler = self.handlers.message_handler
         msg_handler = self.handlers.message_handler
@@ -186,7 +186,7 @@ class RoomSendEventRestServlet(ClientV1RestServlet):
                 "room_id": room_id,
                 "room_id": room_id,
                 "sender": user.to_string(),
                 "sender": user.to_string(),
             },
             },
-            client=client,
+            token_id=token_id,
             txn_id=txn_id,
             txn_id=txn_id,
         )
         )
 
 
@@ -220,7 +220,7 @@ class JoinRoomAliasServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_POST(self, request, room_identifier, txn_id=None):
     def on_POST(self, request, room_identifier, txn_id=None):
-        user, client = yield self.auth.get_user_by_req(request)
+        user, token_id = yield self.auth.get_user_by_req(request)
 
 
         # the identifier could be a room alias or a room id. Try one then the
         # the identifier could be a room alias or a room id. Try one then the
         # other if it fails to parse, without swallowing other valid
         # other if it fails to parse, without swallowing other valid
@@ -250,7 +250,7 @@ class JoinRoomAliasServlet(ClientV1RestServlet):
                     "sender": user.to_string(),
                     "sender": user.to_string(),
                     "state_key": user.to_string(),
                     "state_key": user.to_string(),
                 },
                 },
-                client=client,
+                token_id=token_id,
                 txn_id=txn_id,
                 txn_id=txn_id,
             )
             )
 
 
@@ -289,7 +289,7 @@ class RoomMemberListRestServlet(ClientV1RestServlet):
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request, room_id):
     def on_GET(self, request, room_id):
         # TODO support Pagination stream API (limit/tokens)
         # TODO support Pagination stream API (limit/tokens)
-        user, client = yield self.auth.get_user_by_req(request)
+        user, _ = yield self.auth.get_user_by_req(request)
         handler = self.handlers.room_member_handler
         handler = self.handlers.room_member_handler
         members = yield handler.get_room_members_as_pagination_chunk(
         members = yield handler.get_room_members_as_pagination_chunk(
             room_id=room_id,
             room_id=room_id,
@@ -317,7 +317,7 @@ class RoomMessageListRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request, room_id):
     def on_GET(self, request, room_id):
-        user, client = yield self.auth.get_user_by_req(request)
+        user, _ = yield self.auth.get_user_by_req(request)
         pagination_config = PaginationConfig.from_request(
         pagination_config = PaginationConfig.from_request(
             request, default_limit=10,
             request, default_limit=10,
         )
         )
@@ -341,7 +341,7 @@ class RoomStateRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request, room_id):
     def on_GET(self, request, room_id):
-        user, client = yield self.auth.get_user_by_req(request)
+        user, _ = yield self.auth.get_user_by_req(request)
         handler = self.handlers.message_handler
         handler = self.handlers.message_handler
         # Get all the current state for this room
         # Get all the current state for this room
         events = yield handler.get_state_events(
         events = yield handler.get_state_events(
@@ -357,7 +357,7 @@ class RoomInitialSyncRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request, room_id):
     def on_GET(self, request, room_id):
-        user, client = yield self.auth.get_user_by_req(request)
+        user, _ = yield self.auth.get_user_by_req(request)
         pagination_config = PaginationConfig.from_request(request)
         pagination_config = PaginationConfig.from_request(request)
         content = yield self.handlers.message_handler.room_initial_sync(
         content = yield self.handlers.message_handler.room_initial_sync(
             room_id=room_id,
             room_id=room_id,
@@ -402,7 +402,7 @@ class RoomMembershipRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_POST(self, request, room_id, membership_action, txn_id=None):
     def on_POST(self, request, room_id, membership_action, txn_id=None):
-        user, client = yield self.auth.get_user_by_req(request)
+        user, token_id = yield self.auth.get_user_by_req(request)
 
 
         content = _parse_json(request)
         content = _parse_json(request)
 
 
@@ -427,7 +427,7 @@ class RoomMembershipRestServlet(ClientV1RestServlet):
                 "sender": user.to_string(),
                 "sender": user.to_string(),
                 "state_key": state_key,
                 "state_key": state_key,
             },
             },
-            client=client,
+            token_id=token_id,
             txn_id=txn_id,
             txn_id=txn_id,
         )
         )
 
 
@@ -457,7 +457,7 @@ class RoomRedactEventRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_POST(self, request, room_id, event_id, txn_id=None):
     def on_POST(self, request, room_id, event_id, txn_id=None):
-        user, client = yield self.auth.get_user_by_req(request)
+        user, token_id = yield self.auth.get_user_by_req(request)
         content = _parse_json(request)
         content = _parse_json(request)
 
 
         msg_handler = self.handlers.message_handler
         msg_handler = self.handlers.message_handler
@@ -469,7 +469,7 @@ class RoomRedactEventRestServlet(ClientV1RestServlet):
                 "sender": user.to_string(),
                 "sender": user.to_string(),
                 "redacts": event_id,
                 "redacts": event_id,
             },
             },
-            client=client,
+            token_id=token_id,
             txn_id=txn_id,
             txn_id=txn_id,
         )
         )
 
 
@@ -497,7 +497,7 @@ class RoomTypingRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_PUT(self, request, room_id, user_id):
     def on_PUT(self, request, room_id, user_id):
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
 
 
         room_id = urllib.unquote(room_id)
         room_id = urllib.unquote(room_id)
         target_user = UserID.from_string(urllib.unquote(user_id))
         target_user = UserID.from_string(urllib.unquote(user_id))

+ 1 - 1
synapse/rest/client/v1/voip.py

@@ -28,7 +28,7 @@ class VoipRestServlet(ClientV1RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request):
     def on_GET(self, request):
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
 
 
         turnUris = self.hs.config.turn_uris
         turnUris = self.hs.config.turn_uris
         turnSecret = self.hs.config.turn_shared_secret
         turnSecret = self.hs.config.turn_shared_secret

+ 2 - 2
synapse/rest/client/v2_alpha/account.py

@@ -55,7 +55,7 @@ class PasswordRestServlet(RestServlet):
 
 
         if LoginType.PASSWORD in result:
         if LoginType.PASSWORD in result:
             # if using password, they should also be logged in
             # if using password, they should also be logged in
-            auth_user, client = yield self.auth.get_user_by_req(request)
+            auth_user, _ = yield self.auth.get_user_by_req(request)
             if auth_user.to_string() != result[LoginType.PASSWORD]:
             if auth_user.to_string() != result[LoginType.PASSWORD]:
                 raise LoginError(400, "", Codes.UNKNOWN)
                 raise LoginError(400, "", Codes.UNKNOWN)
             user_id = auth_user.to_string()
             user_id = auth_user.to_string()
@@ -119,7 +119,7 @@ class ThreepidRestServlet(RestServlet):
             raise SynapseError(400, "Missing param", Codes.MISSING_PARAM)
             raise SynapseError(400, "Missing param", Codes.MISSING_PARAM)
         threePidCreds = body['threePidCreds']
         threePidCreds = body['threePidCreds']
 
 
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
 
 
         threepid = yield self.identity_handler.threepid_from_creds(threePidCreds)
         threepid = yield self.identity_handler.threepid_from_creds(threePidCreds)
 
 

+ 2 - 2
synapse/rest/client/v2_alpha/filter.py

@@ -40,7 +40,7 @@ class GetFilterRestServlet(RestServlet):
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request, user_id, filter_id):
     def on_GET(self, request, user_id, filter_id):
         target_user = UserID.from_string(user_id)
         target_user = UserID.from_string(user_id)
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
 
 
         if target_user != auth_user:
         if target_user != auth_user:
             raise AuthError(403, "Cannot get filters for other users")
             raise AuthError(403, "Cannot get filters for other users")
@@ -76,7 +76,7 @@ class CreateFilterRestServlet(RestServlet):
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_POST(self, request, user_id):
     def on_POST(self, request, user_id):
         target_user = UserID.from_string(user_id)
         target_user = UserID.from_string(user_id)
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
 
 
         if target_user != auth_user:
         if target_user != auth_user:
             raise AuthError(403, "Cannot create filters for other users")
             raise AuthError(403, "Cannot create filters for other users")

+ 3 - 3
synapse/rest/client/v2_alpha/keys.py

@@ -63,7 +63,7 @@ class KeyUploadServlet(RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_POST(self, request, device_id):
     def on_POST(self, request, device_id):
-        auth_user, client_info = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
         user_id = auth_user.to_string()
         user_id = auth_user.to_string()
         # TODO: Check that the device_id matches that in the authentication
         # TODO: Check that the device_id matches that in the authentication
         # or derive the device_id from the authentication instead.
         # or derive the device_id from the authentication instead.
@@ -108,7 +108,7 @@ class KeyUploadServlet(RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request, device_id):
     def on_GET(self, request, device_id):
-        auth_user, client_info = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
         user_id = auth_user.to_string()
         user_id = auth_user.to_string()
 
 
         result = yield self.store.count_e2e_one_time_keys(user_id, device_id)
         result = yield self.store.count_e2e_one_time_keys(user_id, device_id)
@@ -180,7 +180,7 @@ class KeyQueryServlet(RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request, user_id, device_id):
     def on_GET(self, request, user_id, device_id):
-        auth_user, client_info = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
         auth_user_id = auth_user.to_string()
         auth_user_id = auth_user.to_string()
         user_id = user_id if user_id else auth_user_id
         user_id = user_id if user_id else auth_user_id
         device_ids = [device_id] if device_id else []
         device_ids = [device_id] if device_id else []

+ 1 - 1
synapse/rest/client/v2_alpha/receipts.py

@@ -39,7 +39,7 @@ class ReceiptRestServlet(RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_POST(self, request, room_id, receipt_type, event_id):
     def on_POST(self, request, room_id, receipt_type, event_id):
-        user, client = yield self.auth.get_user_by_req(request)
+        user, _ = yield self.auth.get_user_by_req(request)
 
 
         yield self.receipts_handler.received_client_receipt(
         yield self.receipts_handler.received_client_receipt(
             room_id,
             room_id,

+ 1 - 1
synapse/rest/client/v2_alpha/sync.py

@@ -87,7 +87,7 @@ class SyncRestServlet(RestServlet):
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def on_GET(self, request):
     def on_GET(self, request):
-        user, client = yield self.auth.get_user_by_req(request)
+        user, _ = yield self.auth.get_user_by_req(request)
 
 
         timeout = parse_integer(request, "timeout", default=0)
         timeout = parse_integer(request, "timeout", default=0)
         limit = parse_integer(request, "limit", required=True)
         limit = parse_integer(request, "limit", required=True)

+ 1 - 1
synapse/rest/media/v0/content_repository.py

@@ -66,7 +66,7 @@ class ContentRepoResource(resource.Resource):
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def map_request_to_name(self, request):
     def map_request_to_name(self, request):
         # auth the user
         # auth the user
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
 
 
         # namespace all file uploads on the user
         # namespace all file uploads on the user
         prefix = base64.urlsafe_b64encode(
         prefix = base64.urlsafe_b64encode(

+ 1 - 1
synapse/rest/media/v1/upload_resource.py

@@ -70,7 +70,7 @@ class UploadResource(BaseMediaResource):
     @request_handler
     @request_handler
     @defer.inlineCallbacks
     @defer.inlineCallbacks
     def _async_render_POST(self, request):
     def _async_render_POST(self, request):
-        auth_user, client = yield self.auth.get_user_by_req(request)
+        auth_user, _ = yield self.auth.get_user_by_req(request)
         # TODO: The checks here are a bit late. The content will have
         # TODO: The checks here are a bit late. The content will have
         # already been uploaded to a tmp file at this point
         # already been uploaded to a tmp file at this point
         content_length = request.getHeader("Content-Length")
         content_length = request.getHeader("Content-Length")

+ 3 - 4
synapse/storage/__init__.py

@@ -94,9 +94,9 @@ class DataStore(RoomMemberStore, RoomStore,
         )
         )
 
 
     @defer.inlineCallbacks
     @defer.inlineCallbacks
-    def insert_client_ip(self, user, access_token, device_id, ip, user_agent):
+    def insert_client_ip(self, user, access_token, ip, user_agent):
         now = int(self._clock.time_msec())
         now = int(self._clock.time_msec())
-        key = (user.to_string(), access_token, device_id, ip)
+        key = (user.to_string(), access_token, ip)
 
 
         try:
         try:
             last_seen = self.client_ip_last_seen.get(key)
             last_seen = self.client_ip_last_seen.get(key)
@@ -120,7 +120,6 @@ class DataStore(RoomMemberStore, RoomStore,
                 "user_agent": user_agent,
                 "user_agent": user_agent,
             },
             },
             values={
             values={
-                "device_id": device_id,
                 "last_seen": now,
                 "last_seen": now,
             },
             },
             desc="insert_client_ip",
             desc="insert_client_ip",
@@ -132,7 +131,7 @@ class DataStore(RoomMemberStore, RoomStore,
             table="user_ips",
             table="user_ips",
             keyvalues={"user_id": user.to_string()},
             keyvalues={"user_id": user.to_string()},
             retcols=[
             retcols=[
-                "device_id", "access_token", "ip", "user_agent", "last_seen"
+                "access_token", "ip", "user_agent", "last_seen"
             ],
             ],
             desc="get_user_ip_and_agents",
             desc="get_user_ip_and_agents",
         )
         )

+ 2 - 3
synapse/storage/registration.py

@@ -163,7 +163,7 @@ class RegistrationStore(SQLBaseStore):
         Args:
         Args:
             token (str): The access token of a user.
             token (str): The access token of a user.
         Returns:
         Returns:
-            dict: Including the name (user_id), device_id and whether they are
+            dict: Including the name (user_id) and whether they are
                 an admin.
                 an admin.
         Raises:
         Raises:
             StoreError if no user was found.
             StoreError if no user was found.
@@ -228,8 +228,7 @@ class RegistrationStore(SQLBaseStore):
 
 
     def _query_for_auth(self, txn, token):
     def _query_for_auth(self, txn, token):
         sql = (
         sql = (
-            "SELECT users.name, users.admin,"
-            " access_tokens.device_id, access_tokens.id as token_id"
+            "SELECT users.name, users.admin, access_tokens.id as token_id"
             " FROM users"
             " FROM users"
             " INNER JOIN access_tokens on users.name = access_tokens.user_id"
             " INNER JOIN access_tokens on users.name = access_tokens.user_id"
             " WHERE token = ?"
             " WHERE token = ?"

+ 0 - 4
synapse/types.py

@@ -209,7 +209,3 @@ class RoomStreamToken(namedtuple("_StreamToken", "topological stream")):
             return "t%d-%d" % (self.topological, self.stream)
             return "t%d-%d" % (self.topological, self.stream)
         else:
         else:
             return "s%d" % (self.stream,)
             return "s%d" % (self.stream,)
-
-
-# token_id is the primary key ID of the access token, not the access token itself.
-ClientInfo = namedtuple("ClientInfo", ("device_id", "token_id"))

+ 3 - 5
tests/api/test_auth.py

@@ -40,7 +40,6 @@ class AuthTestCase(unittest.TestCase):
         self.store.get_app_service_by_token = Mock(return_value=None)
         self.store.get_app_service_by_token = Mock(return_value=None)
         user_info = {
         user_info = {
             "name": self.test_user,
             "name": self.test_user,
-            "device_id": "nothing",
             "token_id": "ditto",
             "token_id": "ditto",
             "admin": False
             "admin": False
         }
         }
@@ -49,7 +48,7 @@ class AuthTestCase(unittest.TestCase):
         request = Mock(args={})
         request = Mock(args={})
         request.args["access_token"] = [self.test_token]
         request.args["access_token"] = [self.test_token]
         request.requestHeaders.getRawHeaders = Mock(return_value=[""])
         request.requestHeaders.getRawHeaders = Mock(return_value=[""])
-        (user, info) = yield self.auth.get_user_by_req(request)
+        (user, _) = yield self.auth.get_user_by_req(request)
         self.assertEquals(user.to_string(), self.test_user)
         self.assertEquals(user.to_string(), self.test_user)
 
 
     def test_get_user_by_req_user_bad_token(self):
     def test_get_user_by_req_user_bad_token(self):
@@ -66,7 +65,6 @@ class AuthTestCase(unittest.TestCase):
         self.store.get_app_service_by_token = Mock(return_value=None)
         self.store.get_app_service_by_token = Mock(return_value=None)
         user_info = {
         user_info = {
             "name": self.test_user,
             "name": self.test_user,
-            "device_id": "nothing",
             "token_id": "ditto",
             "token_id": "ditto",
             "admin": False
             "admin": False
         }
         }
@@ -86,7 +84,7 @@ class AuthTestCase(unittest.TestCase):
         request = Mock(args={})
         request = Mock(args={})
         request.args["access_token"] = [self.test_token]
         request.args["access_token"] = [self.test_token]
         request.requestHeaders.getRawHeaders = Mock(return_value=[""])
         request.requestHeaders.getRawHeaders = Mock(return_value=[""])
-        (user, info) = yield self.auth.get_user_by_req(request)
+        (user, _) = yield self.auth.get_user_by_req(request)
         self.assertEquals(user.to_string(), self.test_user)
         self.assertEquals(user.to_string(), self.test_user)
 
 
     def test_get_user_by_req_appservice_bad_token(self):
     def test_get_user_by_req_appservice_bad_token(self):
@@ -121,7 +119,7 @@ class AuthTestCase(unittest.TestCase):
         request.args["access_token"] = [self.test_token]
         request.args["access_token"] = [self.test_token]
         request.args["user_id"] = [masquerading_user_id]
         request.args["user_id"] = [masquerading_user_id]
         request.requestHeaders.getRawHeaders = Mock(return_value=[""])
         request.requestHeaders.getRawHeaders = Mock(return_value=[""])
-        (user, info) = yield self.auth.get_user_by_req(request)
+        (user, _) = yield self.auth.get_user_by_req(request)
         self.assertEquals(user.to_string(), masquerading_user_id)
         self.assertEquals(user.to_string(), masquerading_user_id)
 
 
     def test_get_user_by_req_appservice_valid_token_bad_user_id(self):
     def test_get_user_by_req_appservice_valid_token_bad_user_id(self):

+ 0 - 2
tests/rest/client/v1/test_presence.py

@@ -74,7 +74,6 @@ class PresenceStateTestCase(unittest.TestCase):
             return {
             return {
                 "user": UserID.from_string(myid),
                 "user": UserID.from_string(myid),
                 "admin": False,
                 "admin": False,
-                "device_id": None,
                 "token_id": 1,
                 "token_id": 1,
             }
             }
 
 
@@ -163,7 +162,6 @@ class PresenceListTestCase(unittest.TestCase):
             return {
             return {
                 "user": UserID.from_string(myid),
                 "user": UserID.from_string(myid),
                 "admin": False,
                 "admin": False,
-                "device_id": None,
                 "token_id": 1,
                 "token_id": 1,
             }
             }
 
 

+ 0 - 7
tests/rest/client/v1/test_rooms.py

@@ -58,7 +58,6 @@ class RoomPermissionsTestCase(RestTestCase):
             return {
             return {
                 "user": UserID.from_string(self.auth_user_id),
                 "user": UserID.from_string(self.auth_user_id),
                 "admin": False,
                 "admin": False,
-                "device_id": None,
                 "token_id": 1,
                 "token_id": 1,
             }
             }
         hs.get_v1auth().get_user_by_access_token = _get_user_by_access_token
         hs.get_v1auth().get_user_by_access_token = _get_user_by_access_token
@@ -445,7 +444,6 @@ class RoomsMemberListTestCase(RestTestCase):
             return {
             return {
                 "user": UserID.from_string(self.auth_user_id),
                 "user": UserID.from_string(self.auth_user_id),
                 "admin": False,
                 "admin": False,
-                "device_id": None,
                 "token_id": 1,
                 "token_id": 1,
             }
             }
         hs.get_v1auth().get_user_by_access_token = _get_user_by_access_token
         hs.get_v1auth().get_user_by_access_token = _get_user_by_access_token
@@ -525,7 +523,6 @@ class RoomsCreateTestCase(RestTestCase):
             return {
             return {
                 "user": UserID.from_string(self.auth_user_id),
                 "user": UserID.from_string(self.auth_user_id),
                 "admin": False,
                 "admin": False,
-                "device_id": None,
                 "token_id": 1,
                 "token_id": 1,
             }
             }
         hs.get_v1auth().get_user_by_access_token = _get_user_by_access_token
         hs.get_v1auth().get_user_by_access_token = _get_user_by_access_token
@@ -618,7 +615,6 @@ class RoomTopicTestCase(RestTestCase):
             return {
             return {
                 "user": UserID.from_string(self.auth_user_id),
                 "user": UserID.from_string(self.auth_user_id),
                 "admin": False,
                 "admin": False,
-                "device_id": None,
                 "token_id": 1,
                 "token_id": 1,
             }
             }
 
 
@@ -725,7 +721,6 @@ class RoomMemberStateTestCase(RestTestCase):
             return {
             return {
                 "user": UserID.from_string(self.auth_user_id),
                 "user": UserID.from_string(self.auth_user_id),
                 "admin": False,
                 "admin": False,
-                "device_id": None,
                 "token_id": 1,
                 "token_id": 1,
             }
             }
         hs.get_v1auth().get_user_by_access_token = _get_user_by_access_token
         hs.get_v1auth().get_user_by_access_token = _get_user_by_access_token
@@ -852,7 +847,6 @@ class RoomMessagesTestCase(RestTestCase):
             return {
             return {
                 "user": UserID.from_string(self.auth_user_id),
                 "user": UserID.from_string(self.auth_user_id),
                 "admin": False,
                 "admin": False,
-                "device_id": None,
                 "token_id": 1,
                 "token_id": 1,
             }
             }
         hs.get_v1auth().get_user_by_access_token = _get_user_by_access_token
         hs.get_v1auth().get_user_by_access_token = _get_user_by_access_token
@@ -949,7 +943,6 @@ class RoomInitialSyncTestCase(RestTestCase):
             return {
             return {
                 "user": UserID.from_string(self.auth_user_id),
                 "user": UserID.from_string(self.auth_user_id),
                 "admin": False,
                 "admin": False,
-                "device_id": None,
                 "token_id": 1,
                 "token_id": 1,
             }
             }
         hs.get_v1auth().get_user_by_access_token = _get_user_by_access_token
         hs.get_v1auth().get_user_by_access_token = _get_user_by_access_token

+ 0 - 1
tests/rest/client/v1/test_typing.py

@@ -65,7 +65,6 @@ class RoomTypingTestCase(RestTestCase):
             return {
             return {
                 "user": UserID.from_string(self.auth_user_id),
                 "user": UserID.from_string(self.auth_user_id),
                 "admin": False,
                 "admin": False,
-                "device_id": None,
                 "token_id": 1,
                 "token_id": 1,
             }
             }
 
 

+ 0 - 1
tests/rest/client/v2_alpha/__init__.py

@@ -47,7 +47,6 @@ class V2AlphaRestTestCase(unittest.TestCase):
             return {
             return {
                 "user": UserID.from_string(self.USER_ID),
                 "user": UserID.from_string(self.USER_ID),
                 "admin": False,
                 "admin": False,
-                "device_id": None,
                 "token_id": 1,
                 "token_id": 1,
             }
             }
         hs.get_auth().get_user_by_access_token = _get_user_by_access_token
         hs.get_auth().get_user_by_access_token = _get_user_by_access_token

+ 0 - 2
tests/storage/test_registration.py

@@ -54,7 +54,6 @@ class RegistrationStoreTestCase(unittest.TestCase):
         self.assertDictContainsSubset(
         self.assertDictContainsSubset(
             {
             {
                 "admin": 0,
                 "admin": 0,
-                 "device_id": None,
                  "name": self.user_id,
                  "name": self.user_id,
             },
             },
             result
             result
@@ -72,7 +71,6 @@ class RegistrationStoreTestCase(unittest.TestCase):
         self.assertDictContainsSubset(
         self.assertDictContainsSubset(
             {
             {
                 "admin": 0,
                 "admin": 0,
-                 "device_id": None,
                  "name": self.user_id,
                  "name": self.user_id,
             },
             },
             result
             result

+ 1 - 2
tests/utils.py

@@ -282,7 +282,6 @@ class MemoryDataStore(object):
             return {
             return {
                 "name": self.tokens_to_users[token],
                 "name": self.tokens_to_users[token],
                 "admin": 0,
                 "admin": 0,
-                "device_id": None,
             }
             }
         except:
         except:
             raise StoreError(400, "User does not exist.")
             raise StoreError(400, "User does not exist.")
@@ -380,7 +379,7 @@ class MemoryDataStore(object):
     def get_ops_levels(self, room_id):
     def get_ops_levels(self, room_id):
         return defer.succeed((5, 5, 5))
         return defer.succeed((5, 5, 5))
 
 
-    def insert_client_ip(self, user, device_id, access_token, ip, user_agent):
+    def insert_client_ip(self, user, access_token, ip, user_agent):
         return defer.succeed(None)
         return defer.succeed(None)