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 {
pname = "mitmproxy";
version = "4.0.4";
version = "5.1.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
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 = ''
# remove dependency constraints
sed 's/>=\([0-9]\.\?\)\+\( \?, \?<\([0-9]\.\?\)\+\)\?//' -i setup.py
@ -61,17 +29,21 @@ buildPythonPackage rec {
'';
propagatedBuildInputs = [
blinker click certifi cryptography
h2 hyperframe kaitaistruct passlib
pyasn1 pyopenssl pyparsing pyperclip
ruamel_yaml tornado urwid brotlipy
sortedcontainers ldap3 wsproto setuptools
blinker brotli certifi cffi
click cryptography flask h11
h2 hpack hyperframe itsdangerous
jinja2 kaitaistruct ldap3 markupsafe
passlib protobuf publicsuffix2 pyasn1
pycparser pyopenssl pyparsing pyperclip
ruamel_yaml setuptools six sortedcontainers
tornado urwid werkzeug wsproto zstandard
];
checkInputs = [
beautifulsoup4 flask pytest
requests glibcLocales
asynctest parver pytest-asyncio
hypothesis
];
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')