Authentication result parsing

This commit is contained in:
2023-05-29 18:32:13 -04:00
parent 0f019ebc34
commit 4a3136a766
7 changed files with 26 additions and 26 deletions

12
rpc.py
View File

@@ -112,7 +112,7 @@ class ClientSync(object):
self.recv_rpc_msg = recv_rpc_msg(self.sock)
self.lock = threading.Lock()
self._server = { 'host': host, 'port': port }
self._user = None
self._auth = None
self.context = 'XUS SIGNON'
if TCPConnect and (res := self.TCPConnect(self.sock.getsockname()[0], '0', socket.gethostname())) != 'accept':
raise RPCExcInvalidResult('TCPConnect', self.sock.getsockname()[0], '0', socket.gethostname(), res)
@@ -148,9 +148,7 @@ class ClientSync(object):
res = self('XUS ESSO VALIDATE', RPCType(tuple(identity[i:i+200] for i in range(0, len(identity), 200)), RPCType.GLOBAL))
else:
res = self('XUS AV CODE', XWBHash_encrypt(identity))
if res[0] == '0' or res[2] != '0':
raise RPCExcAuth(res[3], res)
self._user = res
self._auth = res if res[0] != '0' else None
return res
def keepalive(self, interval=None, *, context=('XUS SIGNON',)):
import time
@@ -188,7 +186,7 @@ class ClientAsync(object):
self.arecv_rpc_msg = arecv_rpc_msg(self.reader)
self.lock = asyncio.Lock()
self._server = { 'host': host, 'port': port, 'info': None }
self._user = None
self._auth = None
self.context = 'XUS SIGNON'
if TCPConnect and (res := await self.TCPConnect(self.writer.get_extra_info('sockname')[0], '0', socket.gethostname())) != 'accept':
raise RPCExcInvalidResult('TCPConnect', self.writer.get_extra_info('sockname')[0], '0', socket.gethostname(), res)
@@ -229,9 +227,7 @@ class ClientAsync(object):
res = await self('XUS ESSO VALIDATE', RPCType(tuple(identity[i:i+200] for i in range(0, len(identity), 200)), RPCType.GLOBAL))
else:
res = await self('XUS AV CODE', XWBHash_encrypt(identity))
if res[0] == '0' or res[2] != '0':
raise RPCExcAuth(res[3], res)
self._user = res
self._auth = res if res[0] != '0' else None
return res
async def keepalive(self, interval=None, *, context=('XUS SIGNON',)):
interval = interval or 0.45*float((await self.XWB_GET_BROKER_INFO(context=context))[0])