dev-python/urllib3: Remove old

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2021-03-15 09:50:10 +01:00
parent 37033d4c0b
commit da362b40c8
7 changed files with 0 additions and 398 deletions

View File

@@ -1,3 +1,2 @@
DIST urllib3-1.25.11.tar.gz 260300 BLAKE2B 06bd2107bad479e36c6474f95567c3ecb119d18b193b358df9e345e4d09392366255b21597b26fbf2374220b921cc2117a1972f88021c3a6ebac3844a319acbe SHA512 58f77edb9ced62cbac7b0baf2651c07f9f413267f103730ee25f08c5d4d0bf52a2ace02f58841bcd55652db677c7a1dc9a756681e7e32d590bc69d8b93e8f173
DIST urllib3-1.26.2.tar.gz 286877 BLAKE2B dc5884e2561fae476ba8695cf9e50abb63d8dfc45ad6219d07ba30ecae48e5f27fbdd9a324c0e71f739555c90a3653f18eda513f2ea45b76abcd8c6c714ec0f7 SHA512 4de7cf844ed0deb83c4129e1b1742eafefe95035dd7ffbeaeaaccabca8bd361de9fa240882ea4dec16a7f0b5c5684416656f0d58bea15e7aefd4132024a25c9e
DIST urllib3-1.26.3.tar.gz 292598 BLAKE2B 31bcf03debd74a65004484f12c9ad4d71b8c065344f1e377c2f4a695fc0778cf4cb503dbe243133a20d5779ba4bea455213c62aa5dc3815a994acb4e0adf46b6 SHA512 d0dde67880212dc134add3e16e0aa391170963ed26b9a7eb65399235251131ce25488268df7b2f933afc71c9a94e55e08404f9326c0bf5142869dac912d3ee01

View File

@@ -1,25 +0,0 @@
From bab9ca9f7148d6a7f15b83cfa1126bf1c8ceb17d Mon Sep 17 00:00:00 2001
From: Quentin Pradet <quentin@pradet.me>
Date: Tue, 26 Jan 2021 18:04:17 +0400
Subject: [PATCH] Don't compare bytes and str in putheader()
---
src/urllib3/connection.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/urllib3/connection.py b/src/urllib3/connection.py
index 660d679c..387f3770 100644
--- a/src/urllib3/connection.py
+++ b/src/urllib3/connection.py
@@ -215,7 +215,7 @@ class HTTPConnection(_HTTPConnection, object):
def putheader(self, header, *values):
""""""
- if SKIP_HEADER not in values:
+ if not any(isinstance(v, str) and v == SKIP_HEADER for v in values):
_HTTPConnection.putheader(self, header, *values)
elif six.ensure_str(header.lower()) not in SKIPPABLE_HEADERS:
raise ValueError(
--
2.30.0

View File

@@ -1,87 +0,0 @@
Fixes a hang on test_proxy_rejection.
https://github.com/urllib3/urllib3/commit/087d4de8487379033970898866625c00e0d51c85.patch
From 087d4de8487379033970898866625c00e0d51c85 Mon Sep 17 00:00:00 2001
From: Quentin Pradet <quentin.pradet@gmail.com>
Date: Tue, 3 Nov 2020 17:15:50 +0400
Subject: [PATCH] Fix test_proxy_rejection even with two localhost entries
---
test/contrib/test_socks.py | 34 +++++++++++++++++++++++++++++++---
1 file changed, 31 insertions(+), 3 deletions(-)
diff --git a/test/contrib/test_socks.py b/test/contrib/test_socks.py
index 1966513c1..ed716f188 100644
--- a/test/contrib/test_socks.py
+++ b/test/contrib/test_socks.py
@@ -1,8 +1,12 @@
+from __future__ import absolute_import
+
import socket
import threading
+from socket import getaddrinfo as real_getaddrinfo
from test import SHORT_TIMEOUT
import pytest
+import socks as py_socks
from dummyserver.server import DEFAULT_CA, DEFAULT_CERTS
from dummyserver.testcase import IPV4SocketDummyServerTestCase
@@ -87,6 +91,26 @@ def _address_from_socket(sock):
raise RuntimeError("Unexpected addr type: %r" % addr_type)
+def _set_up_fake_getaddrinfo(monkeypatch):
+ # Work around https://github.com/urllib3/urllib3/pull/2034
+ # Nothing prevents localhost to point to two different IPs. For example, in the
+ # Ubuntu set up by GitHub Actions, localhost points both to 127.0.0.1 and ::1.
+ #
+ # In case of failure, PySocks will try the same request on both IPs, but our
+ # handle_socks[45]_negotiation functions don't handle retries, which leads either to
+ # a deadlock or a timeout in case of a failure on the first address.
+ #
+ # However, some tests need to exercise failure. We don't want retries there, but
+ # can't affect PySocks retries via its API. Instead, we monkeypatch PySocks so that
+ # it only sees a single address, which effectively disables retries.
+ def fake_getaddrinfo(addr, port, family, socket_type):
+ gai_list = real_getaddrinfo(addr, port, family, socket_type)
+ gai_list = [gai for gai in gai_list if gai[0] == socket.AF_INET]
+ return gai_list[:1]
+
+ monkeypatch.setattr(py_socks.socket, "getaddrinfo", fake_getaddrinfo)
+
+
def handle_socks5_negotiation(sock, negotiate, username=None, password=None):
"""
Handle the SOCKS5 handshake.
@@ -334,7 +358,8 @@ def request_handler(listener):
with pytest.raises(NewConnectionError):
pm.request("GET", "http://example.com", retries=False)
- def test_proxy_rejection(self):
+ def test_proxy_rejection(self, monkeypatch):
+ _set_up_fake_getaddrinfo(monkeypatch)
evt = threading.Event()
def request_handler(listener):
@@ -429,7 +454,9 @@ def request_handler(listener):
assert response.data == b""
assert response.headers["Server"] == "SocksTestServer"
- def test_socks_with_invalid_password(self):
+ def test_socks_with_invalid_password(self, monkeypatch):
+ _set_up_fake_getaddrinfo(monkeypatch)
+
def request_handler(listener):
sock = listener.accept()[0]
@@ -592,7 +619,8 @@ def request_handler(listener):
response = pm.request("GET", "http://example.com")
assert response.status == 200
- def test_proxy_rejection(self):
+ def test_proxy_rejection(self, monkeypatch):
+ _set_up_fake_getaddrinfo(monkeypatch)
evt = threading.Event()
def request_handler(listener):

View File

@@ -1,69 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} pypy3 )
PYTHON_REQ_USE="ssl(+)"
inherit distutils-r1
DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
HOMEPAGE="https://github.com/urllib3/urllib3"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc ~x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="brotli test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
<dev-python/PySocks-2.0[${PYTHON_USEDEP}]
dev-python/certifi[${PYTHON_USEDEP}]
>=dev-python/cryptography-1.3.4[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
>=dev-python/idna-2.0.0[${PYTHON_USEDEP}]
brotli? ( dev-python/brotlicffi[${PYTHON_USEDEP}] )
"
BDEPEND="
test? (
$(python_gen_cond_dep "
${RDEPEND}
dev-python/brotlicffi[\${PYTHON_USEDEP}]
dev-python/mock[\${PYTHON_USEDEP}]
dev-python/pytest[\${PYTHON_USEDEP}]
dev-python/pytest-freezegun[\${PYTHON_USEDEP}]
>=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}]
>=www-servers/tornado-4.2.1[\${PYTHON_USEDEP}]
" python3_{6,7,8,9})
)
"
PATCHES=(
"${FILESDIR}/${P}-fix-test_proxy_rejection-test-hang.patch"
)
python_prepare_all() {
# https://github.com/urllib3/urllib3/issues/1756
sed -e 's:10.255.255.1:240.0.0.0:' \
-i test/__init__.py || die
# tests failing if 'localhost.' cannot be resolved
sed -e 's:test_dotted_fqdn:_&:' \
-i test/with_dummyserver/test_https.py || die
sed -e 's:test_request_host_header_ignores_fqdn_dot:_&:' \
-i test/with_dummyserver/test_socketlevel.py || die
distutils-r1_python_prepare_all
}
python_test() {
local -x CI=1
# FIXME: get tornado ported
case ${EPYTHON} in
python3*)
pytest -vv || die "Tests fail with ${EPYTHON}"
;;
esac
}

View File

@@ -1,70 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} pypy3 )
PYTHON_REQ_USE="ssl(+)"
inherit distutils-r1
DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
HOMEPAGE="https://github.com/urllib3/urllib3"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-macos"
IUSE="brotli test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
<dev-python/PySocks-2.0[${PYTHON_USEDEP}]
dev-python/certifi[${PYTHON_USEDEP}]
>=dev-python/cryptography-1.3.4[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
>=dev-python/idna-2.0.0[${PYTHON_USEDEP}]
brotli? ( dev-python/brotlipy[${PYTHON_USEDEP}] )
"
BDEPEND="
test? (
$(python_gen_cond_dep "
${RDEPEND}
dev-python/brotlipy[\${PYTHON_USEDEP}]
dev-python/mock[\${PYTHON_USEDEP}]
dev-python/pytest[\${PYTHON_USEDEP}]
dev-python/pytest-freezegun[\${PYTHON_USEDEP}]
>=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}]
>=www-servers/tornado-4.2.1[\${PYTHON_USEDEP}]
" python3_{6,7,8,9})
)
"
PATCHES=(
"${FILESDIR}/${P}-fix-test_proxy_rejection-test-hang.patch"
"${FILESDIR}/${P}-byteswarning.patch"
)
python_prepare_all() {
# https://github.com/urllib3/urllib3/issues/1756
sed -e 's:10.255.255.1:240.0.0.0:' \
-i test/__init__.py || die
# tests failing if 'localhost.' cannot be resolved
sed -e 's:test_dotted_fqdn:_&:' \
-i test/with_dummyserver/test_https.py || die
sed -e 's:test_request_host_header_ignores_fqdn_dot:_&:' \
-i test/with_dummyserver/test_socketlevel.py || die
distutils-r1_python_prepare_all
}
python_test() {
local -x CI=1
# FIXME: get tornado ported
case ${EPYTHON} in
python3*)
pytest -vv || die "Tests fail with ${EPYTHON}"
;;
esac
}

View File

@@ -1,77 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} pypy3 )
PYTHON_REQ_USE="ssl(+)"
inherit distutils-r1
DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
HOMEPAGE="https://github.com/urllib3/urllib3"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="brotli test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
<dev-python/PySocks-2.0[${PYTHON_USEDEP}]
dev-python/certifi[${PYTHON_USEDEP}]
>=dev-python/cryptography-1.3.4[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
>=dev-python/idna-2.0.0[${PYTHON_USEDEP}]
brotli? ( dev-python/brotlicffi[${PYTHON_USEDEP}] )
"
BDEPEND="
test? (
$(python_gen_cond_dep "
${RDEPEND}
dev-python/brotlicffi[\${PYTHON_USEDEP}]
dev-python/mock[\${PYTHON_USEDEP}]
dev-python/pytest[\${PYTHON_USEDEP}]
dev-python/pytest-freezegun[\${PYTHON_USEDEP}]
>=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}]
>=www-servers/tornado-4.2.1[\${PYTHON_USEDEP}]
" python3_{6,7,8,9})
)
"
PATCHES=(
"${FILESDIR}/${P}-fix-test_proxy_rejection-test-hang.patch"
"${FILESDIR}/${P}-byteswarning.patch"
)
python_prepare_all() {
# https://github.com/urllib3/urllib3/issues/1756
sed -e 's:10.255.255.1:240.0.0.0:' \
-i test/__init__.py || die
# upstream requires updates to this periodically. seriously?!
sed -e '/RECENT_DATE/s:date(.*):date(2020, 7, 1):' \
-i src/urllib3/connection.py || die
# tests failing if 'localhost.' cannot be resolved
sed -e 's:test_dotted_fqdn:_&:' \
-i test/with_dummyserver/test_https.py || die
sed -e 's:test_request_host_header_ignores_fqdn_dot:_&:' \
-i test/with_dummyserver/test_socketlevel.py || die
distutils-r1_python_prepare_all
}
python_test() {
local -x CI=1
# FIXME: get tornado ported
[[ ${EPYTHON} == python3* ]] || continue
local deselect=(
# TODO?
test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries
)
pytest -vv ${deselect[@]/#/--deselect } ||
die "Tests fail with ${EPYTHON}"
}

View File

@@ -1,69 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} pypy3 )
PYTHON_REQ_USE="ssl(+)"
inherit distutils-r1
DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
HOMEPAGE="https://github.com/urllib3/urllib3"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-macos"
IUSE="brotli test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
<dev-python/PySocks-2.0[${PYTHON_USEDEP}]
dev-python/certifi[${PYTHON_USEDEP}]
>=dev-python/cryptography-1.3.4[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
>=dev-python/idna-2.0.0[${PYTHON_USEDEP}]
brotli? ( dev-python/brotlipy[${PYTHON_USEDEP}] )
"
BDEPEND="
test? (
$(python_gen_cond_dep "
${RDEPEND}
dev-python/brotlipy[\${PYTHON_USEDEP}]
dev-python/mock[\${PYTHON_USEDEP}]
dev-python/pytest[\${PYTHON_USEDEP}]
dev-python/pytest-freezegun[\${PYTHON_USEDEP}]
>=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}]
>=www-servers/tornado-4.2.1[\${PYTHON_USEDEP}]
" python3_{6,7,8,9})
)
"
PATCHES=(
"${FILESDIR}/${P}-fix-test_proxy_rejection-test-hang.patch"
)
python_prepare_all() {
# https://github.com/urllib3/urllib3/issues/1756
sed -e 's:10.255.255.1:240.0.0.0:' \
-i test/__init__.py || die
# tests failing if 'localhost.' cannot be resolved
sed -e 's:test_dotted_fqdn:_&:' \
-i test/with_dummyserver/test_https.py || die
sed -e 's:test_request_host_header_ignores_fqdn_dot:_&:' \
-i test/with_dummyserver/test_socketlevel.py || die
distutils-r1_python_prepare_all
}
python_test() {
local -x CI=1
# FIXME: get tornado ported
case ${EPYTHON} in
python3*)
pytest -vv || die "Tests fail with ${EPYTHON}"
;;
esac
}