Public bug reported:

https://launchpadlibrarian.net/418304792/buildlog_ubuntu-cosmic-amd64
.python-urllib3_1.22-1_BUILDING.txt.gz

=================================== FAILURES ===================================
_________________ TestConnection.test_match_hostname_mismatch __________________

self = <test.test_connection.TestConnection object at 0x7f46d583e160>

    def test_match_hostname_mismatch(self):
        cert = {'subjectAltName': [('DNS', 'foo')]}
        asserted_hostname = 'bar'
        try:
            with mock.patch('urllib3.connection.log.error') as mock_log:
>               _match_hostname(cert, asserted_hostname)

test/test_connection.py:39: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cert = {'subjectAltName': [('DNS', 'foo')]}, asserted_hostname = 'bar'

    def _match_hostname(cert, asserted_hostname):
        try:
>           match_hostname(cert, asserted_hostname)

urllib3/connection.py:356: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cert = {'subjectAltName': [('DNS', 'foo')]}, hostname = 'bar'

    def match_hostname(cert, hostname):
        """Verify that *cert* (in decoded format as returned by
        SSLSocket.getpeercert()) matches the *hostname*.  RFC 2818 and RFC 6125
        rules are followed.
    
        The function matches IP addresses rather than dNSNames if hostname is a
        valid ipaddress string. IPv4 addresses are supported on all platforms.
        IPv6 addresses are supported on platforms with IPv6 support (AF_INET6
        and inet_pton).
    
        CertificateError is raised on failure. On success, the function
        returns nothing.
        """
        if not cert:
            raise ValueError("empty or no certificate, match_hostname needs a "
                             "SSL socket or SSL context with either "
                             "CERT_OPTIONAL or CERT_REQUIRED")
        try:
            host_ip = _inet_paton(hostname)
        except ValueError:
            # Not an IP address (common case)
            host_ip = None
        dnsnames = []
        san = cert.get('subjectAltName', ())
        for key, value in san:
            if key == 'DNS':
                if host_ip is None and _dnsname_match(value, hostname):
                    return
                dnsnames.append(value)
            elif key == 'IP Address':
                if host_ip is not None and _ipaddress_match(value, host_ip):
                    return
                dnsnames.append(value)
        if not dnsnames:
            # The subject is only checked when there is no dNSName entry
            # in subjectAltName
            for sub in cert.get('subject', ()):
                for key, value in sub:
                    # XXX according to RFC 2818, the most specific Common Name
                    # must be used.
                    if key == 'commonName':
                        if _dnsname_match(value, hostname):
                            return
                        dnsnames.append(value)
        if len(dnsnames) > 1:
            raise CertificateError("hostname %r "
                "doesn't match either of %s"
                % (hostname, ', '.join(map(repr, dnsnames))))
        elif len(dnsnames) == 1:
            raise CertificateError("hostname %r "
                "doesn't match %r"
>               % (hostname, dnsnames[0]))
E           ssl.SSLCertVerificationError: ("hostname 'bar' doesn't match 
'foo'",)

/usr/lib/python3.7/ssl.py:327: SSLCertVerificationError

During handling of the above exception, another exception occurred:

self = <test.test_connection.TestConnection object at 0x7f46d583e160>

    def test_match_hostname_mismatch(self):
        cert = {'subjectAltName': [('DNS', 'foo')]}
        asserted_hostname = 'bar'
        try:
            with mock.patch('urllib3.connection.log.error') as mock_log:
                _match_hostname(cert, asserted_hostname)
        except CertificateError as e:
>           assert str(e) == "hostname 'bar' doesn't match 'foo'"
E           assert '("hostname \...ch \'foo\'",)' == "hostname 'bar...t match 
'foo'"
E             - ("hostname 'bar' doesn't match 'foo'",)
E             ? --                                  ---
E             + hostname 'bar' doesn't match 'foo'

test/test_connection.py:41: AssertionError
======== 1 failed, 545 passed, 51 skipped, 1 deselected in 7.44 seconds ========
/usr/lib/python3/dist-packages/_pytest/assertion/rewrite.py:6: 
DeprecationWarning: the imp module is deprecated in favour of importlib; see 
the module's documentation for alternative uses
  import imp
/usr/lib/python3/dist-packages/pkg_resources/_vendor/pyparsing.py:943: 
DeprecationWarning: Using or importing the ABCs from 'collections' instead of 
from 'collections.abc' is deprecated, and in 3.8 it will stop working
  collections.MutableMapping.register(ParseResults)
/usr/lib/python3/dist-packages/pkg_resources/_vendor/pyparsing.py:3245: 
DeprecationWarning: Using or importing the ABCs from 'collections' instead of 
from 'collections.abc' is deprecated, and in 3.8 it will stop working
  elif isinstance( exprs, collections.Iterable ):
E: pybuild pybuild:338: test: plugin distutils failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.7_urllib3/build; python3.7 -m pytest 
--ignore=test/appengine --ignore=test/with_dummyserver 
--ignore=test/test_connectionpool.py --ignore=test/contrib/test_socks.py 
-k-test_recent_date
dh_auto_test: pybuild --test -i python{version} -p "3.7 3.6" returned exit code 
13
make: *** [debian/rules:16: build] Error 25

** Affects: python-urllib3 (Ubuntu)
     Importance: High
         Status: New


** Tags: ftbfs rls-cc-incoming

** Changed in: python-urllib3 (Ubuntu)
   Importance: Undecided => High

** Tags added: ftbfs rls-cc-incoming

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1823646

Title:
  python-urllib3 ftbfs in cosmic

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-urllib3/+bug/1823646/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to