Fix MSSP byte error when mixing with unicode

This commit is contained in:
Griatch 2019-05-30 17:20:52 +02:00
parent 7a47c569eb
commit 64acd33d85
3 changed files with 14 additions and 5 deletions

View file

@ -196,9 +196,9 @@ class Mssp(object):
value = value()
if utils.is_iter(value):
for partval in value:
varlist += MSSP_VAR + str(variable) + MSSP_VAL + str(partval)
varlist += MSSP_VAR + bytes(variable, 'utf-8') + MSSP_VAL + bytes(partval, 'utf-8')
else:
varlist += MSSP_VAR + str(variable) + MSSP_VAL + str(value)
varlist += MSSP_VAR + bytes(variable, 'utf-8') + MSSP_VAL + bytes(value, 'utf-8')
# send to crawler by subnegotiation
self.protocol.requestNegotiation(MSSP, varlist)

View file

@ -65,6 +65,13 @@ class WebSocketClient(WebSocketServerProtocol, Session):
client_address = client_address[0] if client_address else None
self.init_session("websocket", client_address, self.factory.sessionhandler)
from evennia.utils import logger
try:
csessid = self.http_request_uri.split("?", 1)[1]
logger.log_msg("csessid: ", csessid)
except Exception:
logger.log_trace(str(self.__dict__))
csession = self.get_client_session()
uid = csession and csession.get("webclient_authenticated_uid", None)
if uid: