Merge pull request #85458 from rnhmjoj/mitmproxy
mitmproxy: 4.0.4 -> 5.1.1
This commit is contained in:
commit
d4d6d26588
26
pkgs/development/python-modules/publicsuffix2/default.nix
Normal file
26
pkgs/development/python-modules/publicsuffix2/default.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ stdenv, buildPythonPackage, fetchFromGitHub, requests }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "publicsuffix2";
|
||||||
|
version = "2.20191221";
|
||||||
|
|
||||||
|
# Tests are missing in the sdist
|
||||||
|
# See: https://github.com/nexB/python-publicsuffix2/issues/12
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "nexB";
|
||||||
|
repo = "python-publicsuffix2";
|
||||||
|
rev = "release-2.2019-12-21";
|
||||||
|
sha256 = "1dkvfvl0izq9hqzilnw8ipkbgjs9xyad9p21i3864hzinbh0wp9r";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ requests ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = ''
|
||||||
|
Get a public suffix for a domain name using the Public Suffix
|
||||||
|
List. Forked from and using the same API as the publicsuffix package.
|
||||||
|
'';
|
||||||
|
homepage = "https://pypi.python.org/pypi/publicsuffix2/";
|
||||||
|
license = licenses.mpl20;
|
||||||
|
};
|
||||||
|
}
|
|
@ -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')
|
|
|
@ -5038,6 +5038,8 @@ in {
|
||||||
|
|
||||||
publicsuffix = callPackage ../development/python-modules/publicsuffix {};
|
publicsuffix = callPackage ../development/python-modules/publicsuffix {};
|
||||||
|
|
||||||
|
publicsuffix2 = callPackage ../development/python-modules/publicsuffix2 {};
|
||||||
|
|
||||||
py = callPackage ../development/python-modules/py { };
|
py = callPackage ../development/python-modules/py { };
|
||||||
|
|
||||||
pyacoustid = callPackage ../development/python-modules/pyacoustid { };
|
pyacoustid = callPackage ../development/python-modules/pyacoustid { };
|
||||||
|
|
Loading…
Reference in a new issue