Compare commits

..

1 commit

Author SHA1 Message Date
Ralph Bean
3df0026b20 Update patch to find ca_certs in the correct place. 2013-10-28 13:14:00 -04:00
14 changed files with 443 additions and 594 deletions

View file

@ -1 +0,0 @@
1

56
.gitignore vendored
View file

@ -1,57 +1 @@
/urllib3-1.5.tar.gz
/urllib3-1.7.tar.gz
/urllib3-1.7.1.tar.gz
/urllib3-1.8.2.tar.gz
/urllib3-1.9.1.tar.gz
/urllib3-1.10.tar.gz
/urllib3-1.10.1.tar.gz
/urllib3-1.10.2.tar.gz
/urllib3-1.10.3.tar.gz
/urllib3-585983ab3f7fb7a0e0b223ebdab1b45471dbefe4.tar.gz
/urllib3-a91975b77a2e28394859487fe5ebbf4a3a74e634.tar.gz
/urllib3-1.10.4.tar.gz
/urllib3-1.12.tar.gz
/urllib3-1.13.tar.gz
/urllib3-1.13.1.tar.gz
/urllib3-1.15.1.tar.gz
/urllib3-1.16.tar.gz
/urllib3-1.19.1.tar.gz
/urllib3-1.20.tar.gz
/urllib3-1.21.1.tar.gz
/urllib3-1.22.tar.gz
/urllib3-1.23.tar.gz
/urllib3-1.24.tar.gz
/urllib3-1.24.1.tar.gz
/urllib3-1.24.2.tar.gz
/urllib3-1.25.2.tar.gz
/urllib3-1.25.3.tar.gz
/urllib3-1.25.6.tar.gz
/urllib3-1.25.7.tar.gz
/urllib3-1.25.8.tar.gz
/urllib3-1.25.10.tar.gz
/urllib3-1.26.4.tar.gz
/urllib3-1.26.5.tar.gz
/urllib3-1.26.6.tar.gz
/urllib3-1.26.7.tar.gz
/urllib3-1.26.8.tar.gz
/urllib3-1.26.9.tar.gz
/urllib3-1.26.12.tar.gz
/urllib3-1.26.15.tar.gz
/urllib3-1.26.16.tar.gz
/urllib3-1.26.17.tar.gz
/urllib3-1.26.18.tar.gz
/urllib3-1.26.19.tar.gz
/urllib3-2.0.7.tar.gz
/urllib3-2.1.0.tar.gz
/urllib3-2.2.0.tar.gz
/hypercorn-d1719f8c1570cbd8e6a3719ffdb14a4d72880abb.tar.gz
/urllib3-2.2.1.tar.gz
/urllib3-2.2.2.tar.gz
/urllib3-2.2.3.tar.gz
/urllib3-2.3.0.tar.gz
/urllib3-2.4.0.tar.gz
/urllib3-2.5.0.tar.gz
/urllib3-2.6.0.tar.gz
/urllib3-2.6.1.tar.gz
/urllib3-2.6.2.tar.gz
/urllib3-2.6.3.tar.gz

362
changelog
View file

@ -1,362 +0,0 @@
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.18-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.18-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Oct 17 2023 Maxwell G <maxwell@gtmx.me> - 1.26.18-1
- Update to 1.26.18.
- Mitigates CVE-2023-45803 / GHSA-g4mx-q9vg-27p4.
* Mon Oct 09 2023 Miro Hrončok <mhroncok@redhat.com> - 1.26.17-2
- Switch the hardcoded dependency on urllib3[socks] to a weak one
* Mon Oct 02 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 1.26.17-1
- Update to 1.26.17: fix CVE-2023-43804 (GHSA-v845-jxx5-vc9f)
* Wed Aug 30 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.26.16-3
- Use bundled six
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.16-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jul 01 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 1.26.16-1
- Update to 1.26.16
* Sat Jul 01 2023 Python Maint <python-maint@redhat.com> - 1.26.15-3
- Rebuilt for Python 3.12
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 1.26.15-2
- Bootstrap for Python 3.12
* Thu May 18 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 1.26.15-1
- Update to 1.26.15
* Thu May 18 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 1.26.12-5
- Confirm the License is SPDX MIT
- Update Summary and description based on upstream
- Add metapackages for brotli and socks extras
- Port to pyproject-rpm-macros
* Tue May 16 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.26.12-4
- Disable tests by default in RHEL builds
* Tue May 16 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 1.26.12-3
- Accomodate the test to the changed behavior of SSLContext.shared_ciphers() in CPython
- Fixes: rhbz#2203773
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Sep 15 2022 Kevin Fenzi <kevin@scrye.com> - 1.26.12-1
- Update to 1.26.12. Fixes rhbz#2104964
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.9-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 1.26.9-3
- Rebuilt for Python 3.11
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.26.9-2
- Bootstrap for Python 3.11
* Mon May 30 2022 Kevin Fenzi <kevin@scrye.com> - 1.26.9-1
- Update to 1.26.9. fixes rhbz#2064777
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sat Jan 08 2022 Kevin Fenzi <kevin@scrye.com> - 1.26.8-1
- Update to 1.26.8. Fixes rhbz#2038246
* Tue Jan 04 2022 Adam Williamson <awilliam@redhat.com> - 1.26.7-2
- Stop unbundling ssl.match_hostname, it's deprecated upstream (#2009550)
* Sun Sep 26 2021 Kevin Fenzi <kevin@scrye.com> - 1.26.7-1
- Update to 1.26.7. Fixes rhbz#2006973
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sun Jul 11 2021 Kevin Fenzi <kevin@scrye.com> - 1.26.6-1
- Update to 1.26.1. Fixes rhbz#1976190
- Fix FTBFS. Fixes rhbz#1966120
* Wed Jun 30 2021 Yatin Karel <ykarel@redhat.com> - 1.26.5-2
- Update minimal requirement of six to >= 1.16.0
* Wed Jun 16 2021 Karolina Surma <ksurma@redhat.com> - 1.26.5-1
- Update to 1.26.5
- Fixes rhbz#1965056
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.26.4-3
- Rebuilt for Python 3.10
* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 1.26.4-2
- Bootstrap for Python 3.10
* Tue May 18 2021 Miro Hrončok <mhroncok@redhat.com> - 1.26.4-1
- Update to 1.26.4
- Fixes rhbz#1889391
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.25.10-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 15 2021 Miro Hrončok <mhroncok@redhat.com> - 1.25.10-3
- Drop redundant BuildRequires for nose
- Instead of the mock backport, use unittest.mock from the standard library
* Tue Jan 05 2021 Anna Khaitovich <akhaitov@redhat.com> - 1.25.10-2
- Update RECENT_DATE dynamically
* Sun Sep 27 2020 Kevin Fenzi <kevin@scrye.com> - 1.25.10-1
- Update to 1.25.10. Fixed bug #1824900
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.25.8-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sun May 24 2020 Miro Hrončok <mhroncok@redhat.com> - 1.25.8-3
- Rebuilt for Python 3.9
* Fri May 22 2020 Miro Hrončok <mhroncok@redhat.com> - 1.25.8-2
- Bootstrap for Python 3.9
* Sun Mar 22 2020 Carl George <carl@george.computer> - 1.25.8-1
- Latest upstream rhbz#1771186
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.25.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Nov 18 2019 Miro Hrončok <mhroncok@redhat.com> - 1.25.7-2
- Subpackage python2-urllib3 has been removed
See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
* Tue Oct 15 2019 Jeremy Cline <jcline@redhat.com> - 1.25.6-1
- Update to v1.25.6
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 1.25.3-7
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Sun Aug 18 2019 Miro Hrončok <mhroncok@redhat.com> - 1.25.3-6
- Rebuilt for Python 3.8
* Thu Aug 15 2019 Miro Hrončok <mhroncok@redhat.com> - 1.25.3-5
- Bootstrap for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.25.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jul 08 2019 Miro Hrončok <mhroncok@redhat.com> - 1.25.3-3
- Set RECENT_DATE not to be older than 2 years (#1727796)
* Tue May 28 2019 Jeremy Cline <jcline@redhat.com> - 1.25.3-2
- Drop the Python 2 tests since Tornado is going away
* Tue May 28 2019 Jeremy Cline <jcline@redhat.com> - 1.25.3-1
- Update to 1.25.3
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.24.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Nov 13 2018 Jeremy Cline <jeremy@jcline.org> - 1.24.1-2
- Adjust unbundling of ssl_match_hostname
* Mon Oct 29 2018 Jeremy Cline <jeremy@jcline.org> - 1.24.1-1
- Update to v1.24.1
* Wed Jun 20 2018 Lumír Balhar <lbalhar@redhat.com> - 1.23-4
- Removed unneeded dependency python[23]-psutil
* Mon Jun 18 2018 Miro Hrončok <mhroncok@redhat.com> - 1.23-3
- Rebuilt for Python 3.7
* Thu Jun 14 2018 Miro Hrončok <mhroncok@redhat.com> - 1.23-2
- Bootstrap for Python 3.7
* Tue Jun 05 2018 Jeremy Cline <jeremy@jcline.org> - 1.23-1
- Update to the latest upstream release (rhbz 1586072)
* Wed May 30 2018 Jeremy Cline <jeremy@jcline.org> - 1.22-10
- Backport patch to support Python 3.7 (rhbz 1584112)
* Thu May 03 2018 Lukas Slebodnik <lslebodn@fedoraproject.org> - 1.22-9
- Do not lowercase hostnames with custom-protocol (rhbz 1567862)
- upstream: https://github.com/urllib3/urllib3/issues/1267
* Wed Apr 18 2018 Jeremy Cline <jeremy@jcline.org> - 1.22-8
- Drop the dependency on idna and cryptography (rhbz 1567862)
* Mon Apr 16 2018 Jeremy Cline <jeremy@jcline.org> - 1.22-7
- Drop the dependency on PyOpenSSL, it's not needed (rhbz 1567862)
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.22-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jan 31 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1.22-5
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Thu Jan 25 2018 Tomas Hoger <thoger@redhat.com> - 1.22-4
- Fix FTBFS - Move RECENT_DATE to 2017-06-30
* Fri Dec 01 2017 Jeremy Cline <jeremy@jcline.org> - 1.22-3
- Symlink the Python 3 bytecode for six (rbhz 1519147)
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.22-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Jul 21 2017 Jeremy Cline <jeremy@jcline.org> - 1.22-1
- Update to 1.22 (#1473293)
* Wed May 17 2017 Jeremy Cline <jeremy@jcline.org> - 1.21.1-1
- Update to 1.21.1 (#1445280)
* Thu Feb 09 2017 Jeremy Cline <jeremy@jcline.org> - 1.20-1
- Update to 1.20 (#1414775)
* Tue Dec 13 2016 Stratakis Charalampos <cstratak@redhat.com> - 1.19.1-2
- Rebuild for Python 3.6
* Thu Nov 17 2016 Jeremy Cline <jeremy@jcline.org> 1.19.1-1
- Update to 1.19.1
- Clean up the specfile to only support Fedora 26
* Wed Aug 10 2016 Kevin Fenzi <kevin@scrye.com> - 1.16-3
- Rebuild now that python-requests is ready to update.
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.16-2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Wed Jun 15 2016 Kevin Fenzi <kevin@scrye.com> - 1.16-1
- Update to 1.16
* Thu Jun 02 2016 Ralph Bean <rbean@redhat.com> - 1.15.1-3
- Create python2 subpackage to comply with guidelines.
* Wed Jun 01 2016 Ralph Bean <rbean@redhat.com> - 1.15.1-2
- Remove broken symlinks to unbundled python3-six files
https://bugzilla.redhat.com/show_bug.cgi?id=1295015
* Fri Apr 29 2016 Ralph Bean <rbean@redhat.com> - 1.15.1-1
- Removed patch for ipv6 support, now applied upstream.
- Latest version.
- New dep on pysocks.
* Fri Feb 26 2016 Ralph Bean <rbean@redhat.com> - 1.13.1-3
- Apply patch from upstream to fix ipv6.
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Dec 21 2015 Ralph Bean <rbean@redhat.com> - 1.13.1-1
- new version
* Fri Dec 18 2015 Ralph Bean <rbean@redhat.com> - 1.13-1
- new version
* Mon Dec 14 2015 Ralph Bean <rbean@redhat.com> - 1.12-1
- new version
* Thu Oct 15 2015 Robert Kuska <rkuska@redhat.com> - 1.10.4-7
- Rebuilt for Python3.5 rebuild
* Sat Oct 10 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-6
- Sync from PyPI instead of a git checkout.
* Tue Sep 08 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-5.20150503gita91975b
- Drop requirement on python-backports-ssl_match_hostname on F22 and newer.
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10.4-4.20150503gita91975b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Jun 08 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-3.20150503gita91975b
- Apply pyopenssl injection for an outdated cpython as per upstream advice
https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning
https://urllib3.readthedocs.org/en/latest/security.html#pyopenssl
* Tue May 19 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-2.20150503gita91975b
- Specify symlinks for six.py{c,o}, fixing rhbz #1222142.
* Sun May 03 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-1.20150503gita91975b
- Latest release for python-requests-2.7.0
* Wed Apr 29 2015 Ralph Bean <rbean@redhat.com> - 1.10.3-2.20150429git585983a
- Grab a git snapshot to get around this chunked encoding failure.
* Wed Apr 22 2015 Ralph Bean <rbean@redhat.com> - 1.10.3-1
- new version
* Thu Feb 26 2015 Ralph Bean <rbean@redhat.com> - 1.10.2-1
- new version
* Wed Feb 18 2015 Ralph Bean <rbean@redhat.com> - 1.10.1-1
- new version
* Wed Feb 18 2015 Ralph Bean <rbean@redhat.com> - 1.10.1-1
- new version
* Mon Jan 05 2015 Ralph Bean <rbean@redhat.com> - 1.10-2
- Copy in a shim for ssl_match_hostname on python3.
* Sun Dec 14 2014 Ralph Bean <rbean@redhat.com> - 1.10-1
- Latest upstream 1.10, for python-requests-2.5.0.
- Re-do unbundling without patch, with symlinks.
- Modernize python2 macros.
- Remove the with_dummyserver tests which fail only sometimes.
* Wed Nov 05 2014 Ralph Bean <rbean@redhat.com> - 1.9.1-1
- Latest upstream, 1.9.1 for latest python-requests.
* Mon Aug 4 2014 Tom Callaway <spot@fedoraproject.org> - 1.8.2-4
- fix license handling
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 1.8.2-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
* Mon Apr 21 2014 Arun S A G <sagarun@gmail.com> - 1.8.2-1
- Update to latest upstream version
* Mon Oct 28 2013 Ralph Bean <rbean@redhat.com> - 1.7.1-2
- Update patch to find ca_certs in the correct location.
* Wed Sep 25 2013 Ralph Bean <rbean@redhat.com> - 1.7.1-1
- Latest upstream with support for a new timeout class and py3.4.
* Wed Aug 28 2013 Ralph Bean <rbean@redhat.com> - 1.7-3
- Bump release again, just to push an unpaired update.
* Mon Aug 26 2013 Ralph Bean <rbean@redhat.com> - 1.7-2
- Bump release to pair an update with python-requests.
* Thu Aug 22 2013 Ralph Bean <rbean@redhat.com> - 1.7-1
- Update to latest upstream.
- Removed the accept-header proxy patch which is included in upstream now.
- Removed py2.6 compat patch which is included in upstream now.
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Tue Jun 11 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.5-6
- Fix Requires of python-ordereddict to only apply to RHEL
* Fri Mar 1 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.5-5
- Unbundling finished!
* Fri Mar 01 2013 Ralph Bean <rbean@redhat.com> - 1.5-4
- Upstream patch to fix Accept header when behind a proxy.
- Reorganize patch numbers to more clearly distinguish them.
* Wed Feb 27 2013 Ralph Bean <rbean@redhat.com> - 1.5-3
- Renamed patches to python-urllib3-*
- Fixed ssl check patch to use the correct cert path for Fedora.
- Included dependency on ca-certificates
- Cosmetic indentation changes to the .spec file.
* Tue Feb 5 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.5-2
- python3-tornado BR and run all unittests on python3
* Mon Feb 04 2013 Toshio Kuratomi <toshio@fedoraproject.org> 1.5-1
- Initial fedora build.

View file

@ -1,4 +0,0 @@
discover:
how: fmf
execute:
how: tmt

View file

@ -0,0 +1,28 @@
From ea36acfc8a997a19ba1ead58de0d1f01e9eb540f Mon Sep 17 00:00:00 2001
From: kevin <kevinbjiang@gmail.com>
Date: Thu, 30 Aug 2012 00:14:12 -0400
Subject: [PATCH 1/4] Fix overwritten Accept header when proxy is used
When a request specifies both an Accept header and a proxy server, the
Accept header value is overwritten.
---
urllib3/poolmanager.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/urllib3/poolmanager.py b/urllib3/poolmanager.py
index 8f5b54c..7d7d6e4 100644
--- a/urllib3/poolmanager.py
+++ b/urllib3/poolmanager.py
@@ -141,7 +141,8 @@ def _set_proxy_headers(self, headers=None):
headers = headers or {}
# Same headers are curl passes for --proxy1.0
- headers['Accept'] = '*/*'
+ if 'Accept' not in headers:
+ headers['Accept'] = '*/*'
headers['Proxy-Connection'] = 'Keep-Alive'
return headers
--
1.7.10

View file

@ -0,0 +1,20 @@
Author: Jamie Strandboge <jamie@canonical.com>
Description: require SSL certificate validation by default by using
CERT_REQUIRED and using the system /etc/ssl/certs/ca-certificates.crt
Bug-Ubuntu: https://launchpad.net/bugs/1047054
Modified for Fedora by Ralph Bean <rbean@redhat.com>
Bug-Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=855320
Index: urllib3-1.5/urllib3/connectionpool.py
===================================================================
--- urllib3-1.5.orig/urllib3/connectionpool.py
+++ urllib3-1.5/urllib3/connectionpool.py
@@ -504,7 +504,7 @@ class HTTPSConnectionPool(HTTPConnection
strict=False, timeout=None, maxsize=1,
block=False, headers=None,
key_file=None, cert_file=None,
- cert_reqs='CERT_NONE', ca_certs=None):
+ cert_reqs='CERT_REQUIRED', ca_certs='/etc/ssl/certs/ca-bundle.crt'):
super(HTTPSConnectionPool, self).__init__(host, port,
strict, timeout, maxsize,

View file

@ -0,0 +1,10 @@
Index: urllib3-1.5/setup.cfg
===================================================================
--- urllib3-1.5.orig/setup.cfg
+++ urllib3-1.5/setup.cfg
@@ -1,5 +1,4 @@
[nosetests]
-logging-clear-handlers = true
with-coverage = true
cover-package = urllib3

View file

@ -0,0 +1,89 @@
Index: urllib3-1.5/test/test_collections.py
===================================================================
--- urllib3-1.5.orig/test/test_collections.py
+++ urllib3-1.5/test/test_collections.py
@@ -122,9 +122,11 @@ class TestLRUContainer(unittest.TestCase
def test_iter(self):
d = Container()
- with self.assertRaises(NotImplementedError):
+ def to_test():
for i in d:
self.fail("Iteration shouldn't be implemented.")
+ self.assertRaises(NotImplementedError, to_test)
+
if __name__ == '__main__':
unittest.main()
Index: urllib3-1.5/test/test_connectionpool.py
===================================================================
--- urllib3-1.5.orig/test/test_connectionpool.py
+++ urllib3-1.5/test/test_connectionpool.py
@@ -98,8 +98,7 @@ class TestConnectionPool(unittest.TestCa
def _test(exception, expect):
pool._make_request = lambda *args, **kwargs: _raise(exception)
- with self.assertRaises(expect):
- pool.request('GET', '/')
+ self.assertRaises(expect, pool.request, 'GET', '/')
self.assertEqual(pool.pool.qsize(), POOL_SIZE)
@@ -114,15 +113,13 @@ class TestConnectionPool(unittest.TestCa
# MaxRetryError, not EmptyPoolError
# See: https://github.com/shazow/urllib3/issues/76
pool._make_request = lambda *args, **kwargs: _raise(HTTPException)
- with self.assertRaises(MaxRetryError):
- pool.request('GET', '/', retries=1, pool_timeout=0.01)
+ self.assertRaises(MaxRetryError, pool.request, 'GET', '/', retries=1, pool_timeout=0.01)
self.assertEqual(pool.pool.qsize(), POOL_SIZE)
def test_assert_same_host(self):
c = connection_from_url('http://google.com:80')
- with self.assertRaises(HostChangedError):
- c.request('GET', 'http://yahoo.com:80', assert_same_host=True)
+ self.assertRaises(HostChangedError, c.request, 'GET', 'http://yahoo.com:80', assert_same_host=True)
def test_pool_close(self):
pool = connection_from_url('http://google.com:80')
@@ -139,16 +136,13 @@ class TestConnectionPool(unittest.TestCa
pool.close()
self.assertEqual(pool.pool, None)
- with self.assertRaises(ClosedPoolError):
- pool._get_conn()
+ self.assertRaises(ClosedPoolError, pool._get_conn)
pool._put_conn(conn3)
- with self.assertRaises(ClosedPoolError):
- pool._get_conn()
+ self.assertRaises(ClosedPoolError, pool._get_conn)
- with self.assertRaises(Empty):
- old_pool_queue.get(block=False)
+ self.assertRaises(Empty, old_pool_queue.get, block=False)
if __name__ == '__main__':
Index: urllib3-1.5/test/test_poolmanager.py
===================================================================
--- urllib3-1.5.orig/test/test_poolmanager.py
+++ urllib3-1.5/test/test_poolmanager.py
@@ -54,13 +54,11 @@ class TestPoolManager(unittest.TestCase)
p.clear()
self.assertEqual(len(p.pools), 0)
- with self.assertRaises(ClosedPoolError):
- conn_pool._get_conn()
+ self.assertRaises(ClosedPoolError, conn_pool._get_conn)
conn_pool._put_conn(conn)
- with self.assertRaises(ClosedPoolError):
- conn_pool._get_conn()
+ self.assertRaises(ClosedPoolError, conn_pool._get_conn)
self.assertEqual(len(p.pools), 0)

View file

@ -0,0 +1,162 @@
Index: urllib3-1.5/urllib3/_collections.py
===================================================================
--- urllib3-1.5.orig/urllib3/_collections.py
+++ urllib3-1.5/urllib3/_collections.py
@@ -10,7 +10,10 @@ from threading import Lock
try: # Python 2.7+
from collections import OrderedDict
except ImportError:
- from .packages.ordered_dict import OrderedDict
+ try: # backport package
+ from ordereddict import OrderedDict
+ except ImportError:
+ from .packages.ordered_dict import OrderedDict
__all__ = ['RecentlyUsedContainer']
Index: urllib3-1.5/urllib3/connectionpool.py
===================================================================
--- urllib3-1.5.orig/urllib3/connectionpool.py
+++ urllib3-1.5/urllib3/connectionpool.py
@@ -51,8 +51,20 @@ from .exceptions import (
TimeoutError,
)
-from .packages.ssl_match_hostname import match_hostname, CertificateError
-from .packages import six
+try:
+ # python3.2+
+ from ssl import match_hostname, CertificateError
+except ImportError:
+ try:
+ # Older python where the backport from pypi is installed
+ from backports.ssl_match_hostname import match_hostname, CertificateError
+ except ImportError:
+ # Other older python we use our bundled copy
+ from .packages.ssl_match_hostname import match_hostname, CertificateError
+try:
+ import six
+except ImportError:
+ from .packages import six
xrange = six.moves.xrange
Index: urllib3-1.5/urllib3/filepost.py
===================================================================
--- urllib3-1.5.orig/urllib3/filepost.py
+++ urllib3-1.5/urllib3/filepost.py
@@ -10,8 +10,12 @@ import mimetypes
from uuid import uuid4
from io import BytesIO
-from .packages import six
-from .packages.six import b
+try:
+ import six
+ from six import b
+except ImportError:
+ from .packages import six
+ from .packages.six import b
writer = codecs.lookup('utf-8')[3]
Index: urllib3-1.5/urllib3/response.py
===================================================================
--- urllib3-1.5.orig/urllib3/response.py
+++ urllib3-1.5/urllib3/response.py
@@ -11,7 +11,10 @@ import zlib
from io import BytesIO
from .exceptions import DecodeError
-from .packages.six import string_types as basestring
+try:
+ from six import string_types as basestring
+except ImportError:
+ from .packages.six import string_types as basestring
log = logging.getLogger(__name__)
Index: urllib3-1.5/urllib3/util.py
===================================================================
--- urllib3-1.5.orig/urllib3/util.py
+++ urllib3-1.5/urllib3/util.py
@@ -18,7 +18,10 @@ except ImportError: # `poll` doesn't exi
except ImportError: # `select` doesn't exist on AppEngine.
select = False
-from .packages import six
+try:
+ import six
+except ImporError:
+ from .packages import six
from .exceptions import LocationParseError
Index: urllib3-1.5/test/test_collections.py
===================================================================
--- urllib3-1.5.orig/test/test_collections.py
+++ urllib3-1.5/test/test_collections.py
@@ -1,7 +1,10 @@
import unittest
from urllib3._collections import RecentlyUsedContainer as Container
-from urllib3.packages import six
+try:
+ import six
+except ImportError:
+ from urllib3.packages import six
xrange = six.moves.xrange
Index: urllib3-1.5/test/test_connectionpool.py
===================================================================
--- urllib3-1.5.orig/test/test_connectionpool.py
+++ urllib3-1.5/test/test_connectionpool.py
@@ -1,7 +1,16 @@
import unittest
from urllib3.connectionpool import connection_from_url, HTTPConnectionPool
-from urllib3.packages.ssl_match_hostname import CertificateError
+try:
+ # python3.2+
+ from ssl import CertificateError
+except ImportError:
+ try:
+ # Older python where the backport from pypi is installed
+ from backports.ssl_match_hostname import CertificateError
+ except ImportError:
+ # Other older python we use our bundled copy
+ from urllib3.packages.ssl_match_hostname import CertificateError
from urllib3.exceptions import (
ClosedPoolError,
EmptyPoolError,
Index: urllib3-1.5/test/test_filepost.py
===================================================================
--- urllib3-1.5.orig/test/test_filepost.py
+++ urllib3-1.5/test/test_filepost.py
@@ -1,7 +1,10 @@
import unittest
from urllib3.filepost import encode_multipart_formdata, iter_fields
-from urllib3.packages.six import b, u
+try:
+ from six import b, u
+except ImportError:
+ from urllib3.packages.six import b, u
BOUNDARY = '!! test boundary !!'
Index: urllib3-1.5/setup.py
===================================================================
--- urllib3-1.5.orig/setup.py
+++ urllib3-1.5/setup.py
@@ -44,8 +44,7 @@ setup(name='urllib3',
author_email='andrey.petrov@shazow.net',
url='http://urllib3.readthedocs.org/',
license='MIT',
- packages=['urllib3', 'dummyserver', 'urllib3.packages',
- 'urllib3.packages.ssl_match_hostname',
+ packages=['urllib3', 'dummyserver', 'urllib3',
],
requires=requirements,
tests_require=tests_requirements,

View file

@ -1 +0,0 @@
addFilter(r"spelling-error \('(gzip|brotli|zstd)',")

View file

@ -1,188 +1,166 @@
# When bootstrapping Python, we cannot test this yet
# RHEL does not include the test dependencies and the dependencies for extras
%bcond tests %{undefined rhel}
%bcond extras %[%{undefined rhel} || %{defined eln}]
%bcond extradeps %{undefined rhel}
%if 0%{?fedora}
%global with_python3 1
%else
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")}
%endif
Name: python-urllib3
Version: 2.6.3
Release: %autorelease
Summary: HTTP library with thread-safe connection pooling, file post, and more
%global srcname urllib3
Name: python-%{srcname}
Version: 1.5
Release: 7%{?dist}
Summary: Python HTTP library with thread-safe connection pooling and file post
# SPDX
License: MIT
URL: https://github.com/urllib3/urllib3
Source0: %{url}/archive/%{version}/urllib3-%{version}.tar.gz
# A special forked copy of Hypercorn is required for testing. We asked about
# the possiblility of using a released version in the future in:
# Path toward testing with a released version of hypercorn?
# https://github.com/urllib3/urllib3/3334
# Upstream would like to get the necessary changes merged into Hypercorn, but
# explained clearly why the forked copy is needed for now.
#
# Note that tool.uv.sources.hypercorn in pyproject.toml references the
# urllib3-changes branch of https://github.com/urllib3/hypercorn/, and we
# should use the latest commit from that branch, but we package using a commit
# hash for reproducibility.
#
# We do not need to treat this as a bundled dependency because it is not
# installed in the buildroot or otherwise included in any of the binary RPMs.
%global hypercorn_url https://github.com/urllib3/hypercorn
%global hypercorn_commit d1719f8c1570cbd8e6a3719ffdb14a4d72880abb
Source1: %{hypercorn_url}/archive/%{hypercorn_commit}/hypercorn-%{hypercorn_commit}.tar.gz
URL: http://urllib3.readthedocs.org/
Source0: http://pypi.python.org/packages/source/u/%{srcname}/%{srcname}-%{version}.tar.gz
# Patch to change default behaviour to check SSL certs for validity
# https://bugzilla.redhat.com/show_bug.cgi?id=855320
Patch0: python-urllib3-default-ssl-cert-validate.patch
### TODO: Send this to upstream urllib3
# make all imports of things in packages try system copies first
Patch1: python-urllib3-unbundle.patch
# Fix accept header when behind a proxy
#https://github.com/shazow/urllib3/pull/93
#https://github.com/shazow/urllib3/pull/93.patch
Patch2: python-urllib3-accept-header-for-proxy.patch
# Remove logging-clear-handlers from setup.cfg because it's not available in RHEL6's nose
Patch100: python-urllib3-old-nose-compat.patch
### TODO: Send this upstream
# Compatibility with python-2.6's unittest
Patch101: python-urllib3-py2.6-compat.patch
BuildArch: noarch
BuildRequires: python3-devel
# The conditional is important: we benefit from tomcli for editing dependency
# groups, but we do not want it when bootstrapping or in RHEL.
%if %{with tests}
BuildRequires: tomcli
%endif
%global _description %{expand:
urllib3 is a powerful, user-friendly HTTP client for Python. urllib3 brings
many critical features that are missing from the Python standard libraries:
Thread safety.
Connection pooling.
Client-side SSL/TLS verification.
File uploads with multipart encoding.
Helpers for retrying requests and dealing with HTTP redirects.
Support for gzip, deflate, brotli, and zstd encoding.
Proxy support for HTTP and SOCKS.
100% test coverage.}
%description %{_description}
%package -n python3-urllib3
Summary: %{summary}
BuildRequires: ca-certificates
Requires: ca-certificates
Requires: python-six
# There has historically been a manual hard dependency on python3-idna.
BuildRequires: %{py3_dist idna}
Requires: %{py3_dist idna}
%if %{with extradeps}
# There has historically been a manual hard dependency on python3-pysocks;
# since bringing it in is the sole function of python3-urllib3+socks,
# we recommend it, so it is installed by default.
Recommends: python3-urllib3+socks
Requires: python-backports-ssl_match_hostname
%if 0%{?rhel} && 0%{?rhel} <= 6
BuildRequires: python-ordereddict
Requires: python-ordereddict
%endif
%description -n python3-urllib3 %{_description}
BuildRequires: python2-devel
# For unittests
BuildRequires: python-nose
BuildRequires: python-six
BuildRequires: python-tornado
BuildRequires: python-backports-ssl_match_hostname
%if 0%{?with_python3}
BuildRequires: python3-devel
# For unittests
BuildRequires: python3-nose
BuildRequires: python3-six
BuildRequires: python3-tornado
%endif # with_python3
%if %{with extras}
%pyproject_extras_subpkg -n python3-urllib3 brotli zstd socks h2
%endif
%description
Python HTTP module with connection pooling and file POST abilities.
%if 0%{?with_python3}
%package -n python3-%{srcname}
Requires: ca-certificates
Requires: python3-six
# Note: Will not run with python3 < 3.2 (unless python3-backports-ssl_match_hostname is created)
Summary: Python3 HTTP library with thread-safe connection pooling and file post
%description -n python3-%{srcname}
Python3 HTTP module with connection pooling and file POST abilities.
%endif # with_python3
%prep
%autosetup -n urllib3-%{version}
%setup -q -n urllib3-%{version} -T -D -b 1
%setup -q -n %{srcname}-%{version}
# Make sure that the RECENT_DATE value doesn't get too far behind what the current date is.
# RECENT_DATE must not be older that 2 years from the build time, or else test_recent_date
# (from test/test_connection.py) would fail. However, it shouldn't be to close to the build time either,
# since a user's system time could be set to a little in the past from what build time is (because of timezones,
# corner cases, etc). As stated in the comment in src/urllib3/connection.py:
# When updating RECENT_DATE, move it to within two years of the current date,
# and not less than 6 months ago.
# Example: if Today is 2018-01-01, then RECENT_DATE should be any date on or
# after 2016-01-01 (today - 2 years) AND before 2017-07-01 (today - 6 months)
# There is also a test_ssl_wrong_system_time test (from test/with_dummyserver/test_https.py) that tests if
# user's system time isn't set as too far in the past, because it could lead to SSL verification errors.
# That is why we need RECENT_DATE to be set at most 2 years ago (or else test_ssl_wrong_system_time would
# result in false positive), but before at least 6 month ago (so this test could tolerate user's system time being
# set to some time in the past, but not to far away from the present).
# Next few lines update RECENT_DATE dynamically.
recent_date=$(date --date "7 month ago" +"%Y, %_m, %_d")
sed -i "s/^RECENT_DATE = datetime.date(.*)/RECENT_DATE = datetime.date($recent_date)/" src/urllib3/connection.py
rm -rf urllib3/packages/
%if %{with tests}
# Possible improvements to dependency groups
# https://github.com/urllib3/urllib3/issues/3594
# Adjust the contents of the "dev" dependency group by removing:
remove_from_dev() {
tomcli set pyproject.toml lists delitem 'dependency-groups.dev' "($1)\b.*"
}
# - Linters, coverage tools, profilers, etc.:
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
remove_from_dev 'coverage|pytest-memray'
# - Dependencies for maintainer tasks
remove_from_dev 'build|towncrier'
# - Dependencies that are not packaged and not strictly required
remove_from_dev 'pytest-socket'
# - Hypercorn, because we have a special forked version we must use for
# testing instead, so we do not want to generate a dependency on the system
# copy. Note that the system copy is still an indirect dependency via quart
# and quart-trio.
remove_from_dev 'hypercorn'
# Remove all version bounds for test dependencies. We must attempt to make do
# with what we have. (This also removes any python version or platform
# constraints, which is currently fine, but could theoretically cause trouble
# in the future. Well cross that bridge if we ever arrive at it.)
tomcli set pyproject.toml lists replace --type regex_search \
'dependency-groups.dev' '[>=]=.*' ''
%patch0 -p1
%patch1 -p1
%patch2 -p1
%if 0%{?rhel} && 0%{?rhel} <= 6
%patch100 -p1
%patch101 -p1
%endif
%generate_buildrequires
export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}'
# Generate BRs from packaged extras even when tests are disabled, to ensure
# the extras metapackages are installable if the build succeeds.
%pyproject_buildrequires %{?with_extradeps:-x brotli,zstd,socks,h2} %{?with_tests:-g dev}
%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif # with_python3
%build
export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}'
%pyproject_wheel
%{__python} setup.py build
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py build
popd
%endif # with_python3
%install
%pyproject_install
rm -rf %{buildroot}
%{__python} setup.py install --skip-build --root %{buildroot}
%pyproject_save_files -l urllib3
# dummyserver is part of the unittest framework
rm -rf %{buildroot}%{python_sitelib}/dummyserver
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py install --skip-build --root %{buildroot}
# dummyserver is part of the unittest framework
rm -rf %{buildroot}%{python3_sitelib}/dummyserver
popd
%endif # with_python3
%check
# urllib3.contrib.socks requires urllib3[socks]
#
# urllib3.contrib.emscripten is “special” (import js will fail)
# urllib3.contrib.ntlmpool is deprecated and requires ntlm
# urllib3.contrib.securetransport is macOS only
# urllib3.contrib.pyopenssl requires pyOpenSSL
%{pyproject_check_import %{!?with_extradeps:-e urllib3.contrib.socks -e urllib3.http2*}
-e urllib3.contrib.emscripten*
-e urllib3.contrib.ntlmpool
-e urllib3.contrib.securetransport
-e urllib3.contrib.pyopenssl}
nosetests
# Increase the “long timeout” for slower environments; as of this writing, it
# is increased from 0.1 to 0.5 second.
export CI=1
# Interpose the special forked copy of Hypercorn.
hypercorndir="${PWD}/../hypercorn-%{hypercorn_commit}/src"
export PYTHONPATH="${hypercorndir}:%{buildroot}%{python3_sitelib}"
%if 0%{?with_python3}
pushd %{py3dir}
nosetests-%{python3_version}
popd
%endif # with_python3
%if %{with tests}
# This test still times out sometimes, especially on certain architectures,
# even when we export the CI environment variable to increase timeouts.
k="${k-}${k+ and }not (TestHTTPProxyManager and test_tunneling_proxy_request_timeout[https-https])"
%pytest -v -rs ${ignore-} -k "${k-}"
%pytest -v -rs ${ignore-} -k "${k-}" --integration
%endif
%files -n python3-urllib3 -f %{pyproject_files}
%doc CHANGES.rst README.md
%files
%doc CHANGES.rst LICENSE.txt README.rst CONTRIBUTORS.txt
# For noarch packages: sitelib
%{python_sitelib}/*
%if 0%{?with_python3}
%files -n python3-%{srcname}
%doc LICENSE.txt
# For noarch packages: sitelib
%{python3_sitelib}/*
%endif # with_python3
%changelog
%autochangelog
* Mon Oct 28 2013 Ralph Bean <rbean@redhat.com> - 1.5-7
- Update patch to find ca_certs in the correct place.
* Tue Jun 11 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.5-6
- Fix Requires of python-ordereddict to only apply to RHEL
* Fri Mar 1 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.5-5
- Unbundling finished!
* Fri Mar 01 2013 Ralph Bean <rbean@redhat.com> - 1.5-4
- Upstream patch to fix Accept header when behind a proxy.
- Reorganize patch numbers to more clearly distinguish them.
* Wed Feb 27 2013 Ralph Bean <rbean@redhat.com> - 1.5-3
- Renamed patches to python-urllib3-*
- Fixed ssl check patch to use the correct cert path for Fedora.
- Included dependency on ca-certificates
- Cosmetic indentation changes to the .spec file.
* Tue Feb 5 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.5-2
- python3-tornado BR and run all unittests on python3
* Mon Feb 04 2013 Toshio Kuratomi <toshio@fedoraproject.org> 1.5-1
- Initial fedora build.

View file

@ -1,2 +1 @@
SHA512 (urllib3-2.6.3.tar.gz) = 554cedfd97d411fffa9a8ba46f592eab9e58c5fa8822ecd5a73ab45d6adfc188a6b9c4e238d02a4fbd3a1067a25a1de841a33d398d0641e22a32ea414876b615
SHA512 (hypercorn-d1719f8c1570cbd8e6a3719ffdb14a4d72880abb.tar.gz) = 62d6787d88a2e716f0ac04fc49f6cdc586e473a660ee754ff66961922ae78bcc75d1f78b091e78557dd60f006e8e480114738c7b4ff71beac804e4fc9603240b
3ee4b375a095bb6098f1ed75f8058e48 urllib3-1.5.tar.gz

View file

@ -1,5 +0,0 @@
test: python3 test.py
framework: shell
require:
- python3
- python3-urllib3

View file

@ -1,8 +0,0 @@
import urllib3
http = urllib3.PoolManager()
r = http.request('GET', 'http://example.com/')
print('status = {0}'.format(r.status))
print(r.data)
if r.status != 200 or not r.data:
raise SystemExit(1)