mitmproxy: 4.0.4 -> 5.1.1

This commit is contained in:
rnhmjoj 2020-04-17 22:18:59 +02:00
parent a3e64e81fc
commit 55d52851a6
No known key found for this signature in database
GPG Key ID: BFBAF4C975F76450
2 changed files with 11 additions and 70 deletions

View File

@ -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; {

View File

@ -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')