[Python-modules-commits] [python-urllib3] 09/10: merge patched into master
Daniele Tricoli
eriol-guest at moszumanska.debian.org
Wed Dec 23 23:39:00 UTC 2015
This is an automated email from the git hooks/post-receive script.
eriol-guest pushed a commit to branch master
in repository python-urllib3.
commit b7e7bf537cf459e8948803cce776a9af8bd8a518
Merge: 6d9474b 468650e
Author: Daniele Tricoli <eriol at mornie.org>
Date: Wed Dec 23 22:59:07 2015 +0100
merge patched into master
CHANGES.rst | 23 +++++++
CONTRIBUTORS.txt | 18 +++++-
Makefile | 3 +-
PKG-INFO | 25 +++++++-
debian/.git-dpm | 6 +-
.../01_do-not-use-embedded-python-six.patch | 46 +++++++-------
debian/patches/02_require-cert-verification.patch | 8 +--
debian/patches/03_force_setuptools.patch | 4 +-
debian/patches/04_relax_nosetests_options.patch | 4 +-
.../05_avoid-embedded-ssl-match-hostname.patch | 12 ++--
docs/index.rst | 2 +-
docs/managers.rst | 11 ++++
docs/security.rst | 73 +++++++++++++++++-----
dummyserver/certs/server.ipv6addr.crt | 16 +++++
dummyserver/certs/server.ipv6addr.key | 27 ++++++++
dummyserver/handlers.py | 11 ++--
dummyserver/proxy.py | 9 +--
dummyserver/server.py | 6 ++
dummyserver/testcase.py | 19 ++++--
setup.cfg | 9 +++
setup.py | 11 ++--
test/test_util.py | 30 +++++++++
test/with_dummyserver/test_connectionpool.py | 44 ++++++-------
test/with_dummyserver/test_https.py | 32 ++++++++--
test/with_dummyserver/test_poolmanager.py | 12 +++-
test/with_dummyserver/test_proxy_poolmanager.py | 8 +--
test/with_dummyserver/test_socketlevel.py | 71 +++++++++++++++++++++
urllib3/__init__.py | 32 ++++++++--
urllib3/_collections.py | 7 ++-
urllib3/connection.py | 39 +++++++-----
urllib3/connectionpool.py | 34 +++++-----
urllib3/contrib/appengine.py | 23 +++----
urllib3/contrib/ntlmpool.py | 1 +
urllib3/contrib/pyopenssl.py | 35 ++++++-----
urllib3/exceptions.py | 14 ++++-
urllib3/fields.py | 1 +
urllib3/filepost.py | 1 +
urllib3/packages/__init__.py | 2 +
urllib3/poolmanager.py | 3 +-
urllib3/request.py | 4 +-
urllib3/response.py | 53 ++++++++++++----
urllib3/util/__init__.py | 20 ++++++
urllib3/util/connection.py | 1 +
urllib3/util/request.py | 1 +
urllib3/util/response.py | 3 +-
urllib3/util/retry.py | 7 ++-
urllib3/util/ssl_.py | 39 ++++++++++--
urllib3/util/timeout.py | 8 ++-
urllib3/util/url.py | 5 +-
49 files changed, 664 insertions(+), 209 deletions(-)
diff --cc debian/.git-dpm
index 0c7e23c,0000000..76c8398
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
- 842fd4e9f188f13313124e3750f1c768d319fc34
- 842fd4e9f188f13313124e3750f1c768d319fc34
- 2b3d330a120a16e97cecd5163b5d454dcfe38a2b
++468650ebc00a3c8458882bc83a1616aece7e2705
++468650ebc00a3c8458882bc83a1616aece7e2705
++49444bdd74c2a37b97d86fc9cb5b85a28ffd659d
+49444bdd74c2a37b97d86fc9cb5b85a28ffd659d
+python-urllib3_1.13.1.orig.tar.gz
+1309e9536c74cdad6d5ab089c83235a687b6d7e6
+156259
+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 225195f,0000000..80d009a
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,233 -1,0 +1,235 @@@
- From 4e097b776bf499a02b262c722487fcd55c2ee379 Mon Sep 17 00:00:00 2001
++From 00470dbca1765992a48cd2b324e7a3c4a6d40a5c 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
+---
+ dummyserver/handlers.py | 2 +-
+ test/__init__.py | 2 +-
+ test/contrib/test_pyopenssl.py | 2 +-
+ test/test_collections.py | 2 +-
+ test/test_fields.py | 2 +-
+ test/test_filepost.py | 2 +-
+ test/test_retry.py | 2 +-
+ urllib3/_collections.py | 2 +-
+ urllib3/connection.py | 2 +-
+ urllib3/connectionpool.py | 2 +-
+ urllib3/fields.py | 2 +-
+ urllib3/filepost.py | 4 ++--
+ urllib3/response.py | 4 ++--
+ urllib3/util/request.py | 2 +-
+ urllib3/util/response.py | 2 +-
+ urllib3/util/retry.py | 2 +-
+ 16 files changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/dummyserver/handlers.py b/dummyserver/handlers.py
- index 43398cd..a7828a3 100644
++index fb6f44f..c5ac9b4 100644
+--- a/dummyserver/handlers.py
++++ b/dummyserver/handlers.py
- @@ -263,7 +263,7 @@ def _parse_header(line):
++@@ -264,7 +264,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 f7c4a7a..22d3616 100644
+--- a/test/__init__.py
++++ b/test/__init__.py
+@@ -8,7 +8,7 @@ import socket
+ from nose.plugins.skip import SkipTest
+
+ from urllib3.exceptions import MaxRetryError, HTTPWarning
+-from urllib3.packages import six
++import six
+
+ # We need a host that will not immediately close the connection with a TCP
+ # Reset. SO suggests this hostname
+diff --git a/test/contrib/test_pyopenssl.py b/test/contrib/test_pyopenssl.py
+index 5d57527..f23ff19 100644
+--- a/test/contrib/test_pyopenssl.py
++++ b/test/contrib/test_pyopenssl.py
+@@ -1,5 +1,5 @@
+ from nose.plugins.skip import SkipTest
+-from urllib3.packages import six
++import six
+
+ if six.PY3:
+ raise SkipTest('Testing of PyOpenSSL disabled on PY3')
+diff --git a/test/test_collections.py b/test/test_collections.py
+index 9d72939..78ef634 100644
+--- a/test/test_collections.py
++++ b/test/test_collections.py
+@@ -4,7 +4,7 @@ from urllib3._collections import (
+ HTTPHeaderDict,
+ RecentlyUsedContainer as Container
+ )
+-from urllib3.packages import six
++import six
+ xrange = six.moves.xrange
+
+ from nose.plugins.skip import SkipTest
+diff --git a/test/test_fields.py b/test/test_fields.py
+index cdec68b..66da148 100644
+--- a/test/test_fields.py
++++ b/test/test_fields.py
+@@ -1,7 +1,7 @@
+ import unittest
+
+ from urllib3.fields import guess_content_type, RequestField
+-from urllib3.packages.six import u
++from six import u
+
+
+ class TestRequestField(unittest.TestCase):
+diff --git a/test/test_filepost.py b/test/test_filepost.py
+index 390dbb3..ecc6710 100644
+--- a/test/test_filepost.py
++++ b/test/test_filepost.py
+@@ -2,7 +2,7 @@ import unittest
+
+ 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_retry.py b/test/test_retry.py
+index 421e508..8fcc287 100644
+--- a/test/test_retry.py
++++ b/test/test_retry.py
+@@ -1,7 +1,7 @@
+ import unittest
+
+ from urllib3.response import HTTPResponse
+-from urllib3.packages.six.moves import xrange
++from six.moves import xrange
+ from urllib3.util.retry import Retry
+ from urllib3.exceptions import (
+ ConnectTimeoutError,
+diff --git a/urllib3/_collections.py b/urllib3/_collections.py
- index b68b9a5..af8074a 100644
++index 67f3ce9..b69ce20 100644
+--- a/urllib3/_collections.py
++++ b/urllib3/_collections.py
- @@ -14,7 +14,7 @@ try: # Python 2.7+
++@@ -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 3eab1e2..115eac9 100644
++index 1e4cd41..0075541 100644
+--- a/urllib3/connection.py
++++ b/urllib3/connection.py
- @@ -3,7 +3,7 @@ import sys
++@@ -5,7 +5,7 @@ import sys
+ import socket
+ from socket import error as SocketError, timeout as SocketTimeout
+ import warnings
+-from .packages import six
++import six
+
+ try: # Python 3
- from http.client import HTTPConnection as _HTTPConnection, HTTPException
++ from http.client import HTTPConnection as _HTTPConnection
+diff --git a/urllib3/connectionpool.py b/urllib3/connectionpool.py
- index b38ac68..563f108 100644
++index 995b416..2204b30 100644
+--- a/urllib3/connectionpool.py
++++ b/urllib3/connectionpool.py
- @@ -30,7 +30,7 @@ from .exceptions import (
++@@ -31,7 +31,7 @@ from .exceptions import (
+ NewConnectionError,
+ )
+ from .packages.ssl_match_hostname import CertificateError
+-from .packages import six
++import six
+ from .connection import (
+ port_by_scheme,
+ DummyConnection,
+diff --git a/urllib3/fields.py b/urllib3/fields.py
- index c853f8d..5fe3c24 100644
++index c7d4811..2152829 100644
+--- a/urllib3/fields.py
++++ b/urllib3/fields.py
- @@ -1,7 +1,7 @@
++@@ -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 0fbf488..97ab970 100644
++index 97a2843..2fea190 100644
+--- a/urllib3/filepost.py
++++ b/urllib3/filepost.py
- @@ -3,8 +3,8 @@ import codecs
++@@ -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/response.py b/urllib3/response.py
- index 788eb6c..c41bd2c 100644
++index 8f2a1b5..e034068 100644
+--- a/urllib3/response.py
++++ b/urllib3/response.py
- @@ -7,8 +7,8 @@ from ._collections import HTTPHeaderDict
++@@ -9,8 +9,8 @@ from ._collections import HTTPHeaderDict
+ from .exceptions import (
+ ProtocolError, DecodeError, ReadTimeoutError, ResponseNotChunked
+ )
+-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 bc64f6b..5f4ccfd 100644
++index 7377931..40bf0b4 100644
+--- a/urllib3/util/request.py
++++ b/urllib3/util/request.py
- @@ -1,6 +1,6 @@
++@@ -1,7 +1,7 @@
++ from __future__ import absolute_import
+ from base64 import b64encode
+
+-from ..packages.six import b
++from six import b
+
+ ACCEPT_ENCODING = 'gzip,deflate'
+
+diff --git a/urllib3/util/response.py b/urllib3/util/response.py
- index 2c1de15..6695809 100644
++index bc72327..6756b99 100644
+--- a/urllib3/util/response.py
++++ b/urllib3/util/response.py
- @@ -1,4 +1,4 @@
++@@ -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 1fb1f23..178b374 100644
++index 03a0124..fd1f5dd 100644
+--- a/urllib3/util/retry.py
++++ b/urllib3/util/retry.py
- @@ -8,7 +8,7 @@ from ..exceptions import (
++@@ -9,7 +9,7 @@ from ..exceptions import (
+ ReadTimeoutError,
+ ResponseError,
+ )
+-from ..packages import six
++import six
+
+
+ log = logging.getLogger(__name__)
diff --cc debian/patches/02_require-cert-verification.patch
index 75d38b6,0000000..dfef1a8
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 9e59bf6b30776302e6ccd960331a91d073f6a0c3 Mon Sep 17 00:00:00 2001
++From f52be2bcb24472e3b746c449f58fed0eb3775094 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 563f108..a99d4ec 100644
++index 2204b30..ef60000 100644
+--- a/urllib3/connectionpool.py
++++ b/urllib3/connectionpool.py
- @@ -681,6 +681,8 @@ class HTTPSConnectionPool(HTTPConnectionPool):
++@@ -683,6 +683,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'
- @@ -690,8 +692,8 @@ class HTTPSConnectionPool(HTTPConnectionPool):
++@@ -692,8 +694,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/03_force_setuptools.patch
index 37e1512,0000000..a3a45ad
mode 100644,000000..100644
--- a/debian/patches/03_force_setuptools.patch
+++ b/debian/patches/03_force_setuptools.patch
@@@ -1,25 -1,0 +1,25 @@@
- From f3ff91a4a00160a0e1afcaa7cd79219cd851bccd Mon Sep 17 00:00:00 2001
++From a3f9df1c55db089852db9dd233148e32beabaf32 Mon Sep 17 00:00:00 2001
+From: Barry Warsaw <barry at debian.org>
+Date: Thu, 8 Oct 2015 13:19:49 -0700
+Subject: Use setuptools.setup() so that the bdist_wheel
+
+ command will work.
+Last-Update: 2014-05-15
+
+Patch-Name: 03_force_setuptools.patch
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
- index 6bdb7b9..1e1888d 100644
++index 0a2dac3..02d5ec6 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1,6 +1,6 @@
+ #!/usr/bin/env python
+
+-from distutils.core import setup
++from setuptools import setup
+
+ import os
+ import re
diff --cc debian/patches/04_relax_nosetests_options.patch
index b898d19,0000000..4e138e0
mode 100644,000000..100644
--- a/debian/patches/04_relax_nosetests_options.patch
+++ b/debian/patches/04_relax_nosetests_options.patch
@@@ -1,30 -1,0 +1,30 @@@
- From 28953c4c9c5ad7893bd392658016019fbf78088a Mon Sep 17 00:00:00 2001
++From 2e8803cd1dd80c4d7b03582cbe807becc4373f2c 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 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/setup.cfg b/setup.cfg
- index 6a64ffa..25a6815 100644
++index b5fe992..ca24a71 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -1,8 +1,8 @@
+ [nosetests]
+-logging-clear-handlers = true
++# logging-clear-handlers = true
+ with-coverage = true
+ cover-package = urllib3
+-cover-min-percentage = 100
++# cover-min-percentage = 100
+ cover-erase = true
+
+ [flake8]
diff --cc debian/patches/05_avoid-embedded-ssl-match-hostname.patch
index 04894d4,0000000..8144184
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,32 -1,0 +1,34 @@@
- From 842fd4e9f188f13313124e3750f1c768d319fc34 Mon Sep 17 00:00:00 2001
++From 468650ebc00a3c8458882bc83a1616aece7e2705 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 | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
++ 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 37e8351..10a3aa8 100644
++index 170e974..4a39b72 100644
+--- a/urllib3/packages/__init__.py
++++ b/urllib3/packages/__init__.py
- @@ -1,4 +1,9 @@
++@@ -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