Compare commits

..

No commits in common. "c1a6d9a53a6b0f9f11cd01349e959bf20c8d41d0" and "7d8488adc7ea2d9b5d268f3e51ec10426d806edf" have entirely different histories.

2 changed files with 6 additions and 21 deletions

View File

@ -65,9 +65,6 @@ class Config:
#: Postgres credentials
POSTGRES = {}
#: Shared secret for LVSP
LVSP_SECRET = ""
class Development(Config):

View File

@ -24,9 +24,6 @@ from typing import Dict
import websockets
from logbook import Logger
import hmac
import hashlib
from litecord.voice.lvsp_opcodes import OPCodes as OP, InfoTable, InfoReverse
log = Logger(__name__)
@ -62,7 +59,7 @@ class LVSPConnection:
"""Receive a payload."""
assert self.conn is not None
msg = await self.conn.recv()
msg = json.loads(msg)
msg = json.dumps(msg)
return msg
async def send_op(self, opcode: int, data: dict):
@ -103,15 +100,10 @@ class LVSPConnection:
"""Handle HELLO message."""
data = msg["d"]
# nonce = data['nonce']
self._hb_interval = data["heartbeat_interval"]
token = hmac.new(
self.app.config.get("LVSP_SECRET").encode(),
data["nonce"].encode(),
hashlib.sha256,
).hexdigest()
await self.send_op(OP.identify, {"token": token})
# TODO: send identify
async def _update_health(self, new_health: float):
"""Update the health value of a given voice server."""
@ -120,7 +112,7 @@ class LVSPConnection:
await self.app.db.execute(
"""
UPDATE voice_servers
SET last_health = $1
SET health = $1
WHERE hostname = $2
""",
new_health,
@ -132,17 +124,13 @@ class LVSPConnection:
We only start heartbeating after READY.
"""
data = msg["d"]
await self._update_health(data["health"])
await self._update_health(msg["health"])
self._start_hb()
async def _handle_5(self, msg):
"""Handle HEARTBEAT_ACK."""
self._stop_hb()
data = msg["d"]
await self._update_health(data["health"])
await self._update_health(msg["health"])
self._start_hb()
async def _handle_6(self, msg):