mitmproxy: 4.0.4 -> 5.1.1
This commit is contained in:
parent
a3e64e81fc
commit
55d52851a6
@ -4,47 +4,15 @@ with python3Packages;
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "mitmproxy";
|
pname = "mitmproxy";
|
||||||
version = "4.0.4";
|
version = "5.1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "14i9dkafvyl15rq2qa8xldscn5lmkk2g52kbi2hl63nzx9yibx6r";
|
sha256 = "1lirlckpvd3c6s6q3p32w4k4yfna5mlgr1x9g39lhzzq0sdiz3lk";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
# Tests failed due to expired test certificates,
|
|
||||||
# https://github.com/mitmproxy/mitmproxy/issues/3316
|
|
||||||
# TODO: remove on next update
|
|
||||||
name = "test-certificates.patch";
|
|
||||||
url = "https://github.com/mitmproxy/mitmproxy/commit/1b6a8d6acd3d70f9b9627ad4ae9def08103f8250.patch";
|
|
||||||
sha256 = "03y79c25yir7d8xj79czdc81y3irqq1i3ks9ca0mv1az8b7xsvfv";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
# 0.13 <= wsproto < 0.14 patch
|
|
||||||
# https://github.com/mitmproxy/mitmproxy/issues/3459
|
|
||||||
# TODO: remove on next update
|
|
||||||
name = "wsproto-0.13.patch";
|
|
||||||
url = "https://github.com/mitmproxy/mitmproxy/commit/70777a1b6ed64af9cafcdef223a8a260ecc96864.patch";
|
|
||||||
sha256 = "1ddxdr7js510kzyq3gyks4k5k1n8zb1i9amxw7wzmi1dcg8kqw9a";
|
|
||||||
# We strip these bounds anyway
|
|
||||||
excludes = [ "setup.py" ];
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
# Fix for newer pytest disallowing calling fixtures
|
|
||||||
# https://github.com/mitmproxy/mitmproxy/issues/3403
|
|
||||||
# TODO: remove on next update
|
|
||||||
name = "dont-call-fixtures.patch";
|
|
||||||
url = "https://github.com/mitmproxy/mitmproxy/commit/ce28721458c8cc71de86513a5110676e9763041b.patch";
|
|
||||||
sha256 = "05pljr28lx7l1xgswqr9sz8dnhvc7npzh8xg2p9hignf159kd54d";
|
|
||||||
# Irrelevant in nixpkgs
|
|
||||||
excludes = [ "setup.py" "setup.cfg" "release/docker/*" ];
|
|
||||||
})
|
|
||||||
./pytest5.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# remove dependency constraints
|
# remove dependency constraints
|
||||||
sed 's/>=\([0-9]\.\?\)\+\( \?, \?<\([0-9]\.\?\)\+\)\?//' -i setup.py
|
sed 's/>=\([0-9]\.\?\)\+\( \?, \?<\([0-9]\.\?\)\+\)\?//' -i setup.py
|
||||||
@ -61,17 +29,21 @@ buildPythonPackage rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
blinker click certifi cryptography
|
blinker brotli certifi cffi
|
||||||
h2 hyperframe kaitaistruct passlib
|
click cryptography flask h11
|
||||||
pyasn1 pyopenssl pyparsing pyperclip
|
h2 hpack hyperframe itsdangerous
|
||||||
ruamel_yaml tornado urwid brotlipy
|
jinja2 kaitaistruct ldap3 markupsafe
|
||||||
sortedcontainers ldap3 wsproto setuptools
|
passlib protobuf publicsuffix2 pyasn1
|
||||||
|
pycparser pyopenssl pyparsing pyperclip
|
||||||
|
ruamel_yaml setuptools six sortedcontainers
|
||||||
|
tornado urwid werkzeug wsproto zstandard
|
||||||
];
|
];
|
||||||
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
beautifulsoup4 flask pytest
|
beautifulsoup4 flask pytest
|
||||||
requests glibcLocales
|
requests glibcLocales
|
||||||
asynctest parver pytest-asyncio
|
asynctest parver pytest-asyncio
|
||||||
|
hypothesis
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
diff --git a/test/mitmproxy/net/test_tls.py b/test/mitmproxy/net/test_tls.py
|
|
||||||
index 489bf89f..c78472e3 100644
|
|
||||||
--- a/test/mitmproxy/net/test_tls.py
|
|
||||||
+++ b/test/mitmproxy/net/test_tls.py
|
|
||||||
@@ -87,14 +87,16 @@ def test_get_client_hello():
|
|
||||||
rfile = io.BufferedReader(io.BytesIO(
|
|
||||||
FULL_CLIENT_HELLO_NO_EXTENSIONS[:30]
|
|
||||||
))
|
|
||||||
- with pytest.raises(exceptions.TlsProtocolException, message="Unexpected EOF"):
|
|
||||||
+ with pytest.raises(exceptions.TlsProtocolException):
|
|
||||||
tls.get_client_hello(rfile)
|
|
||||||
+ pytest.fail("Unexpected EOF")
|
|
||||||
|
|
||||||
rfile = io.BufferedReader(io.BytesIO(
|
|
||||||
b"GET /"
|
|
||||||
))
|
|
||||||
- with pytest.raises(exceptions.TlsProtocolException, message="Expected TLS record"):
|
|
||||||
+ with pytest.raises(exceptions.TlsProtocolException):
|
|
||||||
tls.get_client_hello(rfile)
|
|
||||||
+ pytest.fail("Expected TLS record")
|
|
||||||
|
|
||||||
|
|
||||||
class TestClientHello:
|
|
||||||
@@ -153,5 +155,6 @@ class TestClientHello:
|
|
||||||
b"\x01\x00\x00\x03" + # handshake header
|
|
||||||
b"foo"
|
|
||||||
))
|
|
||||||
- with pytest.raises(exceptions.TlsProtocolException, message='Cannot parse Client Hello'):
|
|
||||||
+ with pytest.raises(exceptions.TlsProtocolException):
|
|
||||||
tls.ClientHello.from_file(rfile)
|
|
||||||
+ pytest.fail('Cannot parse Client Hello')
|
|
Loading…
Reference in New Issue
Block a user