diff options
author | Shadab Zafar <dufferzafar0@gmail.com> | 2016-06-08 16:37:56 +0530 |
---|---|---|
committer | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2016-06-15 09:49:38 +0200 |
commit | d9b940c21e7729da1b6a63d8e82cd3ad4a82f775 (patch) | |
tree | bc2faa31a34bf7496174cabac402ed1c03c9d314 | |
parent | 0f1aa2b78e1c22da16a482aedae4ed9800830007 (diff) | |
download | mitmproxy-d9b940c21e7729da1b6a63d8e82cd3ad4a82f775.tar.gz mitmproxy-d9b940c21e7729da1b6a63d8e82cd3ad4a82f775.tar.bz2 mitmproxy-d9b940c21e7729da1b6a63d8e82cd3ad4a82f775.zip |
Py3: websockets
-rw-r--r-- | netlib/websockets/protocol.py | 4 | ||||
-rw-r--r-- | pathod/language/websockets.py | 5 | ||||
-rw-r--r-- | pathod/protocols/websockets.py | 2 |
3 files changed, 6 insertions, 5 deletions
diff --git a/netlib/websockets/protocol.py b/netlib/websockets/protocol.py index c1b7be2c..af0eef7d 100644 --- a/netlib/websockets/protocol.py +++ b/netlib/websockets/protocol.py @@ -20,7 +20,7 @@ import os import six -from netlib import http +from netlib import http, strutils websockets_magic = b'258EAFA5-E914-47DA-95CA-C5AB0DC85B11' VERSION = "13" @@ -109,4 +109,4 @@ class WebsocketsProtocol(object): @classmethod def create_server_nonce(self, client_nonce): - return base64.b64encode(hashlib.sha1(client_nonce + websockets_magic).digest()) + return base64.b64encode(hashlib.sha1(strutils.always_bytes(client_nonce) + websockets_magic).digest()) diff --git a/pathod/language/websockets.py b/pathod/language/websockets.py index 9b752b7e..417944af 100644 --- a/pathod/language/websockets.py +++ b/pathod/language/websockets.py @@ -1,10 +1,11 @@ import random import string import netlib.websockets +from netlib import strutils import pyparsing as pp from . import base, generators, actions, message -NESTED_LEADER = "pathod!" +NESTED_LEADER = b"pathod!" class WF(base.CaselessLiteral): @@ -193,7 +194,7 @@ class WebsocketFrame(message.Message): bodygen = self.rawbody.value.get_generator(settings) length = len(self.rawbody.value.get_generator(settings)) elif self.nested_frame: - bodygen = NESTED_LEADER + self.nested_frame.parsed.spec() + bodygen = NESTED_LEADER + strutils.always_bytes(self.nested_frame.parsed.spec()) length = len(bodygen) else: bodygen = None diff --git a/pathod/protocols/websockets.py b/pathod/protocols/websockets.py index 2b60e618..a34e75e8 100644 --- a/pathod/protocols/websockets.py +++ b/pathod/protocols/websockets.py @@ -37,7 +37,7 @@ class WebsocketsProtocol: if frm.payload.startswith(ld): nest = frm.payload[len(ld):] try: - wf_gen = language.parse_websocket_frame(nest) + wf_gen = language.parse_websocket_frame(nest.decode()) except language.exceptions.ParseException as v: logger.write( "Parse error in reflected frame specifcation:" |