464d12
%global srcname urllib3
464d12
464d12
Name:           python-%{srcname}
574f49
Version:        1.24.2
574f49
Release:        2%{?dist}
464d12
Summary:        Python HTTP library with thread-safe connection pooling and file post
464d12
464d12
License:        MIT
464d12
URL:            https://github.com/shazow/urllib3
464d12
Source0:        %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
464d12
# Used with Python 3.5+
464d12
Source1:        ssl_match_hostname_py3.py
464d12
BuildArch:      noarch
464d12
574f49
# CVE-2019-11236 python-urllib3:
574f49
#   - CRLF injection due to not encoding the '\r\n' sequence leading to
574f49
#     possible attack on internal service.
574f49
#   - Also known as CVE-2019-9740 (duplicate entry)
574f49
# Backported from:
574f49
#  * https://github.com/urllib3/urllib3/pull/1591
574f49
#    - Superfluous commits were omitted (flake8 checks, travis settings, macos patch)
574f49
#  * https://github.com/urllib3/urllib3/pull/1593
574f49
Patch1:         CVE-2019-11236.patch
574f49
574f49
464d12
%description
464d12
Python HTTP module with connection pooling and file POST abilities.
464d12
464d12
464d12
%package -n python3-%{srcname}
464d12
Summary:        Python3 HTTP library with thread-safe connection pooling and file post
464d12
464d12
BuildRequires:  python3-devel
464d12
# For unittests
464d12
BuildRequires:  python3-nose
464d12
BuildRequires:  python3-mock
464d12
BuildRequires:  python3-six
464d12
BuildRequires:  python3-pysocks
464d12
BuildRequires:  python3-pytest
464d12
464d12
Requires:       ca-certificates
464d12
Requires:       python3-six
464d12
Requires:       python3-pysocks
464d12
464d12
%description -n python3-%{srcname}
464d12
Python3 HTTP module with connection pooling and file POST abilities.
464d12
464d12
464d12
%prep
464d12
%setup -q -n %{srcname}-%{version}
574f49
574f49
%patch1 -p1
574f49
464d12
# Drop the dummyserver tests in koji.
464d12
# These require tornado, a Web framework otherwise unused in the distro.
464d12
rm -rf test/with_dummyserver/
464d12
rm -rf test/test_connectionpool.py
464d12
rm -rf dummyserver/
464d12
# Don't run the Google App Engine tests
464d12
rm -rf test/appengine/
464d12
# Lots of these tests started failing, even for old versions, so it has something
464d12
# to do with Fedora in particular. They don't fail in upstream build infrastructure
464d12
rm -rf test/contrib/
464d12
574f49
# Tests for Python built without SSL, but RHEL builds with SSL. These tests
574f49
# fail when combined with the unbundling of backports-ssl_match_hostname
574f49
rm -f test/test_no_ssl.py
574f49
42970b
# Test `test_recent_date` fails if RECENT_DATE is not up to date.
42970b
# Comment from the test:
42970b
#     This test is to make sure that the RECENT_DATE value
42970b
#     doesn't get too far behind what the current date is.
42970b
#     When this test fails update urllib3.connection.RECENT_DATE
42970b
#     according to the rules defined in that file.
42970b
sed -i "s/^RECENT_DATE = datetime.date(2017, 6, 30)$/RECENT_DATE = datetime.date(2019, 2, 19)/" \
54be52
    src/urllib3/connection.py
42970b
464d12
%build
464d12
%py3_build
464d12
464d12
464d12
%install
464d12
%py3_install
464d12
464d12
# Unbundle the Python 3 build
464d12
rm -rf %{buildroot}/%{python3_sitelib}/urllib3/packages/six.py*
464d12
rm -rf %{buildroot}/%{python3_sitelib}/urllib3/packages/__pycache__/six*
464d12
rm -rf %{buildroot}/%{python3_sitelib}/urllib3/packages/ssl_match_hostname/
464d12
464d12
mkdir -p %{buildroot}/%{python3_sitelib}/urllib3/packages/
574f49
ln -s %{python3_sitelib}/six.py \
574f49
      %{buildroot}/%{python3_sitelib}/urllib3/packages/six.py
574f49
ln -s %{python3_sitelib}/__pycache__/six.cpython-%{python3_version_nodots}.opt-1.pyc \
574f49
      %{buildroot}/%{python3_sitelib}/urllib3/packages/__pycache__/
574f49
ln -s %{python3_sitelib}/__pycache__/six.cpython-%{python3_version_nodots}.pyc \
574f49
      %{buildroot}/%{python3_sitelib}/urllib3/packages/__pycache__/
464d12
# urllib3 requires Python 3.5 to use the standard library's match_hostname,
574f49
# which we ship in RHEL8, so we can safely replace the bundled version with
464d12
# this stub which imports the necessary objects.
464d12
cp %{SOURCE1} %{buildroot}/%{python3_sitelib}/urllib3/packages/ssl_match_hostname.py
464d12
464d12
464d12
%check
574f49
pushd test
574f49
PYTHONPATH=%{buildroot}%{python3_sitelib}:%{python3_sitelib} %{__python3} -m pytest -v
574f49
popd
464d12
464d12
464d12
%files -n python3-%{srcname}
464d12
%license LICENSE.txt
464d12
%doc CHANGES.rst README.rst CONTRIBUTORS.txt
464d12
%{python3_sitelib}/urllib3/
464d12
%{python3_sitelib}/urllib3-*.egg-info
464d12
464d12
464d12
%changelog
574f49
* Wed May 22 2019 Tomas Orsava <torsava@redhat.com> - 1.24.2-2
574f49
- Rebuilding after gating was enabled
574f49
- Resolves: rhbz#1703361 rhbz#1706026
574f49
574f49
* Fri May 03 2019 Tomas Orsava <torsava@redhat.com> - 1.24.2-1
574f49
- Rebased to 1.24.2 to fix CVE-2019-11324
574f49
- Added patches for CVE-2019-11236 (AKA CVE-2019-9740)
574f49
- Resolves: rhbz#1703361 rhbz#1706026
574f49
464d12
* Wed Jul 11 2018 Petr Viktorin <pviktori@redhat.com> - 1.23-5
464d12
- Remove the Python 2 subpackage
464d12
  https://bugzilla.redhat.com/show_bug.cgi?id=1590400
464d12
464d12
* Mon Jun 25 2018 Lumír Balhar <lbalhar@redhat.com> - 1.23-4
464d12
- Allow build with Python 2
464d12
464d12
* Wed Jun 20 2018 Petr Viktorin <pviktori@redhat.com> - 1.23-3
464d12
- Skip tests that require tornado
464d12
464d12
* Wed Jun 20 2018 Lumír Balhar <lbalhar@redhat.com> - 1.23-2
464d12
- Remove unneeded python3-psutil dependency
464d12
464d12
* Tue Jun 05 2018 Jeremy Cline <jeremy@jcline.org> - 1.23-1
464d12
- Update to the latest upstream release (rhbz 1586072)
464d12
464d12
* Tue May 22 2018 Petr Viktorin <pviktori@redhat.com> - 1.22-10
464d12
- Skip tests for python2 subpackage, due to missing dependencies (rhbz 1580882)
464d12
464d12
* Thu May 03 2018 Lukas Slebodnik <lslebodn@fedoraproject.org> - 1.22-9
464d12
- Do not lowercase hostnames with custom-protocol (rhbz 1567862)
464d12
- upstream: https://github.com/urllib3/urllib3/issues/1267
464d12
464d12
* Wed Apr 18 2018 Jeremy Cline <jeremy@jcline.org> - 1.22-8
464d12
- Drop the dependency on idna and cryptography (rhbz 1567862)
464d12
464d12
* Mon Apr 16 2018 Jeremy Cline <jeremy@jcline.org> - 1.22-7
464d12
- Drop the dependency on PyOpenSSL, it's not needed (rhbz 1567862)
464d12
464d12
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.22-6
464d12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
464d12
464d12
* Wed Jan 31 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1.22-5
464d12
- Update Python 2 dependency declarations to new packaging standards
464d12
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
464d12
464d12
* Thu Jan 25 2018 Tomas Hoger <thoger@redhat.com> - 1.22-4
464d12
- Fix FTBFS - Move RECENT_DATE to 2017-06-30
464d12
464d12
* Fri Dec 01 2017 Jeremy Cline <jeremy@jcline.org> - 1.22-3
464d12
- Symlink the Python 3 bytecode for six (rbhz 1519147)
464d12
464d12
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.22-2
464d12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
464d12
464d12
* Fri Jul 21 2017 Jeremy Cline <jeremy@jcline.org> - 1.22-1
464d12
- Update to 1.22 (#1473293)
464d12
464d12
* Wed May 17 2017 Jeremy Cline <jeremy@jcline.org> - 1.21.1-1
464d12
- Update to 1.21.1 (#1445280)
464d12
464d12
* Thu Feb 09 2017 Jeremy Cline <jeremy@jcline.org> - 1.20-1
464d12
- Update to 1.20 (#1414775)
464d12
464d12
* Tue Dec 13 2016 Stratakis Charalampos <cstratak@redhat.com> - 1.19.1-2
464d12
- Rebuild for Python 3.6
464d12
464d12
* Thu Nov 17 2016 Jeremy Cline <jeremy@jcline.org> 1.19.1-1
464d12
- Update to 1.19.1
464d12
- Clean up the specfile to only support Fedora 26
464d12
464d12
* Wed Aug 10 2016 Kevin Fenzi <kevin@scrye.com> - 1.16-3
464d12
- Rebuild now that python-requests is ready to update.
464d12
464d12
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.16-2
464d12
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
464d12
464d12
* Wed Jun 15 2016 Kevin Fenzi <kevin@scrye.com> - 1.16-1
464d12
- Update to 1.16
464d12
464d12
* Thu Jun 02 2016 Ralph Bean <rbean@redhat.com> - 1.15.1-3
464d12
- Create python2 subpackage to comply with guidelines.
464d12
464d12
* Wed Jun 01 2016 Ralph Bean <rbean@redhat.com> - 1.15.1-2
464d12
- Remove broken symlinks to unbundled python3-six files
464d12
  https://bugzilla.redhat.com/show_bug.cgi?id=1295015
464d12
464d12
* Fri Apr 29 2016 Ralph Bean <rbean@redhat.com> - 1.15.1-1
464d12
- Removed patch for ipv6 support, now applied upstream.
464d12
- Latest version.
464d12
- New dep on pysocks.
464d12
464d12
* Fri Feb 26 2016 Ralph Bean <rbean@redhat.com> - 1.13.1-3
464d12
- Apply patch from upstream to fix ipv6.
464d12
464d12
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.1-2
464d12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
464d12
464d12
* Mon Dec 21 2015 Ralph Bean <rbean@redhat.com> - 1.13.1-1
464d12
- new version
464d12
464d12
* Fri Dec 18 2015 Ralph Bean <rbean@redhat.com> - 1.13-1
464d12
- new version
464d12
464d12
* Mon Dec 14 2015 Ralph Bean <rbean@redhat.com> - 1.12-1
464d12
- new version
464d12
464d12
* Thu Oct 15 2015 Robert Kuska <rkuska@redhat.com> - 1.10.4-7
464d12
- Rebuilt for Python3.5 rebuild
464d12
464d12
* Sat Oct 10 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-6
464d12
- Sync from PyPI instead of a git checkout.
464d12
464d12
* Tue Sep 08 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-5.20150503gita91975b
464d12
- Drop requirement on python-backports-ssl_match_hostname on F22 and newer.
464d12
464d12
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10.4-4.20150503gita91975b
464d12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
464d12
464d12
* Mon Jun 08 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-3.20150503gita91975b
464d12
- Apply pyopenssl injection for an outdated cpython as per upstream advice
464d12
  https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning
464d12
  https://urllib3.readthedocs.org/en/latest/security.html#pyopenssl
464d12
464d12
* Tue May 19 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-2.20150503gita91975b
464d12
- Specify symlinks for six.py{c,o}, fixing rhbz #1222142.
464d12
464d12
* Sun May 03 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-1.20150503gita91975b
464d12
- Latest release for python-requests-2.7.0
464d12
464d12
* Wed Apr 29 2015 Ralph Bean <rbean@redhat.com> - 1.10.3-2.20150429git585983a
464d12
- Grab a git snapshot to get around this chunked encoding failure.
464d12
464d12
* Wed Apr 22 2015 Ralph Bean <rbean@redhat.com> - 1.10.3-1
464d12
- new version
464d12
464d12
* Thu Feb 26 2015 Ralph Bean <rbean@redhat.com> - 1.10.2-1
464d12
- new version
464d12
464d12
* Wed Feb 18 2015 Ralph Bean <rbean@redhat.com> - 1.10.1-1
464d12
- new version
464d12
464d12
* Wed Feb 18 2015 Ralph Bean <rbean@redhat.com> - 1.10.1-1
464d12
- new version
464d12
464d12
* Mon Jan 05 2015 Ralph Bean <rbean@redhat.com> - 1.10-2
464d12
- Copy in a shim for ssl_match_hostname on python3.
464d12
464d12
* Sun Dec 14 2014 Ralph Bean <rbean@redhat.com> - 1.10-1
464d12
- Latest upstream 1.10, for python-requests-2.5.0.
464d12
- Re-do unbundling without patch, with symlinks.
464d12
- Modernize python2 macros.
464d12
- Remove the with_dummyserver tests which fail only sometimes.
464d12
464d12
* Wed Nov 05 2014 Ralph Bean <rbean@redhat.com> - 1.9.1-1
464d12
- Latest upstream, 1.9.1 for latest python-requests.
464d12
464d12
* Mon Aug  4 2014 Tom Callaway <spot@fedoraproject.org> - 1.8.2-4
464d12
- fix license handling
464d12
464d12
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.2-3
464d12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
464d12
464d12
* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 1.8.2-2
464d12
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
464d12
464d12
* Mon Apr 21 2014 Arun S A G <sagarun@gmail.com> - 1.8.2-1
464d12
- Update to latest upstream version
464d12
464d12
* Mon Oct 28 2013 Ralph Bean <rbean@redhat.com> - 1.7.1-2
464d12
- Update patch to find ca_certs in the correct location.
464d12
464d12
* Wed Sep 25 2013 Ralph Bean <rbean@redhat.com> - 1.7.1-1
464d12
- Latest upstream with support for a new timeout class and py3.4.
464d12
464d12
* Wed Aug 28 2013 Ralph Bean <rbean@redhat.com> - 1.7-3
464d12
- Bump release again, just to push an unpaired update.
464d12
464d12
* Mon Aug 26 2013 Ralph Bean <rbean@redhat.com> - 1.7-2
464d12
- Bump release to pair an update with python-requests.
464d12
464d12
* Thu Aug 22 2013 Ralph Bean <rbean@redhat.com> - 1.7-1
464d12
- Update to latest upstream.
464d12
- Removed the accept-header proxy patch which is included in upstream now.
464d12
- Removed py2.6 compat patch which is included in upstream now.
464d12
464d12
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-7
464d12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
464d12
464d12
* Tue Jun 11 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.5-6
464d12
- Fix Requires of python-ordereddict to only apply to RHEL
464d12
464d12
* Fri Mar  1 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.5-5
464d12
- Unbundling finished!
464d12
464d12
* Fri Mar 01 2013 Ralph Bean <rbean@redhat.com> - 1.5-4
464d12
- Upstream patch to fix Accept header when behind a proxy.
464d12
- Reorganize patch numbers to more clearly distinguish them.
464d12
464d12
* Wed Feb 27 2013 Ralph Bean <rbean@redhat.com> - 1.5-3
464d12
- Renamed patches to python-urllib3-*
464d12
- Fixed ssl check patch to use the correct cert path for Fedora.
464d12
- Included dependency on ca-certificates
464d12
- Cosmetic indentation changes to the .spec file.
464d12
464d12
* Tue Feb  5 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.5-2
464d12
- python3-tornado BR and run all unittests on python3
464d12
464d12
* Mon Feb 04 2013 Toshio Kuratomi <toshio@fedoraproject.org> 1.5-1
464d12
- Initial fedora build.