diff options
author | Thomas Kriechbaumer <Kriechi@users.noreply.github.com> | 2018-06-11 13:40:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-11 13:40:31 +0200 |
commit | b6fd9b4484d8d13dfd98a900a9b97549c8f3e52f (patch) | |
tree | 82a61d7e4f178897e1a99fb7a8821a328f5170f5 | |
parent | 9047c4f2a58d6e6b08d8066fb890b2a13de21fb3 (diff) | |
parent | be26958ea83adedcfdd6af7dc713e7f83ffd1314 (diff) | |
download | mitmproxy-b6fd9b4484d8d13dfd98a900a9b97549c8f3e52f.tar.gz mitmproxy-b6fd9b4484d8d13dfd98a900a9b97549c8f3e52f.tar.bz2 mitmproxy-b6fd9b4484d8d13dfd98a900a9b97549c8f3e52f.zip |
Merge pull request #3200 from Kriechi/websocket-frame-masking-api
improve websocket frame masking api
-rw-r--r-- | mitmproxy/net/websockets/frame.py | 2 | ||||
-rw-r--r-- | test/mitmproxy/net/websockets/test_frame.py | 2 | ||||
-rw-r--r-- | test/pathod/language/test_websockets.py | 6 |
3 files changed, 2 insertions, 8 deletions
diff --git a/mitmproxy/net/websockets/frame.py b/mitmproxy/net/websockets/frame.py index ac6a0812..7b93bc24 100644 --- a/mitmproxy/net/websockets/frame.py +++ b/mitmproxy/net/websockets/frame.py @@ -71,7 +71,7 @@ class FrameHeader: else: self.length_code = length_code - if mask is DEFAULT and masking_key is DEFAULT: + if (mask is DEFAULT and masking_key is DEFAULT) or mask == 0 or mask is False: self.mask = False self.masking_key = b"" elif mask is DEFAULT: diff --git a/test/mitmproxy/net/websockets/test_frame.py b/test/mitmproxy/net/websockets/test_frame.py index 2a5bd556..f5c29c21 100644 --- a/test/mitmproxy/net/websockets/test_frame.py +++ b/test/mitmproxy/net/websockets/test_frame.py @@ -122,7 +122,7 @@ class TestFrameHeader: f = websockets.FrameHeader(masking_key=b"foob", mask=0) assert not f.mask - assert f.masking_key + assert not f.masking_key class TestFrame: diff --git a/test/pathod/language/test_websockets.py b/test/pathod/language/test_websockets.py index ed766bca..64ff024c 100644 --- a/test/pathod/language/test_websockets.py +++ b/test/pathod/language/test_websockets.py @@ -123,12 +123,6 @@ class TestWebsocketFrame: assert not frm.header.mask assert not frm.header.masking_key - frm = self.fr("wf:b'foo':-mask:k'abcd'", is_client=True) - assert not frm.header.mask - # We're reading back a corrupted frame - the first 3 characters of the - # mask is mis-interpreted as the payload - assert frm.payload == b"abc" - def test_knone(self): with pytest.raises(Exception, match="Expected 4 bytes"): self.fr("wf:b'foo':mask:knone") |