Hello community,

here is the log from the commit of package python-ndg-httpsclient for 
openSUSE:Factory checked in at 2019-06-01 09:55:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ndg-httpsclient (Old)
 and      /work/SRC/openSUSE:Factory/.python-ndg-httpsclient.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-ndg-httpsclient"

Sat Jun  1 09:55:03 2019 rev:4 rq:706328 version:0.5.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-ndg-httpsclient/python-ndg-httpsclient.changes
    2018-12-24 11:40:05.369521454 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-ndg-httpsclient.new.5148/python-ndg-httpsclient.changes
  2019-06-01 09:55:07.143209180 +0200
@@ -1,0 +2,15 @@
+Wed May 29 12:54:21 UTC 2019 - Marketa Calabkova <[email protected]>
+
+- update to version 0.5.1
+  0.5.*
+  * Drop support for EOL Python 2.6 and 3.3
+  * Updated SSL Context objects to default to TLS 1.2
+  * Fix to Subject Alternative Name handling to allow for 
+    certificates with more than 64 names (max now 1024).
+  0.4.*
+  * Fix to ndg namespace package warning issue
+  * Minor fix for installation: set minimum release for pyasn1
+  * Fix to bug in ndg.httpsclient.utils.open_url - duplicate open call.
+  * Moved LICENSE file into package
+
+-------------------------------------------------------------------

Old:
----
  ndg_httpsclient-0.4.0.tar.gz

New:
----
  ndg_httpsclient-0.5.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-ndg-httpsclient.spec ++++++
--- /var/tmp/diff_new_pack.JlfEON/_old  2019-06-01 09:55:07.907208920 +0200
+++ /var/tmp/diff_new_pack.JlfEON/_new  2019-06-01 09:55:07.911208919 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-ndg-httpsclient
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,17 +18,18 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-ndg-httpsclient
-Version:        0.4.0
+Version:        0.5.1
 Release:        0
 Summary:        Provides enhanced HTTPS support for httplib and urllib2 using 
PyOpenSSL
 License:        BSD-2-Clause
 Group:          Development/Languages/Python
-Url:            https://github.com/cedadev/ndg_httpsclient/
+URL:            https://github.com/cedadev/ndg_httpsclient/
 Source:         
https://files.pythonhosted.org/packages/source/n/ndg_httpsclient/ndg_httpsclient-%{version}.tar.gz
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+Requires:       python-pyOpenSSL
+Requires:       python-pyasn1 >= 0.1.1
 BuildArch:      noarch
 %python_subpackages
 
@@ -38,13 +39,6 @@
 default provided with Python and importantly enables full verification of the
 SSL peer.
 
-Prerequisites
-=============
-This has been developed and tested for Python 2.6 and 2.7 with pyOpenSSL 0.13 
and 0.14.
-Version 0.4.0 tested with pyOpenSSL 0.15.1 and Python 2.7 and 3.4.  Note that 
proxy support
-is only available from Python 2.6.2 onwards.  pyasn1 is required for correct 
SSL
-verification with subjectAltNames.
-
 %prep
 %setup -q -n ndg_httpsclient-%{version}
 
@@ -53,10 +47,13 @@
 
 %install
 %python_install
-%fdupes %{buildroot}
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
+
+# tests require internet connection
 
 %files %{python_files}
-%defattr(-,root,root,-)
+%doc README.md
+%license ndg/httpsclient/LICENSE
 %{python_sitelib}/*
 %python3_only %{_bindir}/ndg_httpclient
 

++++++ ndg_httpsclient-0.4.0.tar.gz -> ndg_httpsclient-0.5.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ndg_httpsclient-0.4.0/PKG-INFO 
new/ndg_httpsclient-0.5.1/PKG-INFO
--- old/ndg_httpsclient-0.4.0/PKG-INFO  2015-05-04 09:24:39.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/PKG-INFO  2018-07-23 18:02:43.000000000 +0200
@@ -1,19 +1,64 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: ndg_httpsclient
-Version: 0.4.0
+Version: 0.5.1
 Summary: Provides enhanced HTTPS support for httplib and urllib2 using 
PyOpenSSL
 Home-page: https://github.com/cedadev/ndg_httpsclient/
 Author: Richard Wilkinson and Philip Kershaw
 Author-email: [email protected]
-License: BSD - See LICENCE file for details
-Description: 
-        This is a HTTPS client implementation for httplib and urllib2 based on
-        PyOpenSSL.  PyOpenSSL provides a more fully featured SSL 
implementation over the
-        default provided with Python and importantly enables full verification 
of the
-        SSL peer.
+License: BSD - See ndg/httpsclient/LICENCE file for details
+Description: A HTTPS client implementation for 
+         * ``httplib`` (Python 2), ``http.client`` (Python 3) and 
+         * ``urllib2`` (Python 2) and ``urllib`` (Python 3)
+        
+        ... based on PyOpenSSL.  PyOpenSSL provides a more fully featured SSL 
implementation 
+        over the default provided with Python and importantly enables full 
verification 
+        of the SSL peer using ``pyasn1``.
         
         Releases
         ========
+        0.5.1
+        -----
+         * Clean up handling for description file - pull in content from this 
file into setup()
+         * Allows the nightly build to fail
+         * Add Trove version classifiers to make it explicit what is supported
+         * Add python_requires to help pip
+         * Drop support for EOL Python 2.6 and 3.3  
+          
+        Thanks to @hugovk for contributions
+        
+        0.5.0
+        -----
+         * Fix to Subject Alternative Name handling to allow for certificates 
with
+           more than 64 names (max now 1024).  Thanks to Matt Pegler
+         * Fix to subjectAltName string to use byte type for correct matching 
+         * Updated SSL Context objects to default to TLS 1.2
+        
+        0.4.4
+        -----
+         * Updated test certificates
+        
+        0.4.3
+        -----
+         * Fix to ``ndg`` namespace package warning issue 
(https://github.com/cedadev/ndg_httpsclient/issues/3).  
+           ``__init__.py`` file now included in ``ndg`` directory so that 
there are no longer warnings with imports
+           when using Python 2.x.  Thanks to Max Mauntner for fix.
+         * Minor fix for installation: set minimum release for ``pyasn1`` to 
avoid conflicts with Ubuntu
+           install - see https://github.com/cedadev/ndg_httpsclient/issues/5 
and
+           https://github.com/cedadev/ndg_httpsclient/pull/10.  ``pyasn1`` 
also becomes mandatory rather
+           than optional package for install.  - It required by 
``cryptography`` anyway which is a 
+           dependency for ``pyOpenSSL`` from version 0.14.
+        
+        0.4.2
+        -----
+         * Fix to bug in ``ndg.httpsclient.utils.open_url`` - duplicate open 
call.  
+           Nb. This bug and the fix DO NOT affect the ``httplib``and 
``urllib2`` 
+           interfaces that this package provides.
+         
+        0.4.1
+        -----
+         * Added explicit ref to Python 3 in classifier text for Python 3 
checking tools.
+         * Moved LICENSE file into package
+        
         0.4.0
         -----
          * Made dual compatible with Python 2 / 3.
@@ -35,13 +80,13 @@
          
         0.3.1
         -----
-         * extended utils functions to support keyword for passing additional 
urllib2
+         * extended utils functions to support keyword for passing additional 
``urllib2``
            handlers.
         
         0.3.0
         -----
-         * Added ndg.httpsclient.utils.fetch_stream_from_url function and added
-           parameter for data to post in open_url and fetch_* methods.
+         * Added ``ndg.httpsclient.utils.fetch_stream_from_url`` function and 
added
+           parameter for data to post in ``open_url`` and ``fetch_*`` methods.
          * fix to ndg.httpsclient.utils module _should_use_proxy and open_url 
functions
         
         0.2.0
@@ -55,14 +100,14 @@
         
         Prerequisites
         =============
-        This has been developed and tested for Python 2.6 and 2.7 with 
pyOpenSSL 0.13 and 0.14.  
-        Version 0.4.0 tested with pyOpenSSL 0.15.1 and Python 2.7 and 3.4.  
Note that proxy support 
-        is only available from Python 2.6.2 onwards.  pyasn1 is required for 
correct SSL 
-        verification with subjectAltNames.
+        This has been developed and tested for Python 2.7 with pyOpenSSL 0.13 
+        and 0.14.  Version 0.4.0 tested with ``pyOpenSSL`` 0.15.1 and Python 
2.7 and 
+        3.4. 
+        ``pyasn1`` is required for correct SSL verification with 
``subjectAltNames``.
         
         Installation
         ============
-        Installation can be performed using easy_install or pip.
+        Installation can be performed using ``easy_install`` or ``pip``.
         
         Running ndg_httpclient
         ======================
@@ -99,9 +144,10 @@
             
         ``-n, --no-verify-peer``
           Skip verification of peer certificate.
+          
         
 Platform: UNKNOWN
-Classifier: Development Status :: 3 - Alpha
+Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Console
 Classifier: Environment :: Web Environment
 Classifier: Intended Audience :: End Users/Desktop
@@ -113,9 +159,17 @@
 Classifier: Operating System :: Microsoft :: Windows
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
 Classifier: Topic :: Security
 Classifier: Topic :: Internet
 Classifier: Topic :: Scientific/Engineering
 Classifier: Topic :: System :: Distributed Computing
 Classifier: Topic :: System :: Systems Administration :: 
Authentication/Directory
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ndg_httpsclient-0.4.0/README.md 
new/ndg_httpsclient-0.5.1/README.md
--- old/ndg_httpsclient-0.4.0/README.md 1970-01-01 01:00:00.000000000 +0100
+++ new/ndg_httpsclient-0.5.1/README.md 2018-07-20 14:12:59.000000000 +0200
@@ -0,0 +1,139 @@
+A HTTPS client implementation for 
+ * ``httplib`` (Python 2), ``http.client`` (Python 3) and 
+ * ``urllib2`` (Python 2) and ``urllib`` (Python 3)
+
+... based on PyOpenSSL.  PyOpenSSL provides a more fully featured SSL 
implementation 
+over the default provided with Python and importantly enables full 
verification 
+of the SSL peer using ``pyasn1``.
+
+Releases
+========
+0.5.1
+-----
+ * Clean up handling for description file - pull in content from this file 
into setup()
+ * Allows the nightly build to fail
+ * Add Trove version classifiers to make it explicit what is supported
+ * Add python_requires to help pip
+ * Drop support for EOL Python 2.6 and 3.3  
+  
+Thanks to @hugovk for contributions
+
+0.5.0
+-----
+ * Fix to Subject Alternative Name handling to allow for certificates with
+   more than 64 names (max now 1024).  Thanks to Matt Pegler
+ * Fix to subjectAltName string to use byte type for correct matching 
+ * Updated SSL Context objects to default to TLS 1.2
+
+0.4.4
+-----
+ * Updated test certificates
+
+0.4.3
+-----
+ * Fix to ``ndg`` namespace package warning issue 
(https://github.com/cedadev/ndg_httpsclient/issues/3).  
+   ``__init__.py`` file now included in ``ndg`` directory so that there are no 
longer warnings with imports
+   when using Python 2.x.  Thanks to Max Mauntner for fix.
+ * Minor fix for installation: set minimum release for ``pyasn1`` to avoid 
conflicts with Ubuntu
+   install - see https://github.com/cedadev/ndg_httpsclient/issues/5 and
+   https://github.com/cedadev/ndg_httpsclient/pull/10.  ``pyasn1`` also 
becomes mandatory rather
+   than optional package for install.  - It required by ``cryptography`` 
anyway which is a 
+   dependency for ``pyOpenSSL`` from version 0.14.
+
+0.4.2
+-----
+ * Fix to bug in ``ndg.httpsclient.utils.open_url`` - duplicate open call.  
+   Nb. This bug and the fix DO NOT affect the ``httplib``and ``urllib2`` 
+   interfaces that this package provides.
+ 
+0.4.1
+-----
+ * Added explicit ref to Python 3 in classifier text for Python 3 checking 
tools.
+ * Moved LICENSE file into package
+
+0.4.0
+-----
+ * Made dual compatible with Python 2 / 3.
+ 
+0.3.3
+-----
+ * Fix to add in AnotherName for ``subjectAltNames`` field - added for support 
for CACert issued
+   certs (thanks to Gu1).
+ * Fix to HTTP Basic Auth option for ``ndg.httpsclient.utils.main``
+ * Fix to ``ServerSSLCertVerification`` so that it can pass a function-based 
callback instead of using ``__call__``. In newer versions of OpenSSL (>= 0.14) 
the latter failed because of a request for ``__name__`` attribute.
+
+0.3.2
+-----
+ * Fix to SubjectAltNames support check - should only be enabled if pyasn1 is 
+   installed.
+ * Fix to open_url: HTTP Request object was being created inside if headers is 
+   None block - now corrected to create regardless.
+ * Added http basic auth support to script. (Thanks to Willem van Engen)
+ 
+0.3.1
+-----
+ * extended utils functions to support keyword for passing additional 
``urllib2``
+   handlers.
+
+0.3.0
+-----
+ * Added ``ndg.httpsclient.utils.fetch_stream_from_url`` function and added
+   parameter for data to post in ``open_url`` and ``fetch_*`` methods.
+ * fix to ndg.httpsclient.utils module _should_use_proxy and open_url functions
+
+0.2.0
+-----
+ * added support for SSL verification with subjectAltNames using pyasn1
+ * fixed minor bug - SSL cert DN prefix matching
+
+0.1.0
+-----
+Initial release
+
+Prerequisites
+=============
+This has been developed and tested for Python 2.7 with pyOpenSSL 0.13 
+and 0.14.  Version 0.4.0 tested with ``pyOpenSSL`` 0.15.1 and Python 2.7 and 
+3.4. 
+``pyasn1`` is required for correct SSL verification with ``subjectAltNames``.
+
+Installation
+============
+Installation can be performed using ``easy_install`` or ``pip``.
+
+Running ndg_httpclient
+======================
+A simple script for fetching data using HTTP or HTTPS GET from a specified URL.
+
+Parameter:
+
+``url``
+  The URL of the resource to be fetched
+
+Options:
+
+``-h, --help``
+  Show help message and exit.
+
+``-c FILE, --certificate=FILE``
+  Certificate file - defaults to ``$HOME/credentials.pem``
+
+``-k FILE, --private-key=FILE``
+  Private key file - defaults to the certificate file
+
+``-t DIR, --ca-certificate-dir=DIR``
+  Trusted CA certificate file directory.
+
+``-d, --debug``
+  Print debug information - this may be useful in solving problems with HTTP 
or 
+  HTTPS access to a server.
+    
+``-p FILE, --post-data-file=FILE``
+  POST data file
+    
+``-f FILE, --fetch=FILE``
+  Output file
+    
+``-n, --no-verify-peer``
+  Skip verification of peer certificate.
+  
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ndg_httpsclient-0.4.0/ndg/__init__.py 
new/ndg_httpsclient-0.5.1/ndg/__init__.py
--- old/ndg_httpsclient-0.4.0/ndg/__init__.py   2015-04-16 16:24:36.000000000 
+0200
+++ new/ndg_httpsclient-0.5.1/ndg/__init__.py   2017-09-01 16:19:18.000000000 
+0200
@@ -1,19 +1 @@
-"""ndg_httpsclient - PyOpenSSL utility to make a httplib-like interface 
suitable
-for use with urllib2
-
-This is a setuptools namespace_package.  DO NOT place any other
-code in this file!  There is no guarantee that it will be installed
-with easy_install.  See:
-
-http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
-
-... for details.
-"""
-__author__ = "P J Kershaw"
-__date__ = "06/01/12"
-__copyright__ = "(C) 2012 Science and Technology Facilities Council"
-__license__ = "BSD - see LICENSE file in top-level directory"
-__contact__ = "[email protected]"
-__revision__ = '$Id$'
-
-__import__('pkg_resources').declare_namespace(__name__)
\ No newline at end of file
+__path__ = __import__('pkgutil').extend_path(__path__, __name__)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ndg_httpsclient-0.4.0/ndg/httpsclient/LICENSE 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/LICENSE
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/LICENSE   1970-01-01 
01:00:00.000000000 +0100
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/LICENSE   2017-09-01 
12:56:40.000000000 +0200
@@ -0,0 +1,26 @@
+Copyright (c) 2012, Science & Technology Facilities Council (STFC)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, 
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of the Science & Technology Facilities Council (STFC) 
+      nor the names of its contributors may be used to endorse or promote 
+      products derived from this software without specific prior written 
+      permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ndg_httpsclient-0.4.0/ndg/httpsclient/https.py 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/https.py
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/https.py  2015-05-04 
09:23:56.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/https.py  2018-07-20 
14:31:15.000000000 +0200
@@ -48,7 +48,7 @@
     @type default_ssl_method: int
     """
     default_port = HTTPS_PORT
-    default_ssl_method = SSL.SSLv23_METHOD
+    default_ssl_method = SSL.TLSv1_2_METHOD
     
     def __init__(self, host, port=None, strict=None,
                  timeout=socket._GLOBAL_DEFAULT_TIMEOUT, ssl_context=None):
@@ -78,7 +78,7 @@
 
         sock = socket.create_connection((self.host, self.port), self.timeout)
         
-        # Tunnel if using a proxy - ONLY available for Python 2.6.2 and above  
    
+        # Tunnel if using a proxy - ONLY available for Python 2.6.2 and above
         if getattr(self, '_tunnel_host', None):
             self.sock = sock
             self._tunnel()
@@ -100,6 +100,8 @@
     '''
     https_request = AbstractHTTPHandler.do_request_
 
+    SSL_METHOD = SSL.TLSv1_2_METHOD
+    
     def __init__(self, ssl_context, debuglevel=0):
         """
         @param ssl_context:SSL context
@@ -116,7 +118,7 @@
                                 ssl_context)
             self.ssl_context = ssl_context
         else:
-            self.ssl_context = SSL.Context(SSL.TLSv1_METHOD)
+            self.ssl_context = SSL.Context(self.__class__.SSL_METHOD)
 
     def https_open(self, req):
         """Opens HTTPS request
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg/httpsclient/ssl_context_util.py 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/ssl_context_util.py
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/ssl_context_util.py       
2015-05-04 09:23:56.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/ssl_context_util.py       
2018-04-24 10:42:46.000000000 +0200
@@ -41,7 +41,7 @@
 
 
 def make_ssl_context(key_file=None, cert_file=None, pem_file=None, ca_dir=None,
-                     verify_peer=False, url=None, method=SSL.TLSv1_METHOD,
+                     verify_peer=False, url=None, method=SSL.TLSv1_2_METHOD,
                      key_file_passphrase=None):
     """
     Creates SSL context containing certificate and key file locations.
@@ -64,6 +64,8 @@
 
     if pem_file or ca_dir:
         ssl_context.load_verify_locations(pem_file, ca_dir)
+    else:
+        ssl_context.set_default_verify_paths() # Use OS CA bundle
 
     def _callback(conn, x509, errnum, errdepth, preverify_ok):
         """Default certification verification callback.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg/httpsclient/ssl_peer_verification.py 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/ssl_peer_verification.py
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/ssl_peer_verification.py  
2015-05-04 09:23:56.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/ssl_peer_verification.py  
2018-04-24 10:42:46.000000000 +0200
@@ -40,8 +40,9 @@
         'domainComponent':          'DC',
         'userid':                   'UID'
     }
-    SUBJ_ALT_NAME_EXT_NAME = 'subjectAltName'
-    PARSER_RE_STR = '/(%s)=' % '|'.join(list(DN_LUT.keys()) + 
list(DN_LUT.values()))
+    SUBJ_ALT_NAME_EXT_NAME = b'subjectAltName'
+    PARSER_RE_STR = '/(%s)=' % '|'.join(list(DN_LUT.keys()) + \
+                                        list(DN_LUT.values()))
     PARSER_RE = re.compile(PARSER_RE_STR)
 
     __slots__ = ('__hostname', '__certDN', '__subj_alt_name_match')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg/httpsclient/subj_alt_name.py 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/subj_alt_name.py
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/subj_alt_name.py  2015-05-04 
09:23:56.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/subj_alt_name.py  2018-04-24 
10:44:45.000000000 +0200
@@ -25,7 +25,7 @@
     raise Pyasn1ImportError(import_error_msg)
     
     
-MAX = 64
+MAX = 1024
 
 
 class DirectoryString(univ.Choice):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/__init__.py 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/__init__.py
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/__init__.py  2015-04-16 
16:24:36.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/__init__.py  2018-04-24 
10:42:46.000000000 +0200
@@ -16,11 +16,13 @@
     '''Convenience base class from which other unit tests can extend.  Its
     sets the generic data directory path'''
     PORT = 4443
+#     PORT = 443
     PORT2 = 4444
     HOSTNAME = 'localhost'
+#    HOSTNAME = 'files.pythonhosted.org'
     TEST_URI = 'https://%s:%d' % (HOSTNAME, PORT)
     TEST_URI2 = 'https://%s:%d' % (HOSTNAME, PORT2)
-
+    
     UNITTEST_DIR = os.path.dirname(os.path.abspath(__file__))
     CACERT_DIR = os.path.join(UNITTEST_DIR, 'pki', 'ca')
     SSL_CERT_FILENAME = 'localhost.crt'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/pki/ca/08bd99c7.0 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/pki/ca/08bd99c7.0
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/pki/ca/08bd99c7.0    
2015-05-04 09:23:56.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/pki/ca/08bd99c7.0    
1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDLjCCAhagAwIBAgIBATANBgkqhkiG9w0BAQUFADA3MREwDwYDVQQLDAhTZWN1
-cml0eTEUMBIGA1UEAwwLTkRHIFRlc3QgQ0ExDDAKBgNVBAoMA05ERzAeFw0xNTAx
-MjExNDMzMThaFw0yMDAxMjAxNDMzMThaMDcxETAPBgNVBAsMCFNlY3VyaXR5MRQw
-EgYDVQQDDAtOREcgVGVzdCBDQTEMMAoGA1UECgwDTkRHMIIBIjANBgkqhkiG9w0B
-AQEFAAOCAQ8AMIIBCgKCAQEArq4QKUTRq45nCDR/p+OlHIIN8+ugUbiCfteazbTG
-rX8vIQ9HxSuz/xvxTw+E0KgA4YSK2SJJP4QiCjlMKYS3Rt8o361GNtnRmeo5qyBu
-GMSv73XL1uuqumggUZyrhhksckR7gyNFnKVXzZjAQPepsT0xBjs5uEAEqXJzAf+r
-24AnT3MZRh7gsyEe3sZjd75kZVwcrWhrocyKlMCR77yEr+uP4pg+dEMhDMKKxlaF
-C5RPMotOpWm/7AToHrGia34WSmcxvuOwxOkI4xEW6mxWMaVTBCXUh6Wb/0m/x8Nv
-9VvS2UBC4sCp4MqlDpySxQpT1RgrhMTEmtUOh50l4eEhdwIDAQABo0UwQzASBgNV
-HRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUkEvQjGOP
-Oj5DZEvsm96AdiiFXWgwDQYJKoZIhvcNAQEFBQADggEBAGD0kQASmNzvtYL+JUGf
-gTPyJhADl9Ai9GvZJsY/wX0IRTxRl5y08Dqlg3qyGG3GzL918cr1sVCYnLepNQES
-T0MIz50DCKGryNSc74JHPDxpYaSV6whmNH5iwh8fy6tmJwF3FWbGXD2ddc+ofJqP
-WPPJtzqxuuJ6iXQIFqD9mEn3iXVcvFuSzpdpH9paORTKB0j4gya9zctB8LP0ZXIE
-//wREc+4msnmoTn+qkFAOPBg9WnvoipfyCXPgbTagxlofVjZ7gAgYIefqhXBTQdd
-5tnYdyQQBRcUXQS2bBX03q8ftcxOjc3SvXI4MvrqofuFPwu4GnrspnC0KQYlXwEI
-7ds=
------END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/pki/ca/7e15277f.0 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/pki/ca/7e15277f.0
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/pki/ca/7e15277f.0    
1970-01-01 01:00:00.000000000 +0100
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/pki/ca/7e15277f.0    
2018-01-29 10:06:54.000000000 +0100
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDLjCCAhagAwIBAgIBATANBgkqhkiG9w0BAQsFADA3MRQwEgYDVQQDDAtOREcg
+VGVzdCBDQTEMMAoGA1UECgwDTkRHMREwDwYDVQQLDAhTZWN1cml0eTAeFw0xNjEy
+MTUyMTMyNDNaFw0yMTEyMTQyMTMyNDNaMDcxFDASBgNVBAMMC05ERyBUZXN0IENB
+MQwwCgYDVQQKDANOREcxETAPBgNVBAsMCFNlY3VyaXR5MIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAv8L7md7A3NvKIYndyjHV7f1xVH6gJ8JPrecxAiVs
+nidsYUm8saBV/dFf1jPMQ6hdjIuxLXlopLxThkHlCes/OTxLzBFLvFQQaxLExTsX
+OmgeM4q20a2JLTqkmItPIYDVTYgi0EaF+I9Z1BwWGEfYr3uTizpr48rnzpXgRwrZ
+rjRc53zLKpeqyBs7Qmg5Jlzmk/A+UWJ2ryCWLY9KFE3uPstybYpwq7YayD6upVwc
+vedhh+zpXU3E9r/cnlZ4sKSP2M1QSOTb2l5XnlOU/MLODYW70uItNqs1j1XPuHYh
+/ikO+jmjPUtL0IE47+LcaMU6BpaOCLzcjsSn/DDMYcDB7wIDAQABo0UwQzASBgNV
+HRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU9S+bGqsW
+uQzR/yHDdHoU6afNTE0wDQYJKoZIhvcNAQELBQADggEBAF2scAHd7xjgnJqAUX0b
+7f7QKjpuYHrt48tH+pFOh5j3IgdOqTgRLc/N8lEqoH4M0lKZKbBerM9FiQ4eXCwy
+3Rswn3wXPvi3HJGgvZYUt8J6KY5+syHU4iuzuSHOjznC0lLZkRz6kfZHX+paqro4
+1CsHhCt3ew17QMWEP6UtfZfBCg+kiEfBtSsTUIth0HgdH033PWh5v+nOzGN+3o2t
+ORlzpttV+0RLlsw54l51I6rCEnfKOKtEy491JUs2whUwzp9v8tG4jev3PDVWhSSS
+6jaSNvW4v7SDH0pnw52ZWzaRtA/pV/dCQOlqJ87wDNPdoVGpwqtYF/7Zdw2ty4gU
+oSM=
+-----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/pki/ca/ade0138a.0 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/pki/ca/ade0138a.0
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/pki/ca/ade0138a.0    
2015-05-04 09:23:56.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/pki/ca/ade0138a.0    
1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDLjCCAhagAwIBAgIBATANBgkqhkiG9w0BAQUFADA3MREwDwYDVQQLDAhTZWN1
-cml0eTEUMBIGA1UEAwwLTkRHIFRlc3QgQ0ExDDAKBgNVBAoMA05ERzAeFw0xNTAx
-MjExNDMzMThaFw0yMDAxMjAxNDMzMThaMDcxETAPBgNVBAsMCFNlY3VyaXR5MRQw
-EgYDVQQDDAtOREcgVGVzdCBDQTEMMAoGA1UECgwDTkRHMIIBIjANBgkqhkiG9w0B
-AQEFAAOCAQ8AMIIBCgKCAQEArq4QKUTRq45nCDR/p+OlHIIN8+ugUbiCfteazbTG
-rX8vIQ9HxSuz/xvxTw+E0KgA4YSK2SJJP4QiCjlMKYS3Rt8o361GNtnRmeo5qyBu
-GMSv73XL1uuqumggUZyrhhksckR7gyNFnKVXzZjAQPepsT0xBjs5uEAEqXJzAf+r
-24AnT3MZRh7gsyEe3sZjd75kZVwcrWhrocyKlMCR77yEr+uP4pg+dEMhDMKKxlaF
-C5RPMotOpWm/7AToHrGia34WSmcxvuOwxOkI4xEW6mxWMaVTBCXUh6Wb/0m/x8Nv
-9VvS2UBC4sCp4MqlDpySxQpT1RgrhMTEmtUOh50l4eEhdwIDAQABo0UwQzASBgNV
-HRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUkEvQjGOP
-Oj5DZEvsm96AdiiFXWgwDQYJKoZIhvcNAQEFBQADggEBAGD0kQASmNzvtYL+JUGf
-gTPyJhADl9Ai9GvZJsY/wX0IRTxRl5y08Dqlg3qyGG3GzL918cr1sVCYnLepNQES
-T0MIz50DCKGryNSc74JHPDxpYaSV6whmNH5iwh8fy6tmJwF3FWbGXD2ddc+ofJqP
-WPPJtzqxuuJ6iXQIFqD9mEn3iXVcvFuSzpdpH9paORTKB0j4gya9zctB8LP0ZXIE
-//wREc+4msnmoTn+qkFAOPBg9WnvoipfyCXPgbTagxlofVjZ7gAgYIefqhXBTQdd
-5tnYdyQQBRcUXQS2bBX03q8ftcxOjc3SvXI4MvrqofuFPwu4GnrspnC0KQYlXwEI
-7ds=
------END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/pki/localhost.crt 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/pki/localhost.crt
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/pki/localhost.crt    
2015-05-04 09:23:56.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/pki/localhost.crt    
2018-01-29 10:06:54.000000000 +0100
@@ -1,82 +1,19 @@
-Certificate:
-    Data:
-        Version: 3 (0x2)
-        Serial Number: 1 (0x1)
-        Signature Algorithm: sha1WithRSAEncryption
-        Issuer: OU=Security, CN=NDG Test CA, O=NDG
-        Validity
-            Not Before: Jan 21 14:45:01 2015 GMT
-            Not After : Jan 20 14:45:01 2018 GMT
-        Subject: O=NDG, OU=Security, CN=localhost
-        Subject Public Key Info:
-            Public Key Algorithm: rsaEncryption
-            RSA Public Key: (2048 bit)
-                Modulus (2048 bit):
-                    00:e3:29:45:fc:56:2d:a2:21:b6:49:c6:6a:ef:b3:
-                    ed:d3:32:47:77:d9:85:ef:e5:6a:db:70:8b:5d:41:
-                    4d:b5:76:f5:96:42:5a:f7:82:a5:bb:b3:e1:f9:ac:
-                    c6:b7:71:61:f4:4d:dd:28:f6:b1:ef:65:dc:5a:8c:
-                    47:b1:17:38:e1:8a:5f:40:b0:bb:a0:87:61:a7:72:
-                    f8:c1:a1:5f:3b:f7:94:b5:cb:c3:50:84:ef:a8:13:
-                    d4:92:ff:af:3a:d1:31:42:90:4b:58:4c:84:47:a6:
-                    3a:a3:3d:c1:9a:43:3c:10:f6:8a:b5:97:11:b7:74:
-                    ab:32:92:be:9a:fc:ef:5e:45:78:30:61:67:10:63:
-                    09:ef:61:b7:1c:47:cc:69:c9:e7:27:8f:4d:97:33:
-                    59:33:b8:47:89:86:4c:cd:a4:38:7c:d0:60:ee:52:
-                    c8:e1:2a:f1:3b:9b:e9:7c:d5:af:88:33:91:9c:10:
-                    63:89:01:03:fb:26:5e:3f:61:c3:b4:f0:fb:1f:ad:
-                    e8:d2:49:8e:2f:16:81:bb:9c:d6:a5:48:91:58:7d:
-                    ac:ac:2c:02:8a:f2:f4:22:80:1f:8c:32:5b:b5:77:
-                    d0:36:e9:27:9a:9f:31:67:d5:4e:32:8d:cf:ce:73:
-                    ef:88:86:e9:3c:53:e6:09:55:02:2b:86:7d:91:8d:
-                    fb:53
-                Exponent: 65537 (0x10001)
-        X509v3 extensions:
-            X509v3 Basic Constraints: 
-                CA:FALSE
-            Netscape Comment: 
-                OpenSSL Generated Certificate
-            X509v3 Subject Key Identifier: 
-                A3:77:23:B5:1C:98:85:C8:6D:31:40:1C:2F:20:57:CD:C9:36:74:1B
-            X509v3 Authority Key Identifier: 
-                
keyid:90:4B:D0:8C:63:8F:3A:3E:43:64:4B:EC:9B:DE:80:76:28:85:5D:68
-
-            X509v3 Subject Alternative Name: 
-                DNS:localhost
-    Signature Algorithm: sha1WithRSAEncryption
-        33:b4:87:0e:2c:71:88:6d:ab:cc:14:c8:3f:1e:8d:e5:ed:26:
-        6b:b8:76:93:29:b1:0b:c5:e7:41:6f:14:62:8f:e1:81:bb:02:
-        13:5c:b2:34:b7:94:f2:7d:1e:fe:e7:89:0b:2e:56:30:58:eb:
-        90:d4:05:5b:18:d9:c5:68:61:c0:f6:f7:1a:0f:14:d8:89:8e:
-        ee:ec:59:b8:48:96:58:33:2e:98:95:56:c3:02:e9:93:cd:3f:
-        4c:0d:b5:b5:b6:6e:6f:95:5f:65:eb:1a:ce:56:20:e2:72:d4:
-        f7:58:5f:c0:7b:49:5f:ac:6b:01:7b:c8:f0:13:19:03:dd:4e:
-        05:55:f9:31:52:ea:45:eb:54:b9:4b:a2:3f:22:c7:11:47:8a:
-        94:b4:e9:9e:c0:09:96:72:66:ba:01:d3:f3:00:6e:24:ca:a9:
-        6d:8e:7f:0b:a0:fd:f9:c9:4f:3a:36:07:c7:4a:c7:c7:1f:c7:
-        e0:2d:c3:21:d0:44:68:81:38:af:ce:cb:38:be:db:02:3d:ba:
-        62:00:43:94:22:c8:d7:43:cd:db:73:23:9d:28:aa:d6:4c:08:
-        45:8f:b5:1d:04:c7:2b:8e:22:12:e6:af:cd:9c:13:db:c9:76:
-        f4:0c:10:25:fa:5c:46:77:7d:e5:ee:16:b4:f1:24:94:22:06:
-        85:40:0c:5f
 -----BEGIN CERTIFICATE-----
-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
+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
+vAMwOmVKhtgKvbaGcYa6efM=
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/pki/localhost.key 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/pki/localhost.key
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/pki/localhost.key    
2015-05-04 09:23:56.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/pki/localhost.key    
2018-01-29 10:06:54.000000000 +0100
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-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
+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
 -----END RSA PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/test_https.py 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/test_https.py
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/test_https.py        
2015-05-04 09:23:56.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/test_https.py        
2018-04-24 10:42:46.000000000 +0200
@@ -38,7 +38,7 @@
         self.assertRaises(socket.error, conn.connect)
 
     def test03_ssl_verification_of_peer_fails(self):
-        ctx = SSL.Context(SSL.TLSv1_METHOD)
+        ctx = SSL.Context(SSL.TLSv1_2_METHOD)
         
         def verify_callback(conn, x509, errnum, errdepth, preverify_ok): 
             log.debug('SSL peer certificate verification failed for %r',
@@ -57,7 +57,7 @@
         self.assertRaises(SSL.Error, conn.request, 'GET', '/')
 
     def test03_ssl_verification_of_peer_succeeds(self):
-        ctx = SSL.Context(SSL.TLSv1_METHOD)
+        ctx = SSL.Context(SSL.TLSv1_2_METHOD)
         
         verify_callback = lambda conn, x509, errnum, errdepth, preverify_ok: \
             preverify_ok 
@@ -76,7 +76,7 @@
         print('Response = %s' % resp.read())
 
     def test04_ssl_verification_with_subj_alt_name(self):
-        ctx = SSL.Context(SSL.TLSv1_METHOD)
+        ctx = SSL.Context(SSL.TLSv1_2_METHOD)
         
         verification = ServerSSLCertVerification(hostname='localhost')
         verify_callback = verification.get_verify_server_cert_func()
@@ -95,7 +95,7 @@
         print('Response = %s' % resp.read())
 
     def test04_ssl_verification_with_subj_common_name(self):
-        ctx = SSL.Context(SSL.TLSv1_METHOD)
+        ctx = SSL.Context(SSL.TLSv1_2_METHOD)
         
         # Explicitly set verification of peer hostname using peer certificate
         # subject common name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/test_urllib2.py 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/test_urllib2.py
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/test_urllib2.py      
2015-05-04 09:23:56.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/test_urllib2.py      
2018-04-24 10:42:46.000000000 +0200
@@ -12,15 +12,16 @@
 import sys
 
 if sys.version_info[0] > 2:
-    from urllib.error import URLError as URLError_
+    from urllib.error import URLError as URLError
 else:
-    from urllib2 import URLError as URLError_
+    from urllib2 import URLError as URLError
     
 import unittest
 
 from OpenSSL import SSL
 from ndg.httpsclient.test import Constants
 from ndg.httpsclient.urllib2_build_opener import build_opener
+from ndg.httpsclient.ssl_peer_verification import ServerSSLCertVerification
 
 
 class Urllib2TestCase(unittest.TestCase):
@@ -36,13 +37,15 @@
         self.assertTrue(res)
         print("res = %s" % res.read())
 
+    # Skip this test for remote service as it can take a long time to timeout
+    @unittest.skipIf(Constants.HOSTNAME != 'localhost', 'Skip non-local host')
     def test03_open_fails_unknown_loc(self):
         opener = build_opener()
-        self.assertRaises(URLError_, opener.open, Constants.TEST_URI2)
+        self.assertRaises(URLError, opener.open, Constants.TEST_URI2)
         
     def test04_open_peer_cert_verification_fails(self):
         # Explicitly set empty CA directory to make verification fail
-        ctx = SSL.Context(SSL.TLSv1_METHOD)
+        ctx = SSL.Context(SSL.TLSv1_2_METHOD)
         verify_callback = lambda conn, x509, errnum, errdepth, preverify_ok: \
             preverify_ok 
             
@@ -50,7 +53,37 @@
         ctx.load_verify_locations(None, './')
         opener = build_opener(ssl_context=ctx)
         self.assertRaises(SSL.Error, opener.open, Constants.TEST_URI)
+      
+    def test05_open_with_subj_alt_names_verification(self):
+        ctx = SSL.Context(SSL.TLSv1_2_METHOD)
+                
+        # Set wildcard hostname for subject alternative name matching - 
+        # setting a minimum of two name components for hostname
+        split_hostname = Constants.HOSTNAME.split('.', 1)
+        if len(split_hostname) > 1:
+            _hostname = '*.' + split_hostname[-1]
+        else:
+            _hostname = Constants.HOSTNAME
+            
+        server_ssl_verify = ServerSSLCertVerification(hostname=_hostname)
+        verify_callback_ = server_ssl_verify.get_verify_server_cert_func()
+        ctx.set_verify(SSL.VERIFY_PEER, verify_callback_)
+        
+        # Set default verify paths if testing with peer that has corresponding
+        # CA cert in bundle provided with the OS.  In this case, load verify
+        # locations is not needed.
+        #ctx.set_default_verify_paths()
         
+        ctx.set_verify_depth(9)
+        
+        # Set correct location for CA certs to verify with
+        ctx.load_verify_locations(None, Constants.CACERT_DIR)
+                            
+        opener = build_opener(ssl_context=ctx)
+        res = opener.open(Constants.TEST_URI)
+        self.assertTrue(res)
+        print("res = %s" % res.read())
+                  
         
 if __name__ == "__main__":
     unittest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/test_utils.py 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/test_utils.py
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/test/test_utils.py        
2015-05-04 09:23:56.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/test/test_utils.py        
2018-04-24 10:42:46.000000000 +0200
@@ -23,17 +23,17 @@
     '''Test ndg.httpsclient.utils module'''
 
     def test01_configuration(self):
-        config = Configuration(SSL.Context(SSL.TLSv1_METHOD), True)
+        config = Configuration(SSL.Context(SSL.TLSv1_2_METHOD), True)
         self.assertTrue(config.ssl_context)
         self.assertEqual(config.debug, True)
 
     def test02_fetch_from_url(self):
-        config = Configuration(SSL.Context(SSL.TLSv1_METHOD), True)
+        config = Configuration(SSL.Context(SSL.TLSv1_2_METHOD), True)
         res = fetch_from_url(Constants.TEST_URI, config)
         self.assertTrue(res)
         
     def test03_open_url(self):
-        config = Configuration(SSL.Context(SSL.TLSv1_METHOD), True)
+        config = Configuration(SSL.Context(SSL.TLSv1_2_METHOD), True)
         res = open_url(Constants.TEST_URI, config)
         self.assertEqual(res[0], 200, 
                          'open_url for %r failed' % Constants.TEST_URI)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ndg_httpsclient-0.4.0/ndg/httpsclient/utils.py 
new/ndg_httpsclient-0.5.1/ndg/httpsclient/utils.py
--- old/ndg_httpsclient-0.4.0/ndg/httpsclient/utils.py  2015-05-04 
09:23:56.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg/httpsclient/utils.py  2017-09-01 
12:56:40.000000000 +0200
@@ -188,8 +188,8 @@
         # currently only supports http basic auth
         auth_handler = 
HTTPBasicAuthHandler_(HTTPPasswordMgrWithDefaultRealm_())
         auth_handler.add_password(realm=None, uri=url,
-                                  user=config.httpauth[0],
-                                  passwd=config.httpauth[1])
+                                  user=config.http_basicauth[0],
+                                  passwd=config.http_basicauth[1])
         handlers.append(auth_handler)
 
 
@@ -217,9 +217,6 @@
     return_message = ''
     response = None
     
-    # FIXME
-    response = opener.open(request)
-
     try:
         response = opener.open(request)
         return_message = response.msg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg_httpsclient.egg-info/PKG-INFO 
new/ndg_httpsclient-0.5.1/ndg_httpsclient.egg-info/PKG-INFO
--- old/ndg_httpsclient-0.4.0/ndg_httpsclient.egg-info/PKG-INFO 2015-05-04 
09:24:38.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg_httpsclient.egg-info/PKG-INFO 2018-07-23 
18:02:43.000000000 +0200
@@ -1,19 +1,64 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: ndg-httpsclient
-Version: 0.4.0
+Version: 0.5.1
 Summary: Provides enhanced HTTPS support for httplib and urllib2 using 
PyOpenSSL
 Home-page: https://github.com/cedadev/ndg_httpsclient/
 Author: Richard Wilkinson and Philip Kershaw
 Author-email: [email protected]
-License: BSD - See LICENCE file for details
-Description: 
-        This is a HTTPS client implementation for httplib and urllib2 based on
-        PyOpenSSL.  PyOpenSSL provides a more fully featured SSL 
implementation over the
-        default provided with Python and importantly enables full verification 
of the
-        SSL peer.
+License: BSD - See ndg/httpsclient/LICENCE file for details
+Description: A HTTPS client implementation for 
+         * ``httplib`` (Python 2), ``http.client`` (Python 3) and 
+         * ``urllib2`` (Python 2) and ``urllib`` (Python 3)
+        
+        ... based on PyOpenSSL.  PyOpenSSL provides a more fully featured SSL 
implementation 
+        over the default provided with Python and importantly enables full 
verification 
+        of the SSL peer using ``pyasn1``.
         
         Releases
         ========
+        0.5.1
+        -----
+         * Clean up handling for description file - pull in content from this 
file into setup()
+         * Allows the nightly build to fail
+         * Add Trove version classifiers to make it explicit what is supported
+         * Add python_requires to help pip
+         * Drop support for EOL Python 2.6 and 3.3  
+          
+        Thanks to @hugovk for contributions
+        
+        0.5.0
+        -----
+         * Fix to Subject Alternative Name handling to allow for certificates 
with
+           more than 64 names (max now 1024).  Thanks to Matt Pegler
+         * Fix to subjectAltName string to use byte type for correct matching 
+         * Updated SSL Context objects to default to TLS 1.2
+        
+        0.4.4
+        -----
+         * Updated test certificates
+        
+        0.4.3
+        -----
+         * Fix to ``ndg`` namespace package warning issue 
(https://github.com/cedadev/ndg_httpsclient/issues/3).  
+           ``__init__.py`` file now included in ``ndg`` directory so that 
there are no longer warnings with imports
+           when using Python 2.x.  Thanks to Max Mauntner for fix.
+         * Minor fix for installation: set minimum release for ``pyasn1`` to 
avoid conflicts with Ubuntu
+           install - see https://github.com/cedadev/ndg_httpsclient/issues/5 
and
+           https://github.com/cedadev/ndg_httpsclient/pull/10.  ``pyasn1`` 
also becomes mandatory rather
+           than optional package for install.  - It required by 
``cryptography`` anyway which is a 
+           dependency for ``pyOpenSSL`` from version 0.14.
+        
+        0.4.2
+        -----
+         * Fix to bug in ``ndg.httpsclient.utils.open_url`` - duplicate open 
call.  
+           Nb. This bug and the fix DO NOT affect the ``httplib``and 
``urllib2`` 
+           interfaces that this package provides.
+         
+        0.4.1
+        -----
+         * Added explicit ref to Python 3 in classifier text for Python 3 
checking tools.
+         * Moved LICENSE file into package
+        
         0.4.0
         -----
          * Made dual compatible with Python 2 / 3.
@@ -35,13 +80,13 @@
          
         0.3.1
         -----
-         * extended utils functions to support keyword for passing additional 
urllib2
+         * extended utils functions to support keyword for passing additional 
``urllib2``
            handlers.
         
         0.3.0
         -----
-         * Added ndg.httpsclient.utils.fetch_stream_from_url function and added
-           parameter for data to post in open_url and fetch_* methods.
+         * Added ``ndg.httpsclient.utils.fetch_stream_from_url`` function and 
added
+           parameter for data to post in ``open_url`` and ``fetch_*`` methods.
          * fix to ndg.httpsclient.utils module _should_use_proxy and open_url 
functions
         
         0.2.0
@@ -55,14 +100,14 @@
         
         Prerequisites
         =============
-        This has been developed and tested for Python 2.6 and 2.7 with 
pyOpenSSL 0.13 and 0.14.  
-        Version 0.4.0 tested with pyOpenSSL 0.15.1 and Python 2.7 and 3.4.  
Note that proxy support 
-        is only available from Python 2.6.2 onwards.  pyasn1 is required for 
correct SSL 
-        verification with subjectAltNames.
+        This has been developed and tested for Python 2.7 with pyOpenSSL 0.13 
+        and 0.14.  Version 0.4.0 tested with ``pyOpenSSL`` 0.15.1 and Python 
2.7 and 
+        3.4. 
+        ``pyasn1`` is required for correct SSL verification with 
``subjectAltNames``.
         
         Installation
         ============
-        Installation can be performed using easy_install or pip.
+        Installation can be performed using ``easy_install`` or ``pip``.
         
         Running ndg_httpclient
         ======================
@@ -99,9 +144,10 @@
             
         ``-n, --no-verify-peer``
           Skip verification of peer certificate.
+          
         
 Platform: UNKNOWN
-Classifier: Development Status :: 3 - Alpha
+Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Console
 Classifier: Environment :: Web Environment
 Classifier: Intended Audience :: End Users/Desktop
@@ -113,9 +159,17 @@
 Classifier: Operating System :: Microsoft :: Windows
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
 Classifier: Topic :: Security
 Classifier: Topic :: Internet
 Classifier: Topic :: Scientific/Engineering
 Classifier: Topic :: System :: Distributed Computing
 Classifier: Topic :: System :: Systems Administration :: 
Authentication/Directory
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg_httpsclient.egg-info/SOURCES.txt 
new/ndg_httpsclient-0.5.1/ndg_httpsclient.egg-info/SOURCES.txt
--- old/ndg_httpsclient-0.4.0/ndg_httpsclient.egg-info/SOURCES.txt      
2015-05-04 09:24:39.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg_httpsclient.egg-info/SOURCES.txt      
2018-07-23 18:02:43.000000000 +0200
@@ -1,7 +1,9 @@
 MANIFEST.in
+README.md
 setup.py
 documentation/Makefile
 ndg/__init__.py
+ndg/httpsclient/LICENSE
 ndg/httpsclient/__init__.py
 ndg/httpsclient/https.py
 ndg/httpsclient/ssl_context_util.py
@@ -17,14 +19,12 @@
 ndg/httpsclient/test/test_utils.py
 ndg/httpsclient/test/pki/localhost.crt
 ndg/httpsclient/test/pki/localhost.key
-ndg/httpsclient/test/pki/ca/08bd99c7.0
-ndg/httpsclient/test/pki/ca/ade0138a.0
+ndg/httpsclient/test/pki/ca/7e15277f.0
 ndg/httpsclient/test/scripts/openssl_https_server.sh
 ndg_httpsclient.egg-info/PKG-INFO
 ndg_httpsclient.egg-info/SOURCES.txt
 ndg_httpsclient.egg-info/dependency_links.txt
 ndg_httpsclient.egg-info/entry_points.txt
-ndg_httpsclient.egg-info/namespace_packages.txt
 ndg_httpsclient.egg-info/not-zip-safe
 ndg_httpsclient.egg-info/requires.txt
 ndg_httpsclient.egg-info/top_level.txt
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg_httpsclient.egg-info/namespace_packages.txt 
new/ndg_httpsclient-0.5.1/ndg_httpsclient.egg-info/namespace_packages.txt
--- old/ndg_httpsclient-0.4.0/ndg_httpsclient.egg-info/namespace_packages.txt   
2015-05-04 09:24:38.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg_httpsclient.egg-info/namespace_packages.txt   
1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-ndg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ndg_httpsclient-0.4.0/ndg_httpsclient.egg-info/requires.txt 
new/ndg_httpsclient-0.5.1/ndg_httpsclient.egg-info/requires.txt
--- old/ndg_httpsclient-0.4.0/ndg_httpsclient.egg-info/requires.txt     
2015-05-04 09:24:38.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/ndg_httpsclient.egg-info/requires.txt     
2018-07-23 18:02:43.000000000 +0200
@@ -1,4 +1,2 @@
 PyOpenSSL
-
-[subjectAltName_support]
-pyasn1
+pyasn1>=0.1.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ndg_httpsclient-0.4.0/setup.cfg 
new/ndg_httpsclient-0.5.1/setup.cfg
--- old/ndg_httpsclient-0.4.0/setup.cfg 2015-05-04 09:24:39.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/setup.cfg 2018-07-23 18:02:43.000000000 +0200
@@ -1,5 +1,4 @@
 [egg_info]
 tag_build = 
 tag_date = 0
-tag_svn_revision = 0
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ndg_httpsclient-0.4.0/setup.py 
new/ndg_httpsclient-0.5.1/setup.py
--- old/ndg_httpsclient-0.4.0/setup.py  2015-05-04 09:23:56.000000000 +0200
+++ new/ndg_httpsclient-0.5.1/setup.py  2018-07-20 14:13:12.000000000 +0200
@@ -5,126 +5,36 @@
     use_setuptools()
     from setuptools import setup, find_packages
 
-_long_description = '''
-This is a HTTPS client implementation for httplib and urllib2 based on
-PyOpenSSL.  PyOpenSSL provides a more fully featured SSL implementation over 
the
-default provided with Python and importantly enables full verification of the
-SSL peer.
+NAMESPACE_PKGS = ['ndg']
 
-Releases
-========
-0.4.0
------
- * Made dual compatible with Python 2 / 3.
- 
-0.3.3
------
- * Fix to add in AnotherName for ``subjectAltNames`` field - added for support 
for CACert issued
-   certs (thanks to Gu1).
- * Fix to HTTP Basic Auth option for ``ndg.httpsclient.utils.main``
- * Fix to ``ServerSSLCertVerification`` so that it can pass a function-based 
callback instead of using ``__call__``. In newer versions of OpenSSL (>= 0.14) 
the latter failed because of a request for ``__name__`` attribute.
+with open('README.md') as f:
+    _long_description = f.read()
 
-0.3.2
------
- * Fix to SubjectAltNames support check - should only be enabled if pyasn1 is 
-   installed.
- * Fix to open_url: HTTP Request object was being created inside if headers is 
-   None block - now corrected to create regardless.
- * Added http basic auth support to script. (Thanks to Willem van Engen)
- 
-0.3.1
------
- * extended utils functions to support keyword for passing additional urllib2
-   handlers.
-
-0.3.0
------
- * Added ndg.httpsclient.utils.fetch_stream_from_url function and added
-   parameter for data to post in open_url and fetch_* methods.
- * fix to ndg.httpsclient.utils module _should_use_proxy and open_url functions
-
-0.2.0
------
- * added support for SSL verification with subjectAltNames using pyasn1
- * fixed minor bug - SSL cert DN prefix matching
-
-0.1.0
------
-Initial release
-
-Prerequisites
-=============
-This has been developed and tested for Python 2.6 and 2.7 with pyOpenSSL 0.13 
and 0.14.  
-Version 0.4.0 tested with pyOpenSSL 0.15.1 and Python 2.7 and 3.4.  Note that 
proxy support 
-is only available from Python 2.6.2 onwards.  pyasn1 is required for correct 
SSL 
-verification with subjectAltNames.
-
-Installation
-============
-Installation can be performed using easy_install or pip.
-
-Running ndg_httpclient
-======================
-A simple script for fetching data using HTTP or HTTPS GET from a specified URL.
-
-Parameter:
-
-``url``
-  The URL of the resource to be fetched
-
-Options:
-
-``-h, --help``
-  Show help message and exit.
-
-``-c FILE, --certificate=FILE``
-  Certificate file - defaults to ``$HOME/credentials.pem``
-
-``-k FILE, --private-key=FILE``
-  Private key file - defaults to the certificate file
-
-``-t DIR, --ca-certificate-dir=DIR``
-  Trusted CA certificate file directory.
-
-``-d, --debug``
-  Print debug information - this may be useful in solving problems with HTTP 
or 
-  HTTPS access to a server.
-    
-``-p FILE, --post-data-file=FILE``
-  POST data file
-    
-``-f FILE, --fetch=FILE``
-  Output file
-    
-``-n, --no-verify-peer``
-  Skip verification of peer certificate.
-'''
-    
 setup(
     name='ndg_httpsclient',
-    version="0.4.0",
+    version="0.5.1",
     description='Provides enhanced HTTPS support for httplib and urllib2 using 
'
                 'PyOpenSSL',
     author='Richard Wilkinson and Philip Kershaw',
     author_email='[email protected]',
     url='https://github.com/cedadev/ndg_httpsclient/',
     long_description=_long_description,
-    license='BSD - See LICENCE file for details',
-    namespace_packages=['ndg'],
+    long_description_content_type='text/markdown',
+    license='BSD - See ndg/httpsclient/LICENCE file for details',
     packages=find_packages(),
-    package_dir={'ndg.httpsclient': 'ndg/httpsclient'},
     package_data={
         'ndg.httpsclient': [
-            'test/README', 
+            'LICENSE',
+            'test/README',
             'test/scripts/*.sh',
             'test/pki/localhost.*',
             'test/pki/ca/*.0'
             ],
     },
-    install_requires = ['PyOpenSSL'],
-    extras_require = {'subjectAltName_support': 'pyasn1'},
-    classifiers = [
-        'Development Status :: 3 - Alpha',
+    install_requires=['PyOpenSSL', 'pyasn1>=0.1.1'],
+    python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
+    classifiers=[
+        'Development Status :: 5 - Production/Stable',
         'Environment :: Console',
         'Environment :: Web Environment',
         'Intended Audience :: End Users/Desktop',
@@ -136,6 +46,12 @@
         'Operating System :: Microsoft :: Windows',
         'Operating System :: POSIX :: Linux',
         'Programming Language :: Python',
+        'Programming Language :: Python :: 2',
+        'Programming Language :: Python :: 2.7',
+        'Programming Language :: Python :: 3',
+        'Programming Language :: Python :: 3.4',
+        'Programming Language :: Python :: 3.5',
+        'Programming Language :: Python :: 3.6',
         'Topic :: Security',
         'Topic :: Internet',
         'Topic :: Scientific/Engineering',
@@ -143,8 +59,8 @@
         'Topic :: System :: Systems Administration :: 
Authentication/Directory',
         'Topic :: Software Development :: Libraries :: Python Modules'
     ],
-    zip_safe = False,
-    entry_points = {
+    zip_safe=False,
+    entry_points={
         'console_scripts': ['ndg_httpclient = ndg.httpsclient.utils:main',
                             ],
         }


Reply via email to