[Python-modules-commits] [python-urllib3] 14/15: merge patched into master
Ondrej Novy
onovy at debian.org
Mon Dec 11 22:11:43 UTC 2017
This is an automated email from the git hooks/post-receive script.
onovy pushed a commit to branch master
in repository python-urllib3.
commit 26876aab02766d2a88598072db41ed93a771a691
Merge: ad6b329 f1dca75
Author: Ondřej Nový <onovy at debian.org>
Date: Mon Dec 11 22:55:55 2017 +0100
merge patched into master
debian/.git-dpm | 4 ++--
debian/patches/01_do-not-use-embedded-python-six.patch | 18 ++++++++++++++++--
debian/patches/02_require-cert-verification.patch | 2 +-
debian/patches/04_relax_nosetests_options.patch | 2 +-
.../patches/05_avoid-embedded-ssl-match-hostname.patch | 2 +-
test/test_compatibility.py | 2 +-
6 files changed, 22 insertions(+), 8 deletions(-)
diff --cc debian/.git-dpm
index abbe519,0000000..f871448
mode 100644,000000..100644
--- a/debian/.git-dpm
+++ b/debian/.git-dpm
@@@ -1,11 -1,0 +1,11 @@@
+# see git-dpm(1) from git-dpm package
- 6e900a4ee5e1cf6acbf503986286421840c28ffd
- 6e900a4ee5e1cf6acbf503986286421840c28ffd
++f1dca752b6948f0a8bd773d6e60df6c0783890f1
++f1dca752b6948f0a8bd773d6e60df6c0783890f1
+f42e59e953528206c93c29f8da8ca03463e3fcfc
+f42e59e953528206c93c29f8da8ca03463e3fcfc
+python-urllib3_1.22.orig.tar.gz
+02c623c3bdceda4ef5bffdafdda472d2d9e34ef1
+226083
+debianTag="debian/%e%v"
+patchedTag="patched/%e%v"
+upstreamTag="upstream/%e%u"
diff --cc debian/patches/01_do-not-use-embedded-python-six.patch
index 9126559,0000000..b6ba152
mode 100644,000000..100644
--- a/debian/patches/01_do-not-use-embedded-python-six.patch
+++ b/debian/patches/01_do-not-use-embedded-python-six.patch
@@@ -1,421 -1,0 +1,435 @@@
- From c70d98d82f50f7e46c9d71265ac86a6ddfe015f7 Mon Sep 17 00:00:00 2001
++From 48b3633aa3a2e998eeb0ec61f26ec55de3cbe872 Mon Sep 17 00:00:00 2001
+From: Daniele Tricoli <eriol at mornie.org>
+Date: Thu, 8 Oct 2015 13:19:46 -0700
+Subject: Do not use embedded copy of python-six.
+
+Forwarded: not-needed
+
+Patch-Name: 01_do-not-use-embedded-python-six.patch
+
+fix six
+---
+ dummyserver/handlers.py | 6 +++---
+ test/__init__.py | 2 +-
+ test/test_collections.py | 2 +-
++ test/test_compatibility.py | 2 +-
+ test/test_connectionpool.py | 4 ++--
+ test/test_fields.py | 2 +-
+ test/test_filepost.py | 2 +-
+ test/test_queue_monkeypatch.py | 2 +-
+ test/test_response.py | 2 +-
+ test/test_retry.py | 2 +-
+ test/test_util.py | 2 +-
+ test/with_dummyserver/test_chunked_transfer.py | 2 +-
+ test/with_dummyserver/test_connectionpool.py | 4 ++--
+ test/with_dummyserver/test_https.py | 2 +-
+ urllib3/_collections.py | 2 +-
+ urllib3/connection.py | 6 +++---
+ urllib3/connectionpool.py | 4 ++--
+ urllib3/contrib/appengine.py | 4 ++--
+ urllib3/contrib/ntlmpool.py | 2 +-
+ urllib3/exceptions.py | 2 +-
+ urllib3/fields.py | 2 +-
+ urllib3/filepost.py | 4 ++--
+ urllib3/poolmanager.py | 2 +-
+ urllib3/request.py | 2 +-
+ urllib3/response.py | 4 ++--
+ urllib3/util/request.py | 2 +-
+ urllib3/util/response.py | 2 +-
+ urllib3/util/retry.py | 2 +-
- 27 files changed, 37 insertions(+), 37 deletions(-)
++ 28 files changed, 38 insertions(+), 38 deletions(-)
+
+diff --git a/dummyserver/handlers.py b/dummyserver/handlers.py
+index a943b83..6ee6e01 100644
+--- a/dummyserver/handlers.py
++++ b/dummyserver/handlers.py
+@@ -15,8 +15,8 @@ from tornado import httputil
+ from datetime import datetime
+ from datetime import timedelta
+
+-from urllib3.packages.six.moves.http_client import responses
+-from urllib3.packages.six.moves.urllib.parse import urlsplit
++from six.moves.http_client import responses
++from six.moves.urllib.parse import urlsplit
+
+ log = logging.getLogger(__name__)
+
+@@ -311,7 +311,7 @@ def _parse_header(line):
+ """
+ import tornado.httputil
+ import email.utils
+- from urllib3.packages import six
++ import six
+ if not six.PY3:
+ line = line.encode('utf-8')
+ parts = tornado.httputil._parseparam(';' + line)
+diff --git a/test/__init__.py b/test/__init__.py
+index 1983040..72ed38c 100644
+--- a/test/__init__.py
++++ b/test/__init__.py
+@@ -9,7 +9,7 @@ import platform
+ from nose.plugins.skip import SkipTest
+
+ from urllib3.exceptions import HTTPWarning
+-from urllib3.packages import six
++import six
+ from urllib3.util import ssl_
+
+ # We need a host that will not immediately close the connection with a TCP
+diff --git a/test/test_collections.py b/test/test_collections.py
+index 98c202b..5331168 100644
+--- a/test/test_collections.py
++++ b/test/test_collections.py
+@@ -4,7 +4,7 @@ from urllib3._collections import (
+ )
+ import pytest
+
+-from urllib3.packages import six
++import six
+ xrange = six.moves.xrange
+
+
++diff --git a/test/test_compatibility.py b/test/test_compatibility.py
++index d27e9ea..73fb036 100644
++--- a/test/test_compatibility.py
+++++ b/test/test_compatibility.py
++@@ -4,7 +4,7 @@ import pytest
++
++ from urllib3.connection import HTTPConnection
++ from urllib3.response import HTTPResponse
++-from urllib3.packages.six.moves import http_cookiejar, urllib
+++from six.moves import http_cookiejar, urllib
++
++
++ class TestVersionCompatibility(object):
+diff --git a/test/test_connectionpool.py b/test/test_connectionpool.py
+index d8b8a83..952bb84 100644
+--- a/test/test_connectionpool.py
++++ b/test/test_connectionpool.py
+@@ -10,8 +10,8 @@ from urllib3.connectionpool import (
+ )
+ from urllib3.response import httplib, HTTPResponse
+ from urllib3.util.timeout import Timeout
+-from urllib3.packages.six.moves.http_client import HTTPException
+-from urllib3.packages.six.moves.queue import Empty
++from six.moves.http_client import HTTPException
++from six.moves.queue import Empty
+ from urllib3.packages.ssl_match_hostname import CertificateError
+ from urllib3.exceptions import (
+ ClosedPoolError,
+diff --git a/test/test_fields.py b/test/test_fields.py
+index e944ec4..ed961f3 100644
+--- a/test/test_fields.py
++++ b/test/test_fields.py
+@@ -1,7 +1,7 @@
+ import pytest
+
+ from urllib3.fields import guess_content_type, RequestField
+-from urllib3.packages.six import u
++from six import u
+ from . import onlyPy2
+
+
+diff --git a/test/test_filepost.py b/test/test_filepost.py
+index ddf1209..c686ca5 100644
+--- a/test/test_filepost.py
++++ b/test/test_filepost.py
+@@ -2,7 +2,7 @@ import pytest
+
+ from urllib3.filepost import encode_multipart_formdata, iter_fields
+ from urllib3.fields import RequestField
+-from urllib3.packages.six import b, u
++from six import b, u
+
+
+ BOUNDARY = '!! test boundary !!'
+diff --git a/test/test_queue_monkeypatch.py b/test/test_queue_monkeypatch.py
+index 8ead9c0..ce579e9 100644
+--- a/test/test_queue_monkeypatch.py
++++ b/test/test_queue_monkeypatch.py
+@@ -6,7 +6,7 @@ import pytest
+
+ from urllib3 import HTTPConnectionPool
+ from urllib3.exceptions import EmptyPoolError
+-from urllib3.packages.six.moves import queue
++from six.moves import queue
+
+
+ class BadError(Exception):
+diff --git a/test/test_response.py b/test/test_response.py
+index 9ec029f..11e0e10 100644
+--- a/test/test_response.py
++++ b/test/test_response.py
+@@ -8,7 +8,7 @@ from urllib3.response import HTTPResponse
+ from urllib3.exceptions import (
+ DecodeError, ResponseNotChunked, ProtocolError, InvalidHeader
+ )
+-from urllib3.packages.six.moves import http_client as httplib
++from six.moves import http_client as httplib
+ from urllib3.util.retry import Retry
+ from urllib3.util.response import is_fp_closed
+
+diff --git a/test/test_retry.py b/test/test_retry.py
+index 9181f7c..924e63f 100644
+--- a/test/test_retry.py
++++ b/test/test_retry.py
+@@ -1,7 +1,7 @@
+ import pytest
+
+ from urllib3.response import HTTPResponse
+-from urllib3.packages.six.moves import xrange
++from six.moves import xrange
+ from urllib3.util.retry import Retry, RequestHistory
+ from urllib3.exceptions import (
+ ConnectTimeoutError,
+diff --git a/test/test_util.py b/test/test_util.py
+index 8cbb2a5..dfef3a2 100644
+--- a/test/test_util.py
++++ b/test/test_util.py
+@@ -38,7 +38,7 @@ from urllib3.util.connection import (
+ _has_ipv6
+ )
+ from urllib3.util import is_fp_closed, ssl_
+-from urllib3.packages import six
++import six
+
+ from . import clear_warnings
+
+diff --git a/test/with_dummyserver/test_chunked_transfer.py b/test/with_dummyserver/test_chunked_transfer.py
+index ba5251b..2de4a04 100644
+--- a/test/with_dummyserver/test_chunked_transfer.py
++++ b/test/with_dummyserver/test_chunked_transfer.py
+@@ -1,7 +1,7 @@
+ # -*- coding: utf-8 -*-
+
+ from urllib3 import HTTPConnectionPool
+-from urllib3.packages import six
++import six
+ from dummyserver.testcase import SocketDummyServerTestCase
+
+
+diff --git a/test/with_dummyserver/test_connectionpool.py b/test/with_dummyserver/test_connectionpool.py
+index cf46392..92b1f66 100644
+--- a/test/with_dummyserver/test_connectionpool.py
++++ b/test/with_dummyserver/test_connectionpool.py
+@@ -25,8 +25,8 @@ from urllib3.exceptions import (
+ NewConnectionError,
+ UnrewindableBodyError,
+ )
+-from urllib3.packages.six import b, u
+-from urllib3.packages.six.moves.urllib.parse import urlencode
++from six import b, u
++from six.moves.urllib.parse import urlencode
+ from urllib3.util.retry import Retry, RequestHistory
+ from urllib3.util.timeout import Timeout
+
+diff --git a/test/with_dummyserver/test_https.py b/test/with_dummyserver/test_https.py
+index dbebbea..2f2f3b1 100644
+--- a/test/with_dummyserver/test_https.py
++++ b/test/with_dummyserver/test_https.py
+@@ -38,7 +38,7 @@ from urllib3.exceptions import (
+ InsecurePlatformWarning,
+ MaxRetryError,
+ )
+-from urllib3.packages import six
++import six
+ from urllib3.util.timeout import Timeout
+ import urllib3.util as util
+
+diff --git a/urllib3/_collections.py b/urllib3/_collections.py
+index 5df2372..7330d3f 100644
+--- a/urllib3/_collections.py
++++ b/urllib3/_collections.py
+@@ -15,7 +15,7 @@ try: # Python 2.7+
+ from collections import OrderedDict
+ except ImportError:
+ from .packages.ordered_dict import OrderedDict
+-from .packages.six import iterkeys, itervalues, PY3
++from six import iterkeys, itervalues, PY3
+
+
+ __all__ = ['RecentlyUsedContainer', 'HTTPHeaderDict']
+diff --git a/urllib3/connection.py b/urllib3/connection.py
+index c0d8329..cf72daf 100644
+--- a/urllib3/connection.py
++++ b/urllib3/connection.py
+@@ -6,9 +6,9 @@ import sys
+ import socket
+ from socket import error as SocketError, timeout as SocketTimeout
+ import warnings
+-from .packages import six
+-from .packages.six.moves.http_client import HTTPConnection as _HTTPConnection
+-from .packages.six.moves.http_client import HTTPException # noqa: F401
++import six
++from six.moves.http_client import HTTPConnection as _HTTPConnection
++from six.moves.http_client import HTTPException # noqa: F401
+
+ try: # Compiled with SSL?
+ import ssl
+diff --git a/urllib3/connectionpool.py b/urllib3/connectionpool.py
+index ec9600f..7c8b286 100644
+--- a/urllib3/connectionpool.py
++++ b/urllib3/connectionpool.py
+@@ -24,8 +24,8 @@ from .exceptions import (
+ NewConnectionError,
+ )
+ from .packages.ssl_match_hostname import CertificateError
+-from .packages import six
+-from .packages.six.moves import queue
++import six
++from six.moves import queue
+ from .connection import (
+ port_by_scheme,
+ DummyConnection,
+diff --git a/urllib3/contrib/appengine.py b/urllib3/contrib/appengine.py
+index 814b022..825adfa 100644
+--- a/urllib3/contrib/appengine.py
++++ b/urllib3/contrib/appengine.py
+@@ -42,7 +42,7 @@ from __future__ import absolute_import
+ import logging
+ import os
+ import warnings
+-from ..packages.six.moves.urllib.parse import urljoin
++from six.moves.urllib.parse import urljoin
+
+ from ..exceptions import (
+ HTTPError,
+@@ -53,7 +53,7 @@ from ..exceptions import (
+ SSLError
+ )
+
+-from ..packages.six import BytesIO
++from six import BytesIO
+ from ..request import RequestMethods
+ from ..response import HTTPResponse
+ from ..util.timeout import Timeout
+diff --git a/urllib3/contrib/ntlmpool.py b/urllib3/contrib/ntlmpool.py
+index 642e99e..bf2ec3e 100644
+--- a/urllib3/contrib/ntlmpool.py
++++ b/urllib3/contrib/ntlmpool.py
+@@ -9,7 +9,7 @@ from logging import getLogger
+ from ntlm import ntlm
+
+ from .. import HTTPSConnectionPool
+-from ..packages.six.moves.http_client import HTTPSConnection
++from six.moves.http_client import HTTPSConnection
+
+
+ log = getLogger(__name__)
+diff --git a/urllib3/exceptions.py b/urllib3/exceptions.py
+index 6c4be58..515113c 100644
+--- a/urllib3/exceptions.py
++++ b/urllib3/exceptions.py
+@@ -1,5 +1,5 @@
+ from __future__ import absolute_import
+-from .packages.six.moves.http_client import (
++from six.moves.http_client import (
+ IncompleteRead as httplib_IncompleteRead
+ )
+ # Base Exceptions
+diff --git a/urllib3/fields.py b/urllib3/fields.py
+index 19b0ae0..79e4236 100644
+--- a/urllib3/fields.py
++++ b/urllib3/fields.py
+@@ -2,7 +2,7 @@ from __future__ import absolute_import
+ import email.utils
+ import mimetypes
+
+-from .packages import six
++import six
+
+
+ def guess_content_type(filename, default='application/octet-stream'):
+diff --git a/urllib3/filepost.py b/urllib3/filepost.py
+index cd11cee..8256115 100644
+--- a/urllib3/filepost.py
++++ b/urllib3/filepost.py
+@@ -4,8 +4,8 @@ import codecs
+ from uuid import uuid4
+ from io import BytesIO
+
+-from .packages import six
+-from .packages.six import b
++import six
++from six import b
+ from .fields import RequestField
+
+ writer = codecs.lookup('utf-8')[3]
+diff --git a/urllib3/poolmanager.py b/urllib3/poolmanager.py
+index 4ae9174..572815c 100644
+--- a/urllib3/poolmanager.py
++++ b/urllib3/poolmanager.py
+@@ -7,7 +7,7 @@ from ._collections import RecentlyUsedContainer
+ from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool
+ from .connectionpool import port_by_scheme
+ from .exceptions import LocationValueError, MaxRetryError, ProxySchemeUnknown
+-from .packages.six.moves.urllib.parse import urljoin
++from six.moves.urllib.parse import urljoin
+ from .request import RequestMethods
+ from .util.url import parse_url
+ from .util.retry import Retry
+diff --git a/urllib3/request.py b/urllib3/request.py
+index c0fddff..c07df67 100644
+--- a/urllib3/request.py
++++ b/urllib3/request.py
+@@ -1,7 +1,7 @@
+ from __future__ import absolute_import
+
+ from .filepost import encode_multipart_formdata
+-from .packages.six.moves.urllib.parse import urlencode
++from six.moves.urllib.parse import urlencode
+
+
+ __all__ = ['RequestMethods']
+diff --git a/urllib3/response.py b/urllib3/response.py
+index d3e5a1e..a8c8a0e 100644
+--- a/urllib3/response.py
++++ b/urllib3/response.py
+@@ -11,8 +11,8 @@ from .exceptions import (
+ BodyNotHttplibCompatible, ProtocolError, DecodeError, ReadTimeoutError,
+ ResponseNotChunked, IncompleteRead, InvalidHeader
+ )
+-from .packages.six import string_types as basestring, binary_type, PY3
+-from .packages.six.moves import http_client as httplib
++from six import string_types as basestring, binary_type, PY3
++from six.moves import http_client as httplib
+ from .connection import HTTPException, BaseSSLError
+ from .util.response import is_fp_closed, is_response_to_head
+
+diff --git a/urllib3/util/request.py b/urllib3/util/request.py
+index 3ddfcd5..da1249e 100644
+--- a/urllib3/util/request.py
++++ b/urllib3/util/request.py
+@@ -1,7 +1,7 @@
+ from __future__ import absolute_import
+ from base64 import b64encode
+
+-from ..packages.six import b, integer_types
++from six import b, integer_types
+ from ..exceptions import UnrewindableBodyError
+
+ ACCEPT_ENCODING = 'gzip,deflate'
+diff --git a/urllib3/util/response.py b/urllib3/util/response.py
+index 67cf730..9be555f 100644
+--- a/urllib3/util/response.py
++++ b/urllib3/util/response.py
+@@ -1,5 +1,5 @@
+ from __future__ import absolute_import
+-from ..packages.six.moves import http_client as httplib
++from six.moves import http_client as httplib
+
+ from ..exceptions import HeaderParsingError
+
+diff --git a/urllib3/util/retry.py b/urllib3/util/retry.py
+index c603cb4..e8a04a1 100644
+--- a/urllib3/util/retry.py
++++ b/urllib3/util/retry.py
+@@ -14,7 +14,7 @@ from ..exceptions import (
+ ResponseError,
+ InvalidHeader,
+ )
+-from ..packages import six
++import six
+
+
+ log = logging.getLogger(__name__)
diff --cc debian/patches/02_require-cert-verification.patch
index 5d421c2,0000000..1fbdb2a
mode 100644,000000..100644
--- a/debian/patches/02_require-cert-verification.patch
+++ b/debian/patches/02_require-cert-verification.patch
@@@ -1,39 -1,0 +1,39 @@@
- From 593b1587abf352a27e1d0d47933ba683252af884 Mon Sep 17 00:00:00 2001
++From 31b6ac11fde17aa2f3270b3475fff1529e9f5aba Mon Sep 17 00:00:00 2001
+From: Jamie Strandboge <jamie at canonical.com>
+Date: Thu, 8 Oct 2015 13:19:47 -0700
+Subject: 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
+Bug-Debian: http://bugs.debian.org/686872
+Last-Update: 2014-09-01
+
+Patch-Name: 02_require-cert-verification.patch
+---
+ urllib3/connectionpool.py | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/urllib3/connectionpool.py b/urllib3/connectionpool.py
+index 7c8b286..90b53a0 100644
+--- a/urllib3/connectionpool.py
++++ b/urllib3/connectionpool.py
+@@ -750,6 +750,8 @@ class HTTPSConnectionPool(HTTPConnectionPool):
+ ``ca_cert_dir``, and ``ssl_version`` are only used if :mod:`ssl` is
+ available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade
+ the connection socket into an SSL socket.
++
++ On Debian, SSL certificate validation is required by default
+ """
+
+ scheme = 'https'
+@@ -759,8 +761,8 @@ class HTTPSConnectionPool(HTTPConnectionPool):
+ strict=False, timeout=Timeout.DEFAULT_TIMEOUT, maxsize=1,
+ block=False, headers=None, retries=None,
+ _proxy=None, _proxy_headers=None,
+- key_file=None, cert_file=None, cert_reqs=None,
+- ca_certs=None, ssl_version=None,
++ key_file=None, cert_file=None, cert_reqs='CERT_REQUIRED',
++ ca_certs='/etc/ssl/certs/ca-certificates.crt', ssl_version=None,
+ assert_hostname=None, assert_fingerprint=None,
+ ca_cert_dir=None, **conn_kw):
+
diff --cc debian/patches/04_relax_nosetests_options.patch
index d1c2796,0000000..7e7216c
mode 100644,000000..100644
--- a/debian/patches/04_relax_nosetests_options.patch
+++ b/debian/patches/04_relax_nosetests_options.patch
@@@ -1,26 -1,0 +1,26 @@@
- From 9eb3d3646a00be9087072cc6aca7d6d1cc3e35c1 Mon Sep 17 00:00:00 2001
++From 5404fb1540ef3d9f6c9ec8fe08426619152d18f3 Mon Sep 17 00:00:00 2001
+From: Daniele Tricoli <eriol at mornie.org>
+Date: Thu, 8 Oct 2015 13:19:50 -0700
+Subject: Do not use logging-clear-handlers to see all logging output and
+
+ disable cover-min-percentage since it require python-nose (>= 1.3): this way
+ it will be easier to backport python-urllib3 to Wheezy.
+Forwarded: not-needed
+Last-Update: 2014-7-7
+
+Patch-Name: 04_relax_nosetests_options.patch
+---
+ setup.cfg | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.cfg b/setup.cfg
+index b3b22f9..c0f990c 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -1,5 +1,5 @@
+ [nosetests]
+-logging-clear-handlers = true
++# logging-clear-handlers = true
+ with-coverage = true
+ cover-package = urllib3
+ cover-erase = true
diff --cc debian/patches/05_avoid-embedded-ssl-match-hostname.patch
index fabd12a,0000000..7e7163c
mode 100644,000000..100644
--- a/debian/patches/05_avoid-embedded-ssl-match-hostname.patch
+++ b/debian/patches/05_avoid-embedded-ssl-match-hostname.patch
@@@ -1,34 -1,0 +1,34 @@@
- From 6e900a4ee5e1cf6acbf503986286421840c28ffd Mon Sep 17 00:00:00 2001
++From f1dca752b6948f0a8bd773d6e60df6c0783890f1 Mon Sep 17 00:00:00 2001
+From: Stefano Rivera <stefanor at debian.org>
+Date: Thu, 8 Oct 2015 13:19:51 -0700
+Subject: Do not use embedded copy of ssl.match_hostname, when possible
+
+ The system python has the necessary features backported, since 2.7.8-7 (and
+ 221a1f9155e2, releasing in 2.7.9, upstream). However, alternative python
+ implementations don't, yet, and urllib3 is used by pip in virtualenvs.
+Forwarded: not-needed
+Last-Update: 2014-11-18
+
+Patch-Name: 05_avoid-embedded-ssl-match-hostname.patch
+---
+ urllib3/packages/__init__.py | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/urllib3/packages/__init__.py b/urllib3/packages/__init__.py
+index 170e974..4a39b72 100644
+--- a/urllib3/packages/__init__.py
++++ b/urllib3/packages/__init__.py
+@@ -1,5 +1,11 @@
+ from __future__ import absolute_import
+
+-from . import ssl_match_hostname
+-
+ __all__ = ('ssl_match_hostname', )
++
++try:
++ # cPython >= 2.7.9 has ssl features backported from Python3
++ from ssl import CertificateError
++ del CertificateError
++ import ssl as ssl_match_hostname
++except ImportError:
++ from . import ssl_match_hostname
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-urllib3.git
More information about the Python-modules-commits
mailing list