Compare commits

...
Sign in to create a new pull request.

158 commits

Author SHA1 Message Date
Python Maint
5482485d62 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 14:19:18 +02:00
Lumir Balhar
0f0415395c Update to 2.32.5 (rhbz#2389307) 2025-08-19 10:58:29 +02:00
Python Maint
13de5714ce Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 14:45:16 +02:00
Fedora Release Engineering
15b4c097f2 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 10:09:23 +00:00
Miro Hrončok
9d9296cdb3 Use /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
- https://fedoraproject.org/wiki/Changes/dropingOfCertPemFile
- Fixes: rhbz#2337320
2025-07-07 11:55:50 +00:00
Miro Hrončok
8607c2fb65 Update to 2.32.4
- Security fix for CVE-2024-47081: .netrc credentials leak via malicious URLs
2025-07-07 12:41:25 +02:00
Miro Hrončok
e4b73fd858 Package %license via %pyproject_save_files
[skip changelog]
2025-07-07 11:59:04 +02:00
Python Maint
96f8226c90 Rebuilt for Python 3.14 2025-06-04 13:32:12 +02:00
Python Maint
d78a94dfe4 Bootstrap for Python 3.14 2025-06-03 10:26:13 +02:00
Miro Hrončok
ddd9aacc23 Convert to %autorelease and %autochangelog
[skip changelog]
2025-04-16 12:41:19 +02:00
Benjamin A. Beasley
97f1d23628 Backport test-cert. fixes for urllib3 2.4.0 compatibility 2025-04-15 11:00:13 -04:00
Fedora Release Engineering
003986f6c0 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 18:48:49 +00:00
Yaakov Selkowitz
72017f21b4 Add extras to ELN builds
RHEL 10 only ships the core module with no extras, but the extras are
needed for other things in EPEL (e.g. azure-cli).  ELN covers both
without adding the extras build dependencies so as to not add them to the
future RHEL buildroot.  These changes allow a single ELN build to serve
both ELN and ELN Extras without polluting the ELN buildroot.
2024-09-17 01:03:06 +00:00
Lukáš Zachar
c5fddd1793 Import CI upstream test from RHEL
This is cherry-picked and edited from RHEL distgit tests/python-requests,
directory Sanity/upstream.
The commit hash this was copied from: 050c2979f27cc70506ddf669f9e0803a7b67c2d5

Only the necessary files were kept.

python3-httpbin is installed from Fedora repositories, as installing it
from PyPI requires compiling greenlet which doesn't have wheels for
Python 3.13 yet.
2024-09-11 09:51:37 +02:00
Lukáš Zachar
8cc6ff9857 Import CI ipv6-noproxy-cidr test from RHEL
This is from RHEL distgit tests/python-requests, directory
Sanity/ipv6-noproxy-cidr.
The commit hash this was copied from: 050c2979f27cc70506ddf669f9e0803a7b67c2d5

Only the necessary files were kept.
2024-08-21 13:08:45 +02:00
Adam Kolar
4b98833b9f Import CI smoke test from RHEL
This is taken and edited from RHEL distgit tests/python-requests,
directory Sanity/smoke.
The commit hash this was copied from: 050c2979f27cc70506ddf669f9e0803a7b67c2d5

Only the necessary files were kept.

Co-authored-by: Lukas Zachar <lzachar@redhat.com>
2024-08-21 13:08:45 +02:00
Karolina Surma
37d17a50d9 CI: Add the tmt plan and metadata 2024-08-21 13:08:45 +02:00
Adam Williamson
15fe6d3df8 Add a note that PR #6781 should be superseded by #6767 2024-08-01 13:36:56 -07:00
Adam Williamson
5c20e1e89b Backport PR #6781 to fix crash on import (#2297632) 2024-08-01 13:08:06 -07:00
Fedora Release Engineering
bb3f7150b7 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 15:22:55 +00:00
Lumir Balhar
89e46163b4 Update to 2.32.3 (rhbz#2281881) and fix CVE-2024-35195 (rhbz#2282205) 2024-06-19 14:12:29 +02:00
Python Maint
2e1de3d0e8 Rebuilt for Python 3.13 2024-06-09 13:00:54 +02:00
Python Maint
4916dd3371 Bootstrap for Python 3.13 2024-06-07 12:15:06 +02:00
Lumir Balhar
a4e6c6d8c0 Fix FTBFS 2024-05-29 15:23:36 +02:00
Lumir Balhar
576af2d63f Add support for IPv6 CIDR in no_proxy setting 2024-05-29 15:23:15 +02:00
Lumir Balhar
4d1f850e1f Fix compatibility with pytest 8 2024-04-11 10:28:48 +02:00
Fedora Release Engineering
37f4fc1429 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-26 10:08:10 +00:00
Fedora Release Engineering
2c49b3aa63 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 06:28:29 +00:00
Tomáš Hrnčiar
46169880a4 Update to 2.31.0 2023-10-17 11:21:31 +02:00
Miro Hrončok
ab88e0da15 Move lines around to resemble the example Python specfile
https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_example_spec_file
2023-10-12 11:12:18 +02:00
Miro Hrončok
a5e331ad3f Always run at least an import check in %check 2023-10-10 14:29:05 +02:00
Miro Hrončok
85302c38d7 Disable extras on RHEL, explicitly BuildRequire them on Fedora
Once urllib3 stops pulling in pysocks by default,
a test would fail without an explicit dependency.
2023-10-10 14:29:05 +02:00
Miro Hrončok
92130db632 Use a newer and more understandable %bcond syntax 2023-10-10 14:29:03 +02:00
Miro Hrončok
b3699e5810 Remove redundant things from the spec file
- %pyproject_buildrequires -r has been the default for a while now
 - Sources and Patches don't need to be enumerated
 - %python_provide is redundant and deprecated
 - pyproject-rpm-macros does not need to be explicitly BuildRequired
 - the Summary does not need to be repeated
 - modularity was retired
2023-10-10 14:28:24 +02:00
Karolina Surma
6b89252703 Declare the license as an SPDX expression 2023-08-08 17:13:42 +02:00
Fedora Release Engineering
767bf29958 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 13:35:41 +00:00
Python Maint
375e858999 Rebuilt for Python 3.12 2023-07-01 13:04:01 +02:00
Python Maint
f5181bf610 Bootstrap for Python 3.12 2023-06-14 00:12:25 +02:00
Miro Hrončok
d9c9c5dd57 Security fix for CVE-2023-32681
https://github.com/psf/requests/security/advisories/GHSA-j8r2-6x86-q33q
2023-05-23 10:18:04 +02:00
Yaakov Selkowitz
8d03190e25 Disable tests by default in RHEL builds
RHEL does not include the test dependencies.  This is based on c9s:

488327aa0f
2023-05-16 17:36:43 -04:00
Lumir Balhar
040845c23c Update to 2.28.2 2023-02-01 14:34:34 +01:00
Fedora Release Engineering
e2cec88d94 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 16:53:48 +00:00
Kevin Fenzi
40791ac9da Enable all tests and drop no longer needed test patch.
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2022-09-15 11:30:28 -07:00
Fedora Release Engineering
d0eb4d58af Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 21:58:48 +00:00
Adam Williamson
6522c375f6 Update to 2.28.1, rediff patches
One patch replaced by a pytest -k arg (more maintainable this
way). The charset_normalizer sed isn't needed any more (and
didn't do anything any more), upstream changed that dep. Upstream
dropped the cert file in 2017 so we don't need to try and remove
it any more.
2022-07-12 14:20:31 -07:00
Lumir Balhar
bafd1c7a92 Allow charset_normalizer 2.1.0 and newer up to 3.0.0 2022-06-20 15:20:10 +02:00
Python Maint
e262d9d35e Rebuilt for Python 3.11 2022-06-14 11:10:24 +02:00
Python Maint
10c79236cc Bootstrap for Python 3.11 2022-06-13 17:27:12 +02:00
Fedora Release Engineering
67a4b380d0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 15:11:49 +00:00
Kevin Fenzi
ae5874a830 Update to 2.27.1. Fixes rhbz#2037431 2022-01-08 15:45:11 -08:00
Adam Williamson
0f46c23ea6 Update to 2.27.0, re-enable previously disabled tests 2022-01-04 10:29:52 -08:00
Karolina Surma
dd738e1d80 Remove pipenv metadata
This package is bundled with pipenv, there is no need to test it with
Fedora's version.
2021-08-03 10:06:59 +02:00
Lumir Balhar
7a45a67128 Update to 2.26.0 2021-07-25 11:45:34 +02:00
Fedora Release Engineering
04117f977c - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 09:11:23 +00:00
Python Maint
3927751e55 Rebuilt for Python 3.10 2021-06-04 18:37:08 +02:00
Python Maint
6821c08a3d Bootstrap for Python 3.10 2021-06-02 18:54:44 +02:00
Karolina Surma
fb53bbb808 Run pipenv tests on package update 2021-05-20 09:15:21 +02:00
Kevin Fenzi
b653ecf800 Update to 2.25.1
Signed-off-by: Kevin Fenzi <kevin@scrye.com>

Update 2.25.1. Fix is rhbz#1908487

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2021-02-02 10:51:18 -08:00
Fedora Release Engineering
21922e1494 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 13:07:03 +00:00
Petr Viktorin
7b94c2e14b Update to 2.25.0 2020-11-25 12:43:24 +01:00
Miro Hrončok
a2f6bde0d7 Don't BR pytest-cov 2020-11-13 15:19:24 +01:00
Petr Viktorin
72b7ad559c Port to pyproject macros 2020-09-19 12:14:25 +02:00
Miro Hrončok
5977032a51 Build with pytest 6, older version is no longer required 2020-09-18 20:54:25 +02:00
Fedora Release Engineering
c7ebbfef39 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 03:36:15 +00:00
Miro Hrončok
72789402b3 Update to 2.24.0
Remove no longer needed patches:

  Don-t-inject-pyopenssl-into-urllib3.patch:
    https://github.com/psf/requests/issues/5443

  requests-2.20.0-no-py2-httpbin.patch:
    python2-requests is no more anyway
2020-07-11 10:46:50 +02:00
Miro Hrončok
f176dee1d6 Deselect test_https_warnings
See https://bugzilla.redhat.com/show_bug.cgi?id=1676023
and https://github.com/psf/requests/issues/5530
2020-07-11 10:33:11 +02:00
Miro Hrončok
cf89145232 Add requests[security] and requests[socks] subpackages
https://fedoraproject.org/wiki/Changes/PythonExtras
2020-07-10 19:55:52 +02:00
Miro Hrončok
11e90b9f64 Test with pytest 4, drop manual requires
Also explicitly BR setuptools, assert egg-info is a directory.
2020-06-02 11:35:20 +02:00
Miro Hrončok
3d4961eadf Rebuilt for Python 3.9 2020-05-25 20:55:45 +02:00
Miro Hrončok
f0721ebf64 Bootstrap for Python 3.9 2020-05-22 18:18:59 +02:00
Randy Barlow
f9d62a3fa1 Update to 2.23.0
https://bugzilla.redhat.com/show_bug.cgi?id=1804863

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
2020-02-21 12:13:48 -05:00
Fedora Release Engineering
2669cc1211 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 14:57:48 +00:00
Charalampos Stratakis
6f87fd36b0 Remove the python2 subpackage (rhbz#1761787) 2019-10-22 17:43:37 +02:00
Petr Viktorin
ed6a939199 Python 2: Remove tests and test dependencies 2019-09-18 14:33:35 +02:00
Miro Hrončok
993846bbca Rebuilt for Python 3.8 2019-08-19 10:43:38 +02:00
Miro Hrončok
ee89d35aca Bootstrap for Python 3.8 2019-08-15 17:09:34 +02:00
Fedora Release Engineering
31013885f4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 15:58:28 +00:00
yatinkarel
255ca6064a Add minimum requirement for chardet and urllib3
"requests" imposes minimum requirement for chardet[1]
and urllib3[2] and returns warning in case requirement
is not met, since these deps can be pre installed,
specifying minimum requirement for package, so these
deps get's updated when python-requests package is
installed or updated.

[1] https://github.com/kennethreitz/requests/blob/v2.22.0/requests/__init__.py#L65
[2] https://github.com/kennethreitz/requests/blob/v2.22.0/requests/__init__.py#L60
2019-06-11 10:03:22 +05:30
Jeremy Cline
ad843d5615 Pick up Miro's pytest 4 fix 2019-05-23 15:46:49 -04:00
Jeremy Cline
85a268d1e6 Update to v2.22 2019-05-23 14:42:04 -04:00
Fedora Release Engineering
4b57184559 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-02 09:02:07 +00:00
Jeremy Cline
bfe36edfe2
Update to v2.21.0
Also adjust the patch that forces the system CA bundle to be used so
that behavior doesn't change if python-certifi is installed. It's
patched to point at the system CA bundle as well, but there's no reason
we need to assume that or use it.
2018-12-13 14:09:27 -05:00
Miro Hrončok
33bb8ea0e5 No pytest-httpbin for Python 2
https://bugzilla.redhat.com/show_bug.cgi?id=1653223
2018-11-26 11:25:10 +01:00
Jeremy Cline
ffc9beb883
Update to v2.20.0
This fixes CVE-2018-18074.
2018-10-29 14:16:26 -04:00
Fedora Release Engineering
a2a25ac328 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 01:53:07 +00:00
Miro Hrončok
10c32483d0 Rebuilt for Python 3.7 2018-06-18 17:30:07 +02:00
Jeremy Cline
50eef463fc
Update to v2.19.1 (rhbz 1591531) 2018-06-14 22:52:15 -04:00
Miro Hrončok
6b2c2638bb Bootstrap for Python 3.7 2018-06-14 15:01:44 +02:00
Jeremy Cline
2455988645
Update to v2.19.0 2018-06-12 14:17:56 -04:00
Jeremy Cline
c670b3bcc3
Don't print runtime warning about urllib3 v1.23 (rhbz 1589306)
Signed-off-by: Jeremy Cline <jcline@redhat.com>
2018-06-08 12:18:08 -04:00
Jeremy Cline
9191e71974
Allow urllib3 v1.23 (rhbz 1586311) 2018-06-05 23:07:31 -04:00
Miro Hrončok
ae81b73839 Remove useless shebang 2018-06-05 16:55:51 +02:00
Miro Hrončok
7e81914aaa General cleanup of the specfile
- python_sitelib was defined but never used
 - _with_python3 was True, so I removed the ifs
 - python3_pkgversion is defined on both Fedora and EPEL
 - %{py3dir} is deprecated and not needed here
 - use %pyX_build and %pyX_install macros, stop using %{__python}
 - run tests against the installed version
 - some cruft removal
2018-06-05 16:46:46 +02:00
Miro Hrončok
cb02c8bebb BR idna, or the tests fail 2018-06-05 16:45:30 +02:00
Miro Hrončok
cd19418c79 Conditionalize the tests, useful when bootstrapping Python 2018-05-14 14:25:33 +02:00
Jeremy Cline
26f526b44e
Don't inject pyopenssl into urllib3 (rhbz 1567862)
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
2018-04-16 10:40:45 -04:00
Fedora Release Engineering
87c6858d16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-09 10:31:22 +00:00
Iryna Shcherbina
ddda5a09fe Fix ambiguous Python 2 dependency declarations 2017-12-11 13:49:41 +01:00
Jeremy Cline
c281f15459
Adjust the CA patch for new dep version
The dependency version change caused the patch to not apply with
--fuzz=0

Signed-off-by: Jeremy Cline <jeremy@jcline.org>
2017-08-18 10:23:55 -04:00
Jeremy Cline
a45eccb833
Update to 2.18.4
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
2017-08-18 10:08:46 -04:00
Igor Gnatenko
33a34fdd3a Update to 2.18.2
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-07-26 12:24:58 +02:00
Jeremy Cline
42ab4cc57f
Remove the certifi requirement from setup.py
We use the certificates provided by the ca-certificates RPM package and
therefore don't use certifi.

Signed-off-by: Jeremy Cline <jeremy@jcline.org>
2017-06-20 09:05:25 -04:00
Jeremy Cline
2c9580baca
Update to 2.18.1 (#1449432)
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
2017-06-19 16:35:58 -04:00
Jeremy Cline
bf26e32110
Merge branch 'master' of ssh://pkgs.fedoraproject.org/rpms/python-requests 2017-05-17 13:13:56 -04:00
Jeremy Cline
36f0139078
Update to 2.14.2 (#1449432)
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
2017-05-17 13:10:52 -04:00
Stephen Gallagher
ec7c554bd9
Fix typo causing the opposite of the intended affect. 2017-05-14 14:11:30 -04:00
Stephen Gallagher
52b5430773
Don't run tests when building as a module 2017-05-14 13:46:01 -04:00
Jeremy Cline
92f3747faf
Update to 2.13.0 (#1418138)
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
2017-02-09 13:10:42 -05:00
Adam Williamson
dbcd0be450 Include and enable tests (now python-pytest-httpbin is packaged) 2016-12-30 11:03:31 -08:00
Adam Williamson
1a7bf1a1bd update the note on the test suite
We actually could run the tests now, but we need to package
python-pytest-httpbin first.
2016-12-21 11:47:40 -08:00
Kevin Fenzi
e9eb5dd4e5 Rebuild for Python 3.6 again. 2016-12-21 10:36:05 -07:00
Jeremy Cline
613ba9a983
Update to 2.12.4. Fixes #1404680
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
2016-12-20 13:26:07 -05:00
Charalampos Stratakis
0632cc05e9 Rebuild for Python 3.6 2016-12-13 18:48:00 +01:00
Jeremy Cline
cfa22b2bdf
Update to 2.12.3. Fixes #1400601
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
2016-12-01 15:29:30 -05:00
Jeremy Cline
f2e692fa09
Update to version 2.12.2
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
2016-11-30 16:46:49 -05:00
Jeremy Cline
8c50084912
Backport #3713 (fixes #1397149)
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
2016-11-23 09:56:28 -05:00
Jeremy Cline
6ce5e5ce2d
Update to 2.12.1 (#1395469) 2016-11-17 17:21:08 -05:00
Kevin Fenzi
f81e14ff7d Update to 2.11.1. Fixes #1370814 2016-08-27 15:36:55 -06:00
Kevin Fenzi
63fd5b1c61 Update to 2.11.0. Fixes #1365332 2016-08-10 15:46:58 -06:00
Fedora Release Engineering
c5ce60bf5a - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages 2016-07-19 11:27:00 +00:00
Ralph Bean
0df2434d3c Update python2 packaging. 2016-07-15 13:34:25 -04:00
Ralph Bean
53214a35d2 Make a python2 subpackage for real. 2016-06-02 12:24:28 -04:00
Ralph Bean
e4d6b7b113 Add forgotten sources. 2016-05-03 11:20:15 -04:00
Ralph Bean
142e0f8f90 2.10.0 2016-05-03 11:08:08 -04:00
Ralph Bean
113881e373 Adjust py3 support. 2016-04-29 21:23:11 -04:00
Fedora Release Engineering
9c8df47dcd - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 20:47:39 +00:00
Ralph Bean
1e67cd9506 2.9.1 2015-12-21 10:57:00 -05:00
Ralph Bean
ad24cb0001 2.9.0 2015-12-18 12:22:36 -05:00
Ralph Bean
17f6b2d94d Adjust patch. 2015-12-14 10:43:00 -05:00
Ralph Bean
7ee4441972 Forgotten sources. 2015-12-14 10:36:59 -05:00
Ralph Bean
d84ebd44eb 2.8.1 2015-12-14 10:28:01 -05:00
Robert Kuska
9bbee01263 Rebuilt for Python3.5 rebuild 2015-11-02 11:59:00 +01:00
Ralph Bean
f73b98e44a Tell setuptools about what version of urllib3 we're unbundling
for https://github.com/kennethreitz/requests/issues/2816
2015-10-10 15:04:23 -04:00
Ralph Bean
1d92ca7704 Replace the provides macro with a plain provides field for now. 2015-09-17 11:17:39 -04:00
Ralph Bean
5af138ec59 Remove 'provides: python2-requests' from the python3 subpackage, obviously. 2015-09-17 09:33:24 -04:00
Ralph Bean
bfbc9c2d12 Employ %%python_provides macro to provide python2-requests. 2015-09-15 16:59:18 -04:00
Ralph Bean
7a90ddac18 Typofix. 2015-09-04 22:35:19 -04:00
Ralph Bean
026230bb9c Lock down the python-urllib3 version to the specific version we unbundled. 2015-09-04 22:25:19 -04:00
Ralph Bean
c802119e77 Link to some discussions with upstream about bundling. 2015-09-01 10:16:13 -04:00
Dennis Gilmore
1badb1c66c - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-18 20:37:41 +00:00
Ralph Bean
75426f9328 2.7.0 2015-05-03 22:31:33 -04:00
Ralph Bean
b418eb6ff3 2.6.2 2015-04-29 09:57:49 -04:00
Ralph Bean
a083b645a7 2.6.1 2015-04-23 10:05:10 -04:00
Ralph Bean
ced4b9fe1c 2.6.0 2015-04-22 10:20:31 -04:00
Ralph Bean
2665991eea Backport patch to not ascribe cookies to the target domain 2015-03-16 11:30:06 -04:00
Ralph Bean
32d2729e74 2.5.3 2015-02-25 21:23:05 -05:00
Ralph Bean
d52751de8d 2.5.1 2015-02-18 14:53:12 -05:00
Ralph Bean
86ffa4ba04 Fix requirement pinning again. 2014-12-16 19:20:28 -05:00
Ralph Bean
38792a5213 Try to fix requirement pinning syntax. 2014-12-16 16:52:35 -05:00
Ralph Bean
bb1e96f504 Pin python-urllib3 requirement at 1.10.0. 2014-12-16 14:18:45 -05:00
Ralph Bean
ffa5143cf0 Try a super basic test in %check. 2014-12-11 21:55:50 -05:00
Ralph Bean
cf6bee4210 Merge branch 'master' into f21
Conflicts:
	python-requests.spec
2014-12-11 16:37:34 -05:00
Ralph Bean
1b25c27d26 2.5.0 2014-12-11 16:35:15 -05:00
Ralph Bean
9f8b618ab4 Add forgotten sources. 2014-11-05 10:32:23 -05:00
Ralph Bean
85d9fba1a5 Latest upstream, 2.4.3 for #1136283 2014-11-05 10:30:35 -05:00
Ralph Bean
1dbd573777 Re-do unbundling with symlinks.
Requested https://twitter.com/sigmavirus24/status/529826381333417984
2014-11-05 09:49:00 -05:00
Tom Callaway
d282fb97bc fix license handling 2014-08-03 17:42:52 -04:00
Tom Callaway
cd981a7419 fix license handling 2014-08-03 17:42:24 -04:00
19 changed files with 1191 additions and 354 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

42
.gitignore vendored
View file

@ -13,3 +13,45 @@
/requests-1.2.3.tar.gz
/requests-2.0.0.tar.gz
/requests-2.3.0.tar.gz
/requests-2.4.3.tar.gz
/requests-2.5.0.tar.gz
/requests-2.5.1.tar.gz
/requests-2.5.3.tar.gz
/requests-2.6.0.tar.gz
/requests-2.6.1.tar.gz
/requests-2.6.2.tar.gz
/requests-2.7.0.tar.gz
/requests-2.8.1.tar.gz
/requests-2.9.0.tar.gz
/requests-2.9.1.tar.gz
/requests-2.10.0.tar.gz
/requests-2.11.0.tar.gz
/requests-2.11.1.tar.gz
/requests-2.12.1.tar.gz
/requests-2.12.2.tar.gz
/requests-2.12.3.tar.gz
/requests-2.12.4.tar.gz
/requests-2.12.4-tests.tar.gz
/requests-v2.13.0.tar.gz
/requests-v2.14.2.tar.gz
/requests-v2.18.1.tar.gz
/requests-v2.18.2.tar.gz
/requests-v2.18.4.tar.gz
/requests-v2.19.0.tar.gz
/requests-v2.19.1.tar.gz
/requests-v2.20.0.tar.gz
/requests-v2.21.0.tar.gz
/requests-v2.22.0.tar.gz
/requests-v2.23.0.tar.gz
/requests-v2.24.0.tar.gz
/requests-v2.25.0.tar.gz
/requests-v2.25.1.tar.gz
/requests-v2.26.0.tar.gz
/requests-v2.27.0.tar.gz
/requests-v2.27.1.tar.gz
/requests-v2.28.1.tar.gz
/requests-v2.28.2.tar.gz
/requests-v2.31.0.tar.gz
/requests-v2.32.3.tar.gz
/requests-v2.32.4.tar.gz
/requests-v2.32.5.tar.gz

469
changelog Normal file
View file

@ -0,0 +1,469 @@
* Tue Apr 15 2025 Benjamin A. Beasley <code@musicinmybrain.net> - 2.32.3-5
- Backport test-cert. fixes for urllib3 2.4.0 compatibility
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.32.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Aug 01 2024 Adam Williamson <awilliam@redhat.com> - 2.32.3-3
- Backport PR #6781 to fix crash on import if CA cert bundle is missing (#2297632)
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.32.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jun 19 2024 Lumír Balhar <lbalhar@redhat.com> - 2.32.3-1
- Update to 2.32.3 (rhbz#2281881)
- Fix for CVE-2024-35195 (rhbz#2282205)
* Sun Jun 09 2024 Python Maint <python-maint@redhat.com> - 2.31.0-7
- Rebuilt for Python 3.13
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 2.31.0-6
- Bootstrap for Python 3.13
* Tue May 14 2024 Lumír Balhar <lbalhar@redhat.com> - 2.31.0-5
- Add support for IPv6 CIDR in no_proxy setting
- Fix FTBFS
* Thu Apr 11 2024 Lumír Balhar <lbalhar@redhat.com> - 2.31.0-4
- Fix compatibility with pytest 8
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.31.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.31.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Oct 16 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 2.31.0-1
- Update to 2.31.0
- Fixes: rhbz#2189970
* Tue Oct 10 2023 Miro Hrončok <mhroncok@redhat.com> - 2.28.2-7
- Do not package requests[security] and requests[socks] on RHEL
- Make the package build even when urllib3 won't pull in pysocks
* Tue Aug 08 2023 Karolina Surma <ksurma@redhat.com> - 2.28.2-6
- Declare the license as an SPDX expression
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.28.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jul 01 2023 Python Maint <python-maint@redhat.com> - 2.28.2-4
- Rebuilt for Python 3.12
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 2.28.2-3
- Bootstrap for Python 3.12
* Tue May 23 2023 Miro Hrončok <mhroncok@redhat.com> - 2.28.2-2
- Security fix for CVE-2023-32681
- https://github.com/psf/requests/security/advisories/GHSA-j8r2-6x86-q33q
* Wed Feb 01 2023 Lumír Balhar <lbalhar@redhat.com> - 2.28.2-1
- Update to 2.28.2 (rhbz#2160527)
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.28.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Sep 13 2022 Kevin Fenzi <kevin@scrye.com> - 2.28.1-3
- Enable all tests and drop no longer needed test patch.
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.28.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jul 12 2022 Adam Williamson <awilliam@redhat.com> - 2.28.1-1
- Update to 2.28.1, rediff patches
* Mon Jun 20 2022 Lumír Balhar <lbalhar@redhat.com> - 2.27.1-5
- Allow charset_normalizer 2.1.0 and newer up to 3.0.0
* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 2.27.1-4
- Rebuilt for Python 3.11
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.27.1-3
- Bootstrap for Python 3.11
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.27.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sat Jan 08 2022 Kevin Fenzi <kevin@scrye.com> - 2.27.1-1
- Update to 2.27.1. Fixes rhbz#2037431
* Tue Jan 04 2022 Adam Williamson <awilliam@redhat.com> - 2.27.0-1
- Update to 2.27.0
- Re-enable test_https_warnings as it works with pytest-httpbin 1.0.0 now
- Re-enable test_pyopenssl_redirect, it seems to work too
* Sun Jul 25 2021 Lumír Balhar <lbalhar@redhat.com> - 2.26.0-1
- Update to 2.26.0
Resolves: rhbz#1981856
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.25.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.25.1-3
- Rebuilt for Python 3.10
* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 2.25.1-2
- Bootstrap for Python 3.10
* Tue Feb 02 2021 Kevin Fenzi <kevin@scrye.com> - 2.25.1-1
- Update 2.25.1. Fix is rhbz#1908487
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.25.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Nov 25 2020 Petr Viktorin <pviktori@redhat.com> - 2.25.0-1
- Update to 2.25.0
* Fri Nov 13 2020 Miro Hrončok <mhroncok@redhat.com> - 2.24.0-5
- Don't BR pytest-cov
* Fri Sep 18 2020 Petr Viktorin <pviktori@redhat.com> - 2.24.0-4
- Port to pyproject macros
* Fri Sep 18 2020 Miro Hrončok <mhroncok@redhat.com> - 2.24.0-3
- Build with pytest 6, older version is no longer required
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 10 2020 Miro Hrončok <mhroncok@redhat.com> - 2.24.0-1
- Update to 2.24.0
- Resolves rhbz#1848104
* Fri Jul 10 2020 Miro Hrončok <mhroncok@redhat.com> - 2.23.0-5
- Add requests[security] and requests[socks] subpackages
* Sat May 30 2020 Miro Hrončok <mhroncok@redhat.com> - 2.23.0-4
- Test with pytest 4, drop manual requires
* Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 2.23.0-3
- Rebuilt for Python 3.9
* Fri May 22 2020 Miro Hrončok <mhroncok@redhat.com> - 2.23.0-2
- Bootstrap for Python 3.9
* Fri Feb 21 2020 Randy Barlow <bowlofeggs@fedoraproject.org> - 2.23.0-1
- Update to 2.23.0 (#1804863).
- https://requests.readthedocs.io/en/latest/community/updates/
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.22.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Oct 22 2019 Charalampos Stratakis <cstratak@redhat.com> - 2.22.0-7
- Remove the python2 subpackage (rhbz#1761787)
* Wed Sep 18 2019 Petr Viktorin <pviktori@redhat.com> - 2.22.0-6
- Python 2: Remove tests and test dependencies
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.22.0-5
- Rebuilt for Python 3.8
* Thu Aug 15 2019 Miro Hrončok <mhroncok@redhat.com> - 2.22.0-4
- Bootstrap for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.22.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Jun 11 2019 Yatin Karel <ykarel@redhat.com> - 2.22.0-2
- Add minimum requirement for chardet and urllib3
* Thu May 23 2019 Jeremy Cline <jcline@redhat.com> - 2.22.0-1
- Update to v2.22.0
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.21.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Dec 13 2018 Jeremy Cline <jeremy@jcline.org> - 2.21.0-1
- Update to v2.21.0
- Don't rely on certifi being patched properly to use the system CA bundle
* Mon Nov 26 2018 Miro Hrončok <mhroncok@redhat.com> - 2.20.0-2
- No pytest-httpbin for Python 2
* Mon Oct 29 2018 Jeremy Cline <jeremy@jcline.org> - 2.20.0-1
- Update to v2.20.0
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.19.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jun 18 2018 Miro Hrončok <mhroncok@redhat.com> - 2.19.1-2
- Rebuilt for Python 3.7
* Thu Jun 14 2018 Jeremy Cline <jeremy@jcline.org> - 2.19.1-1
- Update to v2.19.1 (rhbz 1591531)
* Thu Jun 14 2018 Miro Hrončok <mhroncok@redhat.com> - 2.19.0-2
- Bootstrap for Python 3.7
* Tue Jun 12 2018 Jeremy Cline <jeremy@jcline.org> - 2.19.0-1
- Update to v2.19.0 (rhbz 1590508)
* Fri Jun 08 2018 Jeremy Cline <jeremy@jcline.org> - 2.18.4-6
- Don't print runtime warning about urllib3 v1.23 (rhbz 1589306)
* Tue Jun 05 2018 Jeremy Cline <jeremy@jcline.org> - 2.18.4-5
- Allow urllib3 v1.23 (rhbz 1586311)
* Mon Apr 16 2018 Jeremy Cline <jeremy@jcline.org> - 2.18.4-4
- Stop injecting PyOpenSSL (rhbz 1567862)
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.18.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Dec 11 2017 Iryna Shcherbina <ishcherb@redhat.com> - 2.18.4-2
- Fix ambiguous Python 2 dependency declarations
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Fri Aug 18 2017 Jeremy Cline <jeremy@jcline.org> - 2.18.4-1
- Update to 2.18.4
* Wed Jul 26 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.18.2-1
- Update to 2.18.2
* Tue Jun 20 2017 Jeremy Cline <jeremy@jcline.org> - 2.18.1-2
- Drop the dependency on certifi in setup.py
* Mon Jun 19 2017 Jeremy Cline <jeremy@jcline.org> - 2.18.1-1
- Update to 2.18.1 (#1449432)
- Remove tests that require non-local network (#1450608)
* Wed May 17 2017 Jeremy Cline <jeremy@jcline.org> - 2.14.2-1
- Update to 2.14.2 (#1449432)
- Switch to autosetup to apply patches
* Sun May 14 2017 Stephen Gallagher <sgallagh@redhat.com> - 2.13.0-2
- Don't run tests when building as a module
* Thu Feb 09 2017 Jeremy Cline <jeremy@jcline.org> - 2.13.0-1
- Update to 2.13.0 (#1418138)
* Fri Dec 30 2016 Adam Williamson <awilliam@redhat.com> - 2.12.4-3
- Include and enable tests (now python-pytest-httpbin is packaged)
* Wed Dec 21 2016 Kevin Fenzi <kevin@scrye.com> - 2.12.4-2
- Rebuild for Python 3.6 again.
* Tue Dec 20 2016 Jeremy Cline <jeremy@jcline.org> - 2.12.4-1
- Update to 2.12.4. Fixes #1404680
* Tue Dec 13 2016 Stratakis Charalampos <cstratak@redhat.com> - 2.12.3-2
- Rebuild for Python 3.6
* Thu Dec 01 2016 Jeremy Cline <jeremy@jcline.org> - 2.12.3-1
- Update to 2.12.3. Fixes #1400601
* Wed Nov 30 2016 Jeremy Cline <jeremy@jcline.org> - 2.12.2-1
- Update to 2.12.2
* Wed Nov 23 2016 Jeremy Cline <jeremy@jcline.org> - 2.12.1-2
- Backport #3713. Fixes #1397149
* Thu Nov 17 2016 Jeremy Cline <jeremy@jcline.org> - 2.12.1-1
- Update to 2.12.1. Fixes #1395469
- Unbundle idna, a new upstream dependency
* Sat Aug 27 2016 Kevin Fenzi <kevin@scrye.com> - 2.11.1-1
- Update to 2.11.1. Fixes #1370814
* Wed Aug 10 2016 Kevin Fenzi <kevin@scrye.com> - 2.11.0-1
- Update to 2.11.0. Fixes #1365332
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.10.0-4
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Fri Jul 15 2016 Ralph Bean <rbean@redhat.com> - 2.10.0-3
- Update python2 packaging.
* Thu Jun 02 2016 Ralph Bean <rbean@redhat.com> - 2.10.0-2
- Fix python2 subpackage to comply with guidelines.
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Dec 21 2015 Ralph Bean <rbean@redhat.com> - 2.9.1-1
- new version
* Fri Dec 18 2015 Ralph Bean <rbean@redhat.com> - 2.9.0-1
- new version
* Mon Dec 14 2015 Ralph Bean <rbean@redhat.com> - 2.8.1-1
- Latest upstream.
- Bump hard dep on urllib3 to 1.12.
* Mon Nov 02 2015 Robert Kuska <rkuska@redhat.com> - 2.7.0-8
- Rebuilt for Python3.5 rebuild
* Sat Oct 10 2015 Ralph Bean <rbean@redhat.com> - 2.7.0-7
- Tell setuptools about what version of urllib3 we're unbundling
for https://github.com/kennethreitz/requests/issues/2816
* Thu Sep 17 2015 Ralph Bean <rbean@redhat.com> - 2.7.0-6
- Replace the provides macro with a plain provides field for now until we can
re-organize this package into two different subpackages.
* Thu Sep 17 2015 Ralph Bean <rbean@redhat.com> - 2.7.0-5
- Remove 'provides: python2-requests' from the python3 subpackage, obviously.
* Tue Sep 15 2015 Ralph Bean <rbean@redhat.com> - 2.7.0-4
- Employ %%python_provides macro to provide python2-requests.
* Fri Sep 04 2015 Ralph Bean <rbean@redhat.com> - 2.7.0-3
- Lock down the python-urllib3 version to the specific version we unbundled.
https://bugzilla.redhat.com/show_bug.cgi?id=1253823
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon May 04 2015 Ralph Bean <rbean@redhat.com> - 2.7.0-1
- new version
* Wed Apr 29 2015 Ralph Bean <rbean@redhat.com> - 2.6.2-1
- new version
* Thu Apr 23 2015 Ralph Bean <rbean@redhat.com> - 2.6.1-1
- new version
* Wed Apr 22 2015 Ralph Bean <rbean@redhat.com> - 2.6.0-1
- new version
- Remove patch for CVE-2015-2296, now included in the upstream release.
* Mon Mar 16 2015 Ralph Bean <rbean@redhat.com> - 2.5.3-2
- Backport fix for CVE-2015-2296.
* Thu Feb 26 2015 Ralph Bean <rbean@redhat.com> - 2.5.3-1
- new version
* Wed Feb 18 2015 Ralph Bean <rbean@redhat.com> - 2.5.1-1
- new version
* Tue Dec 16 2014 Ralph Bean <rbean@redhat.com> - 2.5.0-3
- Pin python-urllib3 requirement at 1.10.
- Fix requirement pinning syntax.
* Thu Dec 11 2014 Ralph Bean <rbean@redhat.com> - 2.5.0-2
- Do the most basic of tests in the check section.
* Thu Dec 11 2014 Ralph Bean <rbean@redhat.com> - 2.5.0-1
- Latest upstream, 2.5.0 for #1171068
* Wed Nov 05 2014 Ralph Bean <rbean@redhat.com> - 2.4.3-1
- Latest upstream, 2.4.3 for #1136283
* Wed Nov 05 2014 Ralph Bean <rbean@redhat.com> - 2.3.0-4
- Re-do unbundling by symlinking system libs into the requests/packages/ dir.
* Sun Aug 3 2014 Tom Callaway <spot@fedoraproject.org> - 2.3.0-3
- fix license handling
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu May 29 2014 Arun S A G <sagarun@gmail.com> - 2.3.0-1
- Latest upstream
* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 2.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
* Wed Sep 25 2013 Ralph Bean <rbean@redhat.com> - 2.0.0-1
- Latest upstream.
- Add doc macro to the python3 files section.
- Require python-urllib3 greater than or at 1.7.1.
* Mon Aug 26 2013 Rex Dieter <rdieter@fedoraproject.org> 1.2.3-5
- fix versioned dep on python-urllib3
* Mon Aug 26 2013 Ralph Bean <rbean@redhat.com> - 1.2.3-4
- Explicitly versioned the requirements on python-urllib3.
* Thu Aug 22 2013 Ralph Bean <rbean@redhat.com> - 1.2.3-3
- Release bump for a coupled update with python-urllib3.
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Jul 01 2013 Ralph Bean <rbean@redhat.com> - 1.2.3-1
- Latest upstream.
- Fixed bogus date in changelog.
* Tue Jun 11 2013 Ralph Bean <rbean@redhat.com> - 1.1.0-4
- Correct a rhel conditional on python-ordereddict
* Thu Feb 28 2013 Ralph Bean <rbean@redhat.com> - 1.1.0-3
- Unbundled python-urllib3. Using system python-urllib3 now.
- Conditionally include python-ordereddict for el6.
* Wed Feb 27 2013 Ralph Bean <rbean@redhat.com> - 1.1.0-2
- Unbundled python-charade/chardet. Using system python-chardet now.
- Removed deprecated comments and actions against oauthlib unbundling.
Those are no longer necessary in 1.1.0.
- Added links to bz tickets over Patch declarations.
* Tue Feb 26 2013 Ralph Bean <rbean@redhat.com> - 1.1.0-1
- Latest upstream.
- Relicense to ASL 2.0 with upstream.
- Removed cookie handling patch (fixed in upstream tarball).
- Updated cert unbundling patch to match upstream.
- Added check section, but left it commented out for koji.
* Fri Feb 8 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 0.14.1-4
- Let brp_python_bytecompile run again, take care of the non-python{2,3} modules
by removing them from the python{,3}-requests package that they did not belong
in.
- Use the certificates in the ca-certificates package instead of the bundled one
+ https://bugzilla.redhat.com/show_bug.cgi?id=904614
- Fix a problem with cookie handling
+ https://bugzilla.redhat.com/show_bug.cgi?id=906924
* Mon Oct 22 2012 Arun S A G <sagarun@gmail.com> 0.14.1-1
- Updated to latest upstream release
* Sun Jun 10 2012 Arun S A G <sagarun@gmail.com> 0.13.1-1
- Updated to latest upstream release 0.13.1
- Use system provided ca-certificates
- No more async requests use grrequests https://github.com/kennethreitz/grequests
- Remove gevent as it is no longer required by requests
* Sun Apr 01 2012 Arun S A G <sagarun@gmail.com> 0.11.1-1
- Updated to upstream release 0.11.1
* Thu Mar 29 2012 Arun S A G <sagarun@gmail.com> 0.10.6-3
- Support building package for EL6
* Tue Mar 27 2012 Rex Dieter <rdieter@fedoraproject.org> 0.10.6-2
- +python3-requests pkg
* Sat Mar 3 2012 Arun SAG <sagarun@gmail.com> - 0.10.6-1
- Updated to new upstream version
* Sat Jan 21 2012 Arun SAG <sagarun@gmail.com> - 0.9.3-1
- Updated to new upstream version 0.9.3
- Include python-gevent as a dependency for requests.async
- Clean up shebangs in requests/setup.py,test_requests.py and test_requests_ext.py
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Sun Nov 27 2011 Arun SAG <sagarun@gmail.com> - 0.8.2-1
- New upstream version
- keep alive support
- complete removal of cookiejar and urllib2
* Thu Nov 10 2011 Arun SAG <sagarun@gmail.com> - 0.7.6-1
- Updated to new upstream release 0.7.6
* Thu Oct 20 2011 Arun SAG <sagarun@gmail.com> - 0.6.6-1
- Updated to version 0.6.6
* Fri Aug 26 2011 Arun SAG <sagarun@gmail.com> - 0.6.1-1
- Updated to version 0.6.1
* Sat Aug 20 2011 Arun SAG <sagarun@gmail.com> - 0.6.0-1
- Updated to latest version 0.6.0
* Mon Aug 15 2011 Arun SAG <sagarun@gmail.com> - 0.5.1-2
- Remove OPT_FLAGS from build section since it is a noarch package
- Fix use of mixed tabs and space
- Remove extra space around the word cumbersome in description
* Sun Aug 14 2011 Arun SAG <sagarun@gmail.com> - 0.5.1-1
- Initial package

5
plan.fmf Normal file
View file

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

View file

@ -1,37 +0,0 @@
From ad98b45e959dc7325c294c26d94e68901700c407 Mon Sep 17 00:00:00 2001
From: Ralph Bean <rbean@redhat.com>
Date: Mon, 1 Jul 2013 14:50:34 -0400
Subject: [PATCH 1/3] system cert bundle
---
requests/certs.py | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/requests/certs.py b/requests/certs.py
index bc00826..9b78e3b 100644
--- a/requests/certs.py
+++ b/requests/certs.py
@@ -10,15 +10,15 @@ This module returns the preferred default CA certificate bundle.
If you are packaging Requests, e.g., for a Linux distribution or a managed
environment, you can change the definition of where() to return a separately
packaged CA bundle.
-"""
-import os.path
+We return "/etc/pki/tls/certs/ca-bundle.crt" provided by the ca-certificates
+package.
+"""
def where():
- """Return the preferred certificate bundle."""
- # vendored bundle inside Requests
- return os.path.join(os.path.dirname(__file__), 'cacert.pem')
+ """ Don't use the certs bundled with requests, use ca-certificates. """
+ return "/etc/pki/tls/certs/ca-bundle.crt"
if __name__ == '__main__':
print(where())
--
1.8.3.1

View file

@ -1,12 +0,0 @@
diff -up ./requests/compat.py.orig ./requests/compat.py
--- ./requests/compat.py.orig 2014-05-30 00:23:21.910322912 -0700
+++ ./requests/compat.py 2014-05-30 00:24:06.697631425 -0700
@@ -4,7 +4,7 @@
pythoncompat
"""
-from .packages import chardet
+import chardet
import sys

View file

@ -1,92 +0,0 @@
diff -up ./requests/adapters.py.orig ./requests/adapters.py
--- ./requests/adapters.py.orig 2014-05-30 00:27:36.151074219 -0700
+++ ./requests/adapters.py 2014-05-30 00:31:26.712662414 -0700
@@ -11,18 +11,18 @@ and maintain connections.
import socket
from .models import Response
-from .packages.urllib3.poolmanager import PoolManager, proxy_from_url
-from .packages.urllib3.response import HTTPResponse
-from .packages.urllib3.util import Timeout as TimeoutSauce
+from urllib3.poolmanager import PoolManager, proxy_from_url
+from urllib3.response import HTTPResponse
+from urllib3.util import Timeout as TimeoutSauce
from .compat import urlparse, basestring, urldefrag, unquote
from .utils import (DEFAULT_CA_BUNDLE_PATH, get_encoding_from_headers,
prepend_scheme_if_needed, get_auth_from_url)
from .structures import CaseInsensitiveDict
-from .packages.urllib3.exceptions import MaxRetryError
-from .packages.urllib3.exceptions import TimeoutError
-from .packages.urllib3.exceptions import SSLError as _SSLError
-from .packages.urllib3.exceptions import HTTPError as _HTTPError
-from .packages.urllib3.exceptions import ProxyError as _ProxyError
+from urllib3.exceptions import MaxRetryError
+from urllib3.exceptions import TimeoutError
+from urllib3.exceptions import SSLError as _SSLError
+from urllib3.exceptions import HTTPError as _HTTPError
+from urllib3.exceptions import ProxyError as _ProxyError
from .cookies import extract_cookies_to_jar
from .exceptions import ConnectionError, Timeout, SSLError, ProxyError
from .auth import _basic_auth_str
diff -up ./requests/compat.py.orig ./requests/compat.py
--- ./requests/compat.py.orig 2014-05-30 00:46:53.888049149 -0700
+++ ./requests/compat.py 2014-05-30 00:54:17.647105931 -0700
@@ -89,7 +89,10 @@ if is_py2:
import cookielib
from Cookie import Morsel
from StringIO import StringIO
- from .packages.urllib3.packages.ordered_dict import OrderedDict
+ try:
+ from collections import OrderedDict
+ except ImportError:
+ from ordereddict import OrderedDict
from httplib import IncompleteRead
builtin_str = str
diff -up ./requests/exceptions.py.orig ./requests/exceptions.py
--- ./requests/exceptions.py.orig 2014-05-30 00:59:00.825056566 -0700
+++ ./requests/exceptions.py 2014-05-30 00:59:13.416143297 -0700
@@ -7,7 +7,7 @@ requests.exceptions
This module contains the set of Requests' exceptions.
"""
-from .packages.urllib3.exceptions import HTTPError as BaseHTTPError
+from urllib3.exceptions import HTTPError as BaseHTTPError
class RequestException(IOError):
diff -up ./requests/__init__.py.orig ./requests/__init__.py
--- ./requests/__init__.py.orig 2014-05-30 00:27:56.025211120 -0700
+++ ./requests/__init__.py 2014-05-30 00:54:37.009239302 -0700
@@ -48,13 +48,6 @@ __author__ = 'Kenneth Reitz'
__license__ = 'Apache 2.0'
__copyright__ = 'Copyright 2014 Kenneth Reitz'
-# Attempt to enable urllib3's SNI support, if possible
-try:
- from .packages.urllib3.contrib import pyopenssl
- pyopenssl.inject_into_urllib3()
-except ImportError:
- pass
-
from . import utils
from .models import Request, Response, PreparedRequest
from .api import request, get, head, post, patch, put, delete, options
diff -up ./requests/models.py.orig ./requests/models.py
--- ./requests/models.py.orig 2014-05-30 00:27:18.926955573 -0700
+++ ./requests/models.py 2014-05-30 00:31:12.714565990 -0700
@@ -16,10 +16,10 @@ from .structures import CaseInsensitiveD
from .auth import HTTPBasicAuth
from .cookies import cookiejar_from_dict, get_cookie_header
-from .packages.urllib3.fields import RequestField
-from .packages.urllib3.filepost import encode_multipart_formdata
-from .packages.urllib3.util import parse_url
-from .packages.urllib3.exceptions import DecodeError
+from urllib3.fields import RequestField
+from urllib3.filepost import encode_multipart_formdata
+from urllib3.util import parse_url
+from urllib3.exceptions import DecodeError
from .exceptions import (
HTTPError, RequestException, MissingSchema, InvalidURL,
ChunkedEncodingError, ContentDecodingError)

View file

@ -1,244 +1,98 @@
%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
# When bootstrapping Python, we cannot test this yet
# RHEL does not include the test dependencies
%bcond tests %{undefined rhel}
# The extras are disabled on RHEL to avoid pysocks and deprecated requests[security]
%bcond extras %[%{undefined rhel} || %{defined eln}]
%bcond extradeps %{undefined rhel}
Name: python-requests
Version: 2.3.0
Release: 2%{?dist}
Version: 2.32.5
Release: %autorelease
Summary: HTTP library, written in Python, for human beings
License: ASL 2.0
URL: http://pypi.python.org/pypi/requests
Source0: http://pypi.python.org/packages/source/r/requests/requests-%{version}.tar.gz
License: Apache-2.0
URL: https://pypi.io/project/requests
Source: https://github.com/requests/requests/archive/v%{version}/requests-v%{version}.tar.gz
# Explicitly use the system certificates in ca-certificates.
# https://bugzilla.redhat.com/show_bug.cgi?id=904614
Patch0: python-requests-system-cert-bundle.patch
# Unbundle python-charade (a fork of python-chardet).
# https://bugzilla.redhat.com/show_bug.cgi?id=904623
Patch1: python-requests-system-chardet-not-charade.patch
# Unbundle python-charade (a fork of python-urllib3).
# https://bugzilla.redhat.com/show_bug.cgi?id=904623
Patch2: python-requests-system-urllib3.patch
Patch: system-certs.patch
# Add support for IPv6 CIDR in no_proxy setting
# This functionality is needed in Openshift and it has been
# proposed for upstream in 2021 but the PR unfortunately stalled.
# Upstream PR: https://github.com/psf/requests/pull/5953
# This change is backported also into RHEL 9.4 (via CS)
Patch: support_IPv6_CIDR_in_no_proxy.patch
BuildArch: noarch
BuildRequires: python2-devel
BuildRequires: python-chardet
BuildRequires: python-urllib3 >= 1.8.2
Requires: ca-certificates
Requires: python-chardet
Requires: python-urllib3 >= 1.8.2
%if 0%{?rhel} && 0%{?rhel} <= 6
BuildRequires: python-ordereddict
Requires: python-ordereddict
BuildRequires: python%{python3_pkgversion}-devel
%if %{with tests}
BuildRequires: python3dist(pytest)
BuildRequires: python3dist(pytest-httpbin)
BuildRequires: python3dist(pytest-mock)
BuildRequires: python3dist(trustme)
%endif
%description
Most existing Python modules for sending HTTP requests are extremely verbose and
cumbersome. Pythons built-in urllib2 module provides most of the HTTP
capabilities you should need, but the API is thoroughly broken. This library is
designed to make HTTP requests easy for developers.
%if 0%{?_with_python3}
%package -n python3-requests
Summary: HTTP library, written in Python, for human beings
BuildRequires: python3-devel
BuildRequires: python3-chardet
BuildRequires: python3-urllib3 >= 1.8.2
Requires: python3-chardet
Requires: python3-urllib3 >= 1.8.2
%description -n python3-requests
Most existing Python modules for sending HTTP requests are extremely verbose and
cumbersome. Pythons built-in urllib2 module provides most of the HTTP
capabilities you should need, but the API is thoroughly broken. This library is
designed to make HTTP requests easy for developers.
%package -n python%{python3_pkgversion}-requests
Summary: %{summary}
%description -n python%{python3_pkgversion}-requests
Most existing Python modules for sending HTTP requests are extremely verbose and
cumbersome. Pythons built-in urllib2 module provides most of the HTTP
capabilities you should need, but the API is thoroughly broken. This library is
designed to make HTTP requests easy for developers.
%if %{with extras}
%pyproject_extras_subpkg -n python%{python3_pkgversion}-requests security socks
%endif
%generate_buildrequires
%pyproject_buildrequires %{?with_extradeps:-x security,socks}
%prep
%setup -q -n requests-%{version}
%autosetup -p1 -n requests-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
# env shebang in nonexecutable file
sed -i '/#!\/usr\/.*python/d' src/requests/certs.py
# Unbundle the certificate bundle from mozilla.
rm -rf requests/cacert.pem
# Some doctests use the internet and fail to pass in Koji. Since doctests don't have names, I don't
# know a way to skip them. We also don't want to patch them out, because patching them out will
# change the docs. Thus, we set pytest not to run doctests at all.
sed -i 's/ --doctest-modules//' pyproject.toml
%if 0%{?_with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif # with_python3
%build
%if 0%{?_with_python3}
pushd %{py3dir}
%{__python3} setup.py build
%pyproject_wheel
# Unbundle chardet. Patch1 switches usage to system chardet.
rm -rf build/lib/requests/packages/chardet
# Unbundle urllib3. Patch1 switches usage to system urllib3.
rm -rf build/lib/requests/packages
popd
%endif
%{__python} setup.py build
# Unbundle chardet. Patch1 switches usage to system chardet.
rm -rf build/lib/requests/packages/charade
# Unbundle urllib3. Patch1 switches usage to system urllib3.
rm -rf build/lib/requests/packages
%install
rm -rf $RPM_BUILD_ROOT
%if 0%{?_with_python3}
pushd %{py3dir}
%{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT
popd
%pyproject_install
%pyproject_save_files -l requests
%check
%pyproject_check_import
%if %{with tests}
# test_unicode_header_name - reported: https://github.com/psf/requests/issues/6734
# test_use_proxy_from_environment needs pysocks
%pytest -v tests -k "not test_unicode_header_name %{!?with_extradeps:and not test_use_proxy_from_environment}"
%endif
%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT
## The tests succeed if run locally, but fail in koji.
## They require an active network connection to query httpbin.org
#%%check
#%%{__python} test_requests.py
#%%if 0%%{?_with_python3}
#pushd %%{py3dir}
#%%{__python3} test_requests.py
#popd
#%%endif
%files -n python%{python3_pkgversion}-requests -f %{pyproject_files}
%doc README.md HISTORY.md
%files
%defattr(-,root,root,-)
%doc NOTICE LICENSE README.rst HISTORY.rst
%{python_sitelib}/*.egg-info
%dir %{python_sitelib}/requests
%{python_sitelib}/requests/*
%if 0%{?_with_python3}
%files -n python3-requests
%doc NOTICE LICENSE README.rst HISTORY.rst
%{python3_sitelib}/*.egg-info
%{python3_sitelib}/requests/
%endif
%changelog
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu May 29 2014 Arun S A G <sagarun@gmail.com> - 2.3.0-1
- Latest upstream
* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 2.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
* Wed Sep 25 2013 Ralph Bean <rbean@redhat.com> - 2.0.0-1
- Latest upstream.
- Add doc macro to the python3 files section.
- Require python-urllib3 greater than or at 1.7.1.
* Mon Aug 26 2013 Rex Dieter <rdieter@fedoraproject.org> 1.2.3-5
- fix versioned dep on python-urllib3
* Mon Aug 26 2013 Ralph Bean <rbean@redhat.com> - 1.2.3-4
- Explicitly versioned the requirements on python-urllib3.
* Thu Aug 22 2013 Ralph Bean <rbean@redhat.com> - 1.2.3-3
- Release bump for a coupled update with python-urllib3.
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Jul 01 2013 Ralph Bean <rbean@redhat.com> - 1.2.3-1
- Latest upstream.
- Fixed bogus date in changelog.
* Tue Jun 11 2013 Ralph Bean <rbean@redhat.com> - 1.1.0-4
- Correct a rhel conditional on python-ordereddict
* Thu Feb 28 2013 Ralph Bean <rbean@redhat.com> - 1.1.0-3
- Unbundled python-urllib3. Using system python-urllib3 now.
- Conditionally include python-ordereddict for el6.
* Wed Feb 27 2013 Ralph Bean <rbean@redhat.com> - 1.1.0-2
- Unbundled python-charade/chardet. Using system python-chardet now.
- Removed deprecated comments and actions against oauthlib unbundling.
Those are no longer necessary in 1.1.0.
- Added links to bz tickets over Patch declarations.
* Tue Feb 26 2013 Ralph Bean <rbean@redhat.com> - 1.1.0-1
- Latest upstream.
- Relicense to ASL 2.0 with upstream.
- Removed cookie handling patch (fixed in upstream tarball).
- Updated cert unbundling patch to match upstream.
- Added check section, but left it commented out for koji.
* Fri Feb 8 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 0.14.1-4
- Let brp_python_bytecompile run again, take care of the non-python{2,3} modules
by removing them from the python{,3}-requests package that they did not belong
in.
- Use the certificates in the ca-certificates package instead of the bundled one
+ https://bugzilla.redhat.com/show_bug.cgi?id=904614
- Fix a problem with cookie handling
+ https://bugzilla.redhat.com/show_bug.cgi?id=906924
* Mon Oct 22 2012 Arun S A G <sagarun@gmail.com> 0.14.1-1
- Updated to latest upstream release
* Sun Jun 10 2012 Arun S A G <sagarun@gmail.com> 0.13.1-1
- Updated to latest upstream release 0.13.1
- Use system provided ca-certificates
- No more async requests use grrequests https://github.com/kennethreitz/grequests
- Remove gevent as it is no longer required by requests
* Sun Apr 01 2012 Arun S A G <sagarun@gmail.com> 0.11.1-1
- Updated to upstream release 0.11.1
* Thu Mar 29 2012 Arun S A G <sagarun@gmail.com> 0.10.6-3
- Support building package for EL6
* Tue Mar 27 2012 Rex Dieter <rdieter@fedoraproject.org> 0.10.6-2
- +python3-requests pkg
* Sat Mar 3 2012 Arun SAG <sagarun@gmail.com> - 0.10.6-1
- Updated to new upstream version
* Sat Jan 21 2012 Arun SAG <sagarun@gmail.com> - 0.9.3-1
- Updated to new upstream version 0.9.3
- Include python-gevent as a dependency for requests.async
- Clean up shebangs in requests/setup.py,test_requests.py and test_requests_ext.py
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Sun Nov 27 2011 Arun SAG <sagarun@gmail.com> - 0.8.2-1
- New upstream version
- keep alive support
- complete removal of cookiejar and urllib2
* Thu Nov 10 2011 Arun SAG <sagarun@gmail.com> - 0.7.6-1
- Updated to new upstream release 0.7.6
* Thu Oct 20 2011 Arun SAG <sagarun@gmail.com> - 0.6.6-1
- Updated to version 0.6.6
* Fri Aug 26 2011 Arun SAG <sagarun@gmail.com> - 0.6.1-1
- Updated to version 0.6.1
* Sat Aug 20 2011 Arun SAG <sagarun@gmail.com> - 0.6.0-1
- Updated to latest version 0.6.0
* Mon Aug 15 2011 Arun SAG <sagarun@gmail.com> - 0.5.1-2
- Remove OPT_FLAGS from build section since it is a noarch package
- Fix use of mixed tabs and space
- Remove extra space around the word cumbersome in description
* Sun Aug 14 2011 Arun SAG <sagarun@gmail.com> - 0.5.1-1
- Initial package
%autochangelog

View file

@ -1 +1 @@
7449ffdc8ec9ac37bbcd286003c80f00 requests-2.3.0.tar.gz
SHA512 (requests-v2.32.5.tar.gz) = ca73dcaec9a12ecd7d16d5f30a9213fc520b9b9d659bd6d35e6f05f7b823e1bf6209c7ae48d5e301974794d92dbc8facb937ce99e22180b28dd80f6f2afa13ae

View file

@ -0,0 +1,277 @@
From 91526670ad66e83e799459cb23b031b88bb680b4 Mon Sep 17 00:00:00 2001
From: Derek Higgins <derekh@redhat.com>
Date: Thu, 30 May 2024 11:15:18 +0200
Subject: [PATCH 2/2] Add ipv6 support to should_bypass_proxies
Add support to should_bypass_proxies to support
IPv6 ipaddresses and CIDRs in no_proxy. Includes
adding IPv6 support to various other helper functions.
Co-authored-by: Lumir Balhar <lbalhar@redhat.com>
---
src/requests/utils.py | 83 ++++++++++++++++++++++++++++++++++++-------
tests/test_utils.py | 66 +++++++++++++++++++++++++++++++---
2 files changed, 132 insertions(+), 17 deletions(-)
diff --git a/src/requests/utils.py b/src/requests/utils.py
index ae6c42f..0363698 100644
--- a/src/requests/utils.py
+++ b/src/requests/utils.py
@@ -679,18 +679,46 @@ def requote_uri(uri):
return quote(uri, safe=safe_without_percent)
+def _get_mask_bits(mask, totalbits=32):
+ """Converts a mask from /xx format to a int
+ to be used as a mask for IP's in int format
+
+ Example: if mask is 24 function returns 0xFFFFFF00
+ if mask is 24 and totalbits=128 function
+ returns 0xFFFFFF00000000000000000000000000
+
+ :rtype: int
+ """
+ bits = ((1 << mask) - 1) << (totalbits - mask)
+ return bits
+
+
def address_in_network(ip, net):
"""This function allows you to check if an IP belongs to a network subnet
Example: returns True if ip = 192.168.1.1 and net = 192.168.1.0/24
returns False if ip = 192.168.1.1 and net = 192.168.100.0/24
+ returns True if ip = 1:2:3:4::1 and net = 1:2:3:4::/64
:rtype: bool
"""
- ipaddr = struct.unpack("=L", socket.inet_aton(ip))[0]
netaddr, bits = net.split("/")
- netmask = struct.unpack("=L", socket.inet_aton(dotted_netmask(int(bits))))[0]
- network = struct.unpack("=L", socket.inet_aton(netaddr))[0] & netmask
+ if is_ipv4_address(ip) and is_ipv4_address(netaddr):
+ ipaddr = struct.unpack(">L", socket.inet_aton(ip))[0]
+ netmask = _get_mask_bits(int(bits))
+ network = struct.unpack(">L", socket.inet_aton(netaddr))[0]
+ elif is_ipv6_address(ip) and is_ipv6_address(netaddr):
+ ipaddr_msb, ipaddr_lsb = struct.unpack(
+ ">QQ", socket.inet_pton(socket.AF_INET6, ip)
+ )
+ ipaddr = (ipaddr_msb << 64) ^ ipaddr_lsb
+ netmask = _get_mask_bits(int(bits), 128)
+ network_msb, network_lsb = struct.unpack(
+ ">QQ", socket.inet_pton(socket.AF_INET6, netaddr)
+ )
+ network = (network_msb << 64) ^ network_lsb
+ else:
+ return False
return (ipaddr & netmask) == (network & netmask)
@@ -710,12 +738,39 @@ def is_ipv4_address(string_ip):
:rtype: bool
"""
try:
- socket.inet_aton(string_ip)
+ socket.inet_pton(socket.AF_INET, string_ip)
+ except OSError:
+ return False
+ return True
+
+
+def is_ipv6_address(string_ip):
+ """
+ :rtype: bool
+ """
+ try:
+ socket.inet_pton(socket.AF_INET6, string_ip)
except OSError:
return False
return True
+def compare_ips(a, b):
+ """
+ Compare 2 IP's, uses socket.inet_pton to normalize IPv6 IPs
+
+ :rtype: bool
+ """
+ if a == b:
+ return True
+ try:
+ return socket.inet_pton(socket.AF_INET6, a) == socket.inet_pton(
+ socket.AF_INET6, b
+ )
+ except OSError:
+ return False
+
+
def is_valid_cidr(string_network):
"""
Very simple check of the cidr format in no_proxy variable.
@@ -723,17 +778,19 @@ def is_valid_cidr(string_network):
:rtype: bool
"""
if string_network.count("/") == 1:
+ address, mask = string_network.split("/")
try:
- mask = int(string_network.split("/")[1])
+ mask = int(mask)
except ValueError:
return False
- if mask < 1 or mask > 32:
- return False
-
- try:
- socket.inet_aton(string_network.split("/")[0])
- except OSError:
+ if is_ipv4_address(address):
+ if mask < 1 or mask > 32:
+ return False
+ elif is_ipv6_address(address):
+ if mask < 1 or mask > 128:
+ return False
+ else:
return False
else:
return False
@@ -790,12 +847,12 @@ def should_bypass_proxies(url, no_proxy):
# the end of the hostname, both with and without the port.
no_proxy = (host for host in no_proxy.replace(" ", "").split(",") if host)
- if is_ipv4_address(parsed.hostname):
+ if is_ipv4_address(parsed.hostname) or is_ipv6_address(parsed.hostname):
for proxy_ip in no_proxy:
if is_valid_cidr(proxy_ip):
if address_in_network(parsed.hostname, proxy_ip):
return True
- elif parsed.hostname == proxy_ip:
+ elif compare_ips(parsed.hostname, proxy_ip):
# If no_proxy ip was defined in plain IP notation instead of cidr notation &
# matches the IP of the index
return True
diff --git a/tests/test_utils.py b/tests/test_utils.py
index 5e9b56e..befbb46 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -14,9 +14,11 @@ from requests._internal_utils import unicode_is_ascii
from requests.cookies import RequestsCookieJar
from requests.structures import CaseInsensitiveDict
from requests.utils import (
+ _get_mask_bits,
_parse_content_type_header,
add_dict_to_cookiejar,
address_in_network,
+ compare_ips,
dotted_netmask,
extract_zipped_paths,
get_auth_from_url,
@@ -263,8 +265,15 @@ class TestIsIPv4Address:
class TestIsValidCIDR:
- def test_valid(self):
- assert is_valid_cidr("192.168.1.0/24")
+ @pytest.mark.parametrize(
+ "value",
+ (
+ "192.168.1.0/24",
+ "1:2:3:4::/64",
+ ),
+ )
+ def test_valid(self, value):
+ assert is_valid_cidr(value)
@pytest.mark.parametrize(
"value",
@@ -274,6 +283,11 @@ class TestIsValidCIDR:
"192.168.1.0/128",
"192.168.1.0/-1",
"192.168.1.999/24",
+ "1:2:3:4::1",
+ "1:2:3:4::/a",
+ "1:2:3:4::0/321",
+ "1:2:3:4::/-1",
+ "1:2:3:4::12211/64",
),
)
def test_invalid(self, value):
@@ -287,6 +301,12 @@ class TestAddressInNetwork:
def test_invalid(self):
assert not address_in_network("172.16.0.1", "192.168.1.0/24")
+ def test_valid_v6(self):
+ assert address_in_network("1:2:3:4::1111", "1:2:3:4::/64")
+
+ def test_invalid_v6(self):
+ assert not address_in_network("1:2:3:4:1111", "1:2:3:4::/124")
+
class TestGuessFilename:
@pytest.mark.parametrize(
@@ -722,6 +742,11 @@ def test_urldefragauth(url, expected):
("http://172.16.1.12:5000/", False),
("http://google.com:5000/v1.0/", False),
("file:///some/path/on/disk", True),
+ ("http://[1:2:3:4:5:6:7:8]:5000/", True),
+ ("http://[1:2:3:4::1]/", True),
+ ("http://[1:2:3:9::1]/", True),
+ ("http://[1:2:3:9:0:0:0:1]/", True),
+ ("http://[1:2:3:9::2]/", False),
),
)
def test_should_bypass_proxies(url, expected, monkeypatch):
@@ -730,11 +755,11 @@ def test_should_bypass_proxies(url, expected, monkeypatch):
"""
monkeypatch.setenv(
"no_proxy",
- "192.168.0.0/24,127.0.0.1,localhost.localdomain,172.16.1.1, google.com:6000",
+ "192.168.0.0/24,127.0.0.1,localhost.localdomain,1:2:3:4::/64,1:2:3:9::1,172.16.1.1, google.com:6000",
)
monkeypatch.setenv(
"NO_PROXY",
- "192.168.0.0/24,127.0.0.1,localhost.localdomain,172.16.1.1, google.com:6000",
+ "192.168.0.0/24,127.0.0.1,localhost.localdomain,1:2:3:4::/64,1:2:3:9::1,172.16.1.1, google.com:6000",
)
assert should_bypass_proxies(url, no_proxy=None) == expected
@@ -956,3 +981,36 @@ def test_should_bypass_proxies_win_registry_ProxyOverride_value(monkeypatch):
monkeypatch.setattr(winreg, "OpenKey", OpenKey)
monkeypatch.setattr(winreg, "QueryValueEx", QueryValueEx)
assert should_bypass_proxies("http://example.com/", None) is False
+
+
+@pytest.mark.parametrize(
+ "mask, totalbits, maskbits",
+ (
+ (24, None, 0xFFFFFF00),
+ (31, None, 0xFFFFFFFE),
+ (0, None, 0x0),
+ (4, 4, 0xF),
+ (24, 128, 0xFFFFFF00000000000000000000000000),
+ ),
+)
+def test__get_mask_bits(mask, totalbits, maskbits):
+ args = {"mask": mask}
+ if totalbits:
+ args["totalbits"] = totalbits
+ assert _get_mask_bits(**args) == maskbits
+
+
+@pytest.mark.parametrize(
+ "a, b, expected",
+ (
+ ("1.2.3.4", "1.2.3.4", True),
+ ("1.2.3.4", "2.2.3.4", False),
+ ("1::4", "1.2.3.4", False),
+ ("1::4", "1::4", True),
+ ("1::4", "1:0:0:0:0:0:0:4", True),
+ ("1::4", "1:0:0:0:0:0::4", True),
+ ("1::4", "1:0:0:0:0:0:1:4", False),
+ ),
+)
+def test_compare_ips(a, b, expected):
+ assert compare_ips(a, b) == expected
--
2.45.1

59
system-certs.patch Normal file
View file

@ -0,0 +1,59 @@
From e0ce6c20989a205489df47f8abaff5369ed588ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hrn=C4=8Diar?= <thrnciar@redhat.com>
Date: Thu, 30 May 2024 11:10:29 +0200
Subject: [PATCH] system certs
Co-authored-by: Lumir Balhar <lbalhar@redhat.com>
---
setup.cfg | 1 -
setup.py | 1 -
src/requests/certs.py | 8 +++++++-
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/setup.cfg b/setup.cfg
index 8d44e0e..fa10a53 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -4,7 +4,6 @@ provides-extra =
socks
use_chardet_on_py3
requires-dist =
- certifi>=2017.4.17
charset_normalizer>=2,<4
idna>=2.5,<4
urllib3>=1.21.1,<3
diff --git a/setup.py b/setup.py
index 7d9b52b..17da826 100755
--- a/setup.py
+++ b/setup.py
@@ -37,7 +37,6 @@ requires = [
"charset_normalizer>=2,<4",
"idna>=2.5,<4",
"urllib3>=1.21.1,<3",
- "certifi>=2017.4.17",
]
test_requirements = [
"pytest-httpbin==2.1.0",
diff --git a/src/requests/certs.py b/src/requests/certs.py
index be422c3..9aee713 100644
--- a/src/requests/certs.py
+++ b/src/requests/certs.py
@@ -10,8 +10,14 @@ only one — the one from the certifi package.
If you are packaging Requests, e.g., for a Linux distribution or a managed
environment, you can change the definition of where() to return a separately
packaged CA bundle.
+
+This Fedora-patched package returns "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem" provided
+by the ca-certificates RPM package.
"""
-from certifi import where
+
+def where():
+ """Return the absolute path to the system CA bundle."""
+ return '/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem'
if __name__ == "__main__":
print(where())
--
2.50.0

View file

@ -0,0 +1,7 @@
require:
- nmap-ncat
- python3
- python3-requests
test: "${PYTHON:-python3} repro.py"
tty: "true"

View file

@ -0,0 +1,74 @@
import subprocess
import requests
import os
import time
import atexit
subprocesses = []
python = os.environ.get("PYTHON","python3")
server_url = os.environ.get("SERVER_URL", None)
testing_no_proxy = os.environ.get("TESTING_NO_PROXY", None)
# Clean up
@atexit.register
def cleanup():
print("Cleaning up subprocesses")
for process in subprocesses:
process.terminate()
time.sleep(1)
for process in subprocesses:
process.wait()
# Part one, assert that everything works
if server_url is None:
print("starting server")
p = subprocess.Popen([python, "server.py"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
subprocesses.append(p)
time.sleep(1)
server_url = "http://[::1]:8888"
no_proxy = "::1/128"
else:
print(f"using provided {server_url} as server")
print(f"using provided {testing_no_proxy} as NO_PROXY value")
assert testing_no_proxy, "TESTING_NO_PROXY envar missing"
# Send request and check the response
print("sending first request")
assert requests.get(server_url, timeout=2).text.startswith("Hello")
# Part two, dummy proxy causes timeout, that's fine
# Start proxy
print("starting proxy")
p = subprocess.Popen(["nc", "-k", "-l", "10000"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
subprocesses.append(p)
time.sleep(1)
# Set proxy to environment
os.environ["HTTP_PROXY"] = "http://127.0.0.1:10000"
# Send request, expect timeout because proxy is dummy and do not respond
print("Sending request via proxy")
try:
requests.get(server_url, timeout=2)
except requests.exceptions.ReadTimeout:
print("timeout is fine, expected")
pass
# Part three, NO_PROXY bypass the proxy and the request should work as before
os.environ["NO_PROXY"] = testing_no_proxy or no_proxy
print("sending last request")
try:
assert requests.get(server_url, timeout=2).text.startswith("Hello")
except requests.exceptions.ReadTimeout:
print("PROBLEM - the last request timed out, NO_PROXY setting does not work!")
raise SystemExit(1)
else:
print("OK - NO_PROXY setting works fine - the last request bypassed proxy")

View file

@ -0,0 +1,25 @@
from http.server import SimpleHTTPRequestHandler, HTTPServer
import socket
import sys
class IPv6OnlyHandler(SimpleHTTPRequestHandler):
def do_GET(self):
client_address = self.client_address[0]
# Check if the client address is an IPv6 address
if ":" in client_address:
self.send_response(200)
self.send_header('Content-type', 'text/plain')
self.end_headers()
self.wfile.write(b'Hello')
else:
# Raise a RuntimeError if the client address is an IPv4 address
raise SystemExit(f"IPv4 address ({client_address}) detected. Only IPv6 addresses are allowed.")
class HTTPServerV6(HTTPServer):
address_family = socket.AF_INET6
if __name__ == '__main__':
# Use IPv6 address and port 8080
server_address = ('::', 8888)
httpd = HTTPServerV6(server_address, IPv6OnlyHandler)
print('Server running on port 8888...')
httpd.serve_forever()

6
tests/smoke/main.fmf Normal file
View file

@ -0,0 +1,6 @@
summary: Basic sanity test for python-requests
test: ./runtest.sh
framework: beakerlib
require:
- python3-requests
duration: 5m

54
tests/smoke/runtest.sh Executable file
View file

@ -0,0 +1,54 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/python-requests/Sanity/smoke
# Description: Basic sanity test for python-requests module.
# Author: Adam Kolar <akolar@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGES=${PACKAGES:-"python3-requests"}
PYTHON=${PYTHON:-"python"}
TEST="test.py"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm --all
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "cp $TEST $TmpDir"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
rlRun "$PYTHON $TEST" 0 "Running sanity test for python requests"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

11
tests/smoke/test.py Normal file
View file

@ -0,0 +1,11 @@
import requests
from requests import *
class ExceptionRequests(Exception):
pass
if __name__=="__main__":
r=requests.get('https://redhat.com')
if r.status_code!=200 or \
not r.text or r.encoding.lower() != 'utf-8':
raise ExceptionRequests("Sanity error")

14
tests/upstream/main.fmf Normal file
View file

@ -0,0 +1,14 @@
summary: Runs upstream test suite
require:
- python3-requests
- python3-pip
- python3-pytest
- python3-cryptography
- python3-devel
- python3-httpbin
- rpm-build
- gcc
- gcc-c++
test: ./runtest.sh
framework: beakerlib
duration: 30m

80
tests/upstream/runtest.sh Executable file
View file

@ -0,0 +1,80 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/python-requests/Sanity/upstream
# Description: Runs upstream test suite
# Author: Lukas Zachar <lzachar@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGES="${PACKAGES:-python3-requests}"
PYTHON="${PYTHON:-python}"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm --all
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
# So we can inject version of srpm
if [[ -z "$FORCE_SRPM" ]]; then
rlRun "rlFetchSrcForInstalled $(rpm --qf '%{name}' -qf $($PYTHON -c 'import requests;print(requests.__file__)'))"
else
rlRun "rlRpmDownload $FORCE_SRPM"
fi
rlRun "rpm -i --define '_topdir $TmpDir' --nodeps *rpm"
rlRun "rpmbuild -bp --define '_topdir $TmpDir' --nodeps $TmpDir/SPECS/*"
# Remove module from extracted sources so installed one is used
rlRun "rm -rf $TmpDir/BUILD/*requests*/requests*/src"
# pip-install libraries not in the repos
# pytest is installed in fmf requirement
rlRun "$PYTHON -m pip install pytest-mock==3.14.0 trustme==1.2.0 werkzeug==3.1.3 \
pytest-httpbin==2.1.0"
# Move to test dir, print what is there
rlRun "cd $(dirname $TmpDir/BUILD/*requests*/requests*/tests)"
rlRun "touch tests/requirements-dev.txt"
rlRun "find . -type f"
rlRun "yum repolist"
rlRun "$PYTHON -m pip list"
rlPhaseEnd
rlPhaseStartTest "$EXTRA_PARAMS"
# test_unicode_header_name hangs with urllib3 < 2
rlRun 'pytest -v -p no:warnings --junit-xml $TmpDir/result.xml -k "not test_use_proxy_from_environment and not test_unicode_header_name"'
rlAssertGrep '<testcase' $TmpDir/result.xml
rlPhaseEnd
rlPhaseStartCleanup
# upload log if test failed
rlGetTestState || rlRun "rlFileSubmit $TmpDir/result.xml"
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd