From 333cc8ddf224644cfa1957be3fa838ffc2611d8b Mon Sep 17 00:00:00 2001 From: BarsTiger Date: Tue, 25 Jul 2023 17:25:26 +0300 Subject: [PATCH] Room password auth --- .../modules/server/handlers/managers/connection.py | 1 + .../modules/server/handlers/managers/room.py | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/dragonion_server/modules/server/handlers/managers/connection.py b/dragonion_server/modules/server/handlers/managers/connection.py index 69490e3..fe75be6 100644 --- a/dragonion_server/modules/server/handlers/managers/connection.py +++ b/dragonion_server/modules/server/handlers/managers/connection.py @@ -12,6 +12,7 @@ class Connection(object): ws: WebSocket username: str public_key: str + password: str async def send_webmessage(self, obj: webmessages_union): """ diff --git a/dragonion_server/modules/server/handlers/managers/room.py b/dragonion_server/modules/server/handlers/managers/room.py index 622ea22..fcca882 100644 --- a/dragonion_server/modules/server/handlers/managers/room.py +++ b/dragonion_server/modules/server/handlers/managers/room.py @@ -46,7 +46,8 @@ class Room(object): connection = Connection( username=connection_message.username, ws=ws, - public_key=connection_message.public_key + public_key=connection_message.public_key, + password=connection_message.password ) if connection_message.username in self.connections.keys(): @@ -61,9 +62,12 @@ class Room(object): connected_users=dict( map( lambda i, j: (i, j), - list(self.connections.keys()), + [_username for _username in list(self.connections.keys()) + if self.connections[_username].password == + connection_message.password], [_connection.public_key for _connection - in self.connections.values()] + in self.connections.values() if _connection.password == + connection_message.password] ) ) ))