Skip to content

[3.6] bpo-32947: Fixes for TLS 1.3 and OpenSSL 1.1.1 #11612

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 29, 2019
Merged

[3.6] bpo-32947: Fixes for TLS 1.3 and OpenSSL 1.1.1 #11612

merged 1 commit into from
May 29, 2019

Conversation

vstinner
Copy link
Member

@vstinner vstinner commented Jan 18, 2019

Backport partially commit 529525f:
complete the previous partial backport (commit
2a4ee8a.

Co-Authored-By: Christian Heimes christian@python.org

https://bugs.python.org/issue32947

Backport partially commit 529525f:
complete the previous partial backport (commit
2a4ee8a.

Co-Authored-By: Christian Heimes <christian@python.org>
@vstinner
Copy link
Member Author

@ned-deily: I don't know your policy for tests which fail randomly. This one is impacting RHEL builder. We will backport it in RHEL, but I don't know if it's worth it to backport is also in 3.6 upstream? Do we care to have a highly reliable test suite for 3.6? It's not like we push changes frequently in 3.6 anymore. To be clear: I don't really care if you reject this change, it's up to you :-)

@ned-deily
Copy link
Member

I'm OK with backporting this to 3.6 to ensure that the tests keep working as long as @tiran is OK with it. Awaiting his review.

@vstinner
Copy link
Member Author

@tiran: Would you mind to review this change? Right now, "./python -m test -u all -F -m test_connect_cadata test_ssl" fails on Fedora 29 with OpenSSL 1.1.1 FIPS. I tried backported 2 changes from your master change, 2 changes that you forgot and chose to not backport in your backport to 3.6. See the PR description and https://bugs.python.org/issue32947#msg333990

@vstinner
Copy link
Member Author

@vstinner
Copy link
Member Author

@stratakis backported most OpenSSL 1.1.1 and TLS v1.3 changes from 3.6 to 2.7, but we didn't backport this change since https://bugs.python.org/issue32947 doesn't affect Python 2.7. It's maybe because test_ssl handles exceptions differently: exception hierarchy in Python 2 is very different than Python 3 exception hierarchy.

@vstinner
Copy link
Member Author

@tiran: Would you mind to review this change?

@vstinner
Copy link
Member Author

@ned-deily: Would you mind to review/merge this PR?

@ned-deily ned-deily merged commit 3dbc43f into python:3.6 May 29, 2019
@bedevere-bot
Copy link

bedevere-bot commented May 29, 2019

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot ARMv7 Debian buster 3.6 has failed when building commit 3dbc43f.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/180/builds/7) and take a look at the build logs.
  4. Check if the failure is related to this commit (3dbc43f) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/180/builds/7

Click to see traceback logs
From https://github.com/python/cpython
 * branch                  3.6        -> FETCH_HEAD
Reset branch '3.6'

/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Modules/_decimal/libmpdec/mpdecimal.c: In function ‘_c32_qget_u64’:
/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Modules/_decimal/libmpdec/mpdecimal.c:1410:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
         ret += (uint64_t)tmp_data[2] * 1000000000000000000ULL;
         ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Modules/_decimal/libmpdec/mpdecimal.c:1411:5: note: here
     case 2:
     ^~~~
/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Modules/_decimal/libmpdec/mpdecimal.c:1412:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
         ret += (uint64_t)tmp_data[1] * 1000000000ULL;
         ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Modules/_decimal/libmpdec/mpdecimal.c:1413:5: note: here
     case 1:
     ^~~~

test_ttk_guionly skipped -- Tk unavailable due to TclError: no display name and no $DISPLAY environment variab [...]
test_msilib skipped -- No module named '_msi'

----------------------------------------------------------------------

Ran 0 tests in 0.000s

OK
test_flock (__main__.FNTLEINTRTest) ... ok
test_lockf (__main__.FNTLEINTRTest) ... ok
test_read (__main__.OSEINTRTest) ... ok
test_wait (__main__.OSEINTRTest) ... ok
test_wait3 (__main__.OSEINTRTest) ... ok
test_wait4 (__main__.OSEINTRTest) ... ok
test_waitpid (__main__.OSEINTRTest) ... ok
test_write (__main__.OSEINTRTest) ... ok
test_devpoll (__main__.SelectEINTRTest) ... skipped 'need select.devpoll'
test_epoll (__main__.SelectEINTRTest) ... ok
test_kqueue (__main__.SelectEINTRTest) ... skipped 'need select.kqueue'
test_poll (__main__.SelectEINTRTest) ... ok
test_select (__main__.SelectEINTRTest) ... ok
test_sigtimedwait (__main__.SignalEINTRTest) ... ok
test_sigwaitinfo (__main__.SignalEINTRTest) ... ok
test_accept (__main__.SocketEINTRTest) ... ok
test_open (__main__.SocketEINTRTest) ... ok
test_os_open (__main__.SocketEINTRTest) ... ok
test_recv (__main__.SocketEINTRTest) ... ok
test_recvmsg (__main__.SocketEINTRTest) ... ok
test_send (__main__.SocketEINTRTest) ... ok
test_sendall (__main__.SocketEINTRTest) ... ok
test_sendmsg (__main__.SocketEINTRTest) ... ok
test_sleep (__main__.TimeEINTRTest) ... ok

----------------------------------------------------------------------
Ran 24 tests in 9.984s

OK (skipped=2)
test_kqueue skipped -- test works only on BSD
test_caps_only_after_login (test.test_nntplib.CapsAfterLoginNNTPv2Tests) ... ok
test_starttls (test.test_nntplib.LocalServerTests) ... ok
test_decode_header (test.test_nntplib.MiscTests) ... ok
test_parse_datetime (test.test_nntplib.MiscTests) ... ok
test_parse_overview (test.test_nntplib.MiscTests) ... ok
test_parse_overview_fmt (test.test_nntplib.MiscTests) ... ok
test_ssl_support (test.test_nntplib.MiscTests) ... ok
test_unparse_datetime (test.test_nntplib.MiscTests) ... ok
test_unparse_datetime_legacy (test.test_nntplib.MiscTests) ... ok
test_bad_capabilities (test.test_nntplib.MockSocketTests) ... ok
test_bad_welcome (test.test_nntplib.MockSocketTests) ... ok
test_login_aborted (test.test_nntplib.MockSocketTests) ... ok
test_service_permanently_unavailable (test.test_nntplib.MockSocketTests) ... ok
test_service_temporarily_unavailable (test.test_nntplib.MockSocketTests) ... ok
test_bad_capabilities (test.test_nntplib.MockSslTests) ... ok
test_bad_welcome (test.test_nntplib.MockSslTests) ... ok
test_login_aborted (test.test_nntplib.MockSslTests) ... ok
test_service_permanently_unavailable (test.test_nntplib.MockSslTests) ... ok
test_service_temporarily_unavailable (test.test_nntplib.MockSslTests) ... ok
test_article (test.test_nntplib.NNTPv1Tests) ... ok
test_article_file (test.test_nntplib.NNTPv1Tests) ... ok
test_authinfo (test.test_nntplib.NNTPv1Tests) ... ok
test_body (test.test_nntplib.NNTPv1Tests) ... ok
test_body_file (test.test_nntplib.NNTPv1Tests) ... ok
test_caps (test.test_nntplib.NNTPv1Tests) ... ok
test_date (test.test_nntplib.NNTPv1Tests) ... ok
test_description (test.test_nntplib.NNTPv1Tests) ... ok
test_descriptions (test.test_nntplib.NNTPv1Tests) ... ok
test_group (test.test_nntplib.NNTPv1Tests) ... ok
test_head (test.test_nntplib.NNTPv1Tests) ... ok
test_head_file (test.test_nntplib.NNTPv1Tests) ... ok
test_help (test.test_nntplib.NNTPv1Tests) ... ok
test_ihave (test.test_nntplib.NNTPv1Tests) ... ok
test_last (test.test_nntplib.NNTPv1Tests) ... ok
test_list (test.test_nntplib.NNTPv1Tests) ... ok
test_newnews (test.test_nntplib.NNTPv1Tests) ... ok
test_next (test.test_nntplib.NNTPv1Tests) ... ok
test_over (test.test_nntplib.NNTPv1Tests) ... ok
test_post (test.test_nntplib.NNTPv1Tests) ... ok
test_quit (test.test_nntplib.NNTPv1Tests) ... ok
test_stat (test.test_nntplib.NNTPv1Tests) ... ok
test_too_long_lines (test.test_nntplib.NNTPv1Tests) ... ok
test_welcome (test.test_nntplib.NNTPv1Tests) ... ok
test_xover (test.test_nntplib.NNTPv1Tests) ... ok
test_article (test.test_nntplib.NNTPv2Tests) ... ok
test_article_file (test.test_nntplib.NNTPv2Tests) ... ok
test_authinfo (test.test_nntplib.NNTPv2Tests) ... ok
test_body (test.test_nntplib.NNTPv2Tests) ... ok
test_body_file (test.test_nntplib.NNTPv2Tests) ... ok
test_caps (test.test_nntplib.NNTPv2Tests) ... ok
test_date (test.test_nntplib.NNTPv2Tests) ... ok
test_description (test.test_nntplib.NNTPv2Tests) ... ok
test_descriptions (test.test_nntplib.NNTPv2Tests) ... ok
test_group (test.test_nntplib.NNTPv2Tests) ... ok
test_head (test.test_nntplib.NNTPv2Tests) ... ok
test_head_file (test.test_nntplib.NNTPv2Tests) ... ok
test_help (test.test_nntplib.NNTPv2Tests) ... ok
test_ihave (test.test_nntplib.NNTPv2Tests) ... ok
test_last (test.test_nntplib.NNTPv2Tests) ... ok
test_list (test.test_nntplib.NNTPv2Tests) ... ok
test_newnews (test.test_nntplib.NNTPv2Tests) ... ok
test_next (test.test_nntplib.NNTPv2Tests) ... ok
test_over (test.test_nntplib.NNTPv2Tests) ... ok
test_post (test.test_nntplib.NNTPv2Tests) ... ok
test_quit (test.test_nntplib.NNTPv2Tests) ... ok
test_stat (test.test_nntplib.NNTPv2Tests) ... ok
test_too_long_lines (test.test_nntplib.NNTPv2Tests) ... ok
test_welcome (test.test_nntplib.NNTPv2Tests) ... ok
test_xover (test.test_nntplib.NNTPv2Tests) ... ok
test_article_head_body (test.test_nntplib.NetworkedNNTPTests) ... skipped 'FIXME: see [bpo-32128](https://bugs.python.org/issue32128)'
test_capabilities (test.test_nntplib.NetworkedNNTPTests) ... ok
test_date (test.test_nntplib.NetworkedNNTPTests) ... ok
test_description (test.test_nntplib.NetworkedNNTPTests) ... ok
test_descriptions (test.test_nntplib.NetworkedNNTPTests) ... ok
test_group (test.test_nntplib.NetworkedNNTPTests) ... ok
test_help (test.test_nntplib.NetworkedNNTPTests) ... ok
test_list (test.test_nntplib.NetworkedNNTPTests) ... ok
test_list_active (test.test_nntplib.NetworkedNNTPTests) ... ok
test_newgroups (test.test_nntplib.NetworkedNNTPTests) ... ok
test_over (test.test_nntplib.NetworkedNNTPTests) ... skipped 'temporarily skipped until a permanent solution is found for issue #28971'
test_unknown_command (test.test_nntplib.NetworkedNNTPTests) ... ok
test_welcome (test.test_nntplib.NetworkedNNTPTests) ... ok
test_with_statement (test.test_nntplib.NetworkedNNTPTests) ... ok
test_xhdr (test.test_nntplib.NetworkedNNTPTests) ... ok
test_xover (test.test_nntplib.NetworkedNNTPTests) ... ok
test_zlogin (test.test_nntplib.NetworkedNNTPTests) ... ok
test_zzquit (test.test_nntplib.NetworkedNNTPTests) ... ok
ERROR
test_module_all_attribute (test.test_nntplib.PublicAPITests) ... ok
test_we_are_in_reader_mode_after_connect (test.test_nntplib.SendReaderNNTPv2Tests) ... ok

======================================================================
ERROR: setUpClass (test.test_nntplib.NetworkedNNTP_SSLTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_nntplib.py", line 292, in setUpClass
    usenetrc=False)
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/nntplib.py", line 1077, in __init__
    self.sock = _encrypt_on(self.sock, ssl_context, host)
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/nntplib.py", line 292, in _encrypt_on
    return context.wrap_socket(sock, server_hostname=hostname)
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 407, in wrap_socket
    _context=self, _session=session)
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 817, in __init__
    self.do_handshake()
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:852)

----------------------------------------------------------------------

Ran 89 tests in 10.476s

FAILED (errors=1, skipped=2)
test test_nntplib failed
test_startfile skipped -- object <module 'os' from '/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/os.py'> has no attribute 'startfile'
test_zipfile64 skipped -- test requires loads of disk-space bytes and a long time to run
test_ssl: testing with 'OpenSSL 1.1.1b  26 Feb 2019' (1, 1, 1, 2, 15)
          under Linux ('debian', 'buster/sid', '')
          HAS_SNI = True
          OP_ALL = 0x-7fffffac
          OP_NO_TLSv1_1 = 0x10000000
test__create_stdlib_context (test.test_ssl.ContextTests) ... ok
test_cert_store_stats (test.test_ssl.ContextTests) ... ok
test_check_hostname (test.test_ssl.ContextTests) ... ok
test_ciphers (test.test_ssl.ContextTests) ... ok
test_constructor (test.test_ssl.ContextTests) ... ok
test_context_client_server (test.test_ssl.ContextTests) ... ok
test_create_default_context (test.test_ssl.ContextTests) ... ok
test_get_ca_certs (test.test_ssl.ContextTests) ... ok
test_get_ciphers (test.test_ssl.ContextTests) ... ok
test_load_cert_chain (test.test_ssl.ContextTests) ... ok
test_load_default_certs (test.test_ssl.ContextTests) ... ok
test_load_default_certs_env (test.test_ssl.ContextTests) ... ok
test_load_default_certs_env_windows (test.test_ssl.ContextTests) ... skipped 'Windows specific'
test_load_dh_params (test.test_ssl.ContextTests) ... ok
test_load_verify_cadata (test.test_ssl.ContextTests) ... ok
test_load_verify_locations (test.test_ssl.ContextTests) ... ok
test_options (test.test_ssl.ContextTests) ... ok
test_protocol (test.test_ssl.ContextTests) ... ok
test_session_stats (test.test_ssl.ContextTests) ... ok
test_set_default_verify_paths (test.test_ssl.ContextTests) ... ok
test_set_ecdh_curve (test.test_ssl.ContextTests) ... ok
test_sni_callback (test.test_ssl.ContextTests) ... ok
test_sni_callback_refcycle (test.test_ssl.ContextTests) ... ok
test_verify_flags (test.test_ssl.ContextTests) ... ok
test_verify_mode (test.test_ssl.ContextTests) ... ok
test_DER_to_PEM (test.test_ssl.BasicSocketTests) ... ok
test_asn1object (test.test_ssl.BasicSocketTests) ... ok
test_cert_time_to_seconds (test.test_ssl.BasicSocketTests) ... ok
test_cert_time_to_seconds_locale (test.test_ssl.BasicSocketTests) ... skipped 'locale-specific month name needs to be different from C locale'
test_cert_time_to_seconds_timezone (test.test_ssl.BasicSocketTests) ... ok
test_connect_ex_error (test.test_ssl.BasicSocketTests) ... ok
test_constants (test.test_ssl.BasicSocketTests) ... ok
test_dealloc_warn (test.test_ssl.BasicSocketTests) ... ok
test_empty_cert (test.test_ssl.BasicSocketTests)
Wrapping with an empty cert file ... ok
test_enum_certificates (test.test_ssl.BasicSocketTests) ... skipped 'Windows specific'
test_enum_crls (test.test_ssl.BasicSocketTests) ... skipped 'Windows specific'
test_errors_sslwrap (test.test_ssl.BasicSocketTests) ... ok
test_get_default_verify_paths (test.test_ssl.BasicSocketTests) ... ok
test_malformed_cert (test.test_ssl.BasicSocketTests)
Wrapping with a badly formatted certificate (syntax error) ... ok
test_malformed_key (test.test_ssl.BasicSocketTests)
Wrapping with a badly formatted key (syntax error) ... ok
test_match_hostname (test.test_ssl.BasicSocketTests) ... ok
test_openssl_version (test.test_ssl.BasicSocketTests) ... ok
test_parse_all_sans (test.test_ssl.BasicSocketTests) ... ok
test_parse_cert (test.test_ssl.BasicSocketTests) ... 
{'issuer': ((('countryName', 'XY'),),
            (('localityName', 'Castle Anthrax'),),
            (('organizationName', 'Python Software Foundation'),),
            (('commonName', 'localhost'),)),
 'notAfter': 'Aug 26 14:23:15 2028 GMT',
 'notBefore': 'Aug 29 14:23:15 2018 GMT',
 'serialNumber': '98A7CF88C74A32ED',
 'subject': ((('countryName', 'XY'),),
             (('localityName', 'Castle Anthrax'),),
             (('organizationName', 'Python Software Foundation'),),
             (('commonName', 'localhost'),)),
 'subjectAltName': (('DNS', 'localhost'),),
 'version': 3}

{'OCSP': ('http://ocsp.verisign.com',),
 'caIssuers': ('http://SVRIntl-G3-aia.verisign.com/SVRIntlG3.cer',),
 'crlDistributionPoints': ('http://SVRIntl-G3-crl.verisign.com/SVRIntlG3.crl',),
 'issuer': ((('countryName', 'US'),),
            (('organizationName', 'VeriSign, Inc.'),),
            (('organizationalUnitName', 'VeriSign Trust Network'),),
            (('organizationalUnitName',
              'Terms of use at https://www.verisign.com/rpa (c)10'),),
            (('commonName', 'VeriSign Class 3 International Server CA - G3'),)),
 'notAfter': 'Sep 20 23:59:59 2012 GMT',
 'notBefore': 'Sep 21 00:00:00 2011 GMT',
 'serialNumber': '2EE6EA7640A075CEE5005F4D7C79549A',
 'subject': ((('countryName', 'FI'),),
             (('stateOrProvinceName', 'Espoo'),),
             (('localityName', 'Espoo'),),
             (('organizationName', 'Nokia'),),
             (('organizationalUnitName', 'BI'),),
             (('commonName', 'projects.developer.nokia.com'),)),
 'subjectAltName': (('DNS', 'projects.developer.nokia.com'),
                    ('DNS', 'projects.forum.nokia.com')),
 'version': 3}
ok
test_parse_cert_CVE_2013_4238 (test.test_ssl.BasicSocketTests) ... 
{'issuer': ((('countryName', 'US'),),
            (('stateOrProvinceName', 'Oregon'),),
            (('localityName', 'Beaverton'),),
            (('organizationName', 'Python Software Foundation'),),
            (('organizationalUnitName', 'Python Core Development'),),
            (('commonName', 'null.python.org\x00example.org'),),
            (('emailAddress', 'python-dev@python.org'),)),
 'notAfter': 'Aug  7 13:12:52 2013 GMT',
 'notBefore': 'Aug  7 13:11:52 2013 GMT',
 'serialNumber': '00',
 'subject': ((('countryName', 'US'),),
             (('stateOrProvinceName', 'Oregon'),),
             (('localityName', 'Beaverton'),),
             (('organizationName', 'Python Software Foundation'),),
             (('organizationalUnitName', 'Python Core Development'),),
             (('commonName', 'null.python.org\x00example.org'),),
             (('emailAddress', 'python-dev@python.org'),)),
 'subjectAltName': (('DNS', 'altnull.python.org\x00example.com'),
                    ('email', 'null@python.org\x00user@example.org'),
                    ('URI', 'http://null.python.org\x00http://example.org'),
                    ('IP Address', '192.0.2.1'),
                    ('IP Address', '2001:DB8:0:0:0:0:0:1\n')),
 'version': 3}
ok
test_parse_cert_CVE_2019_5010 (test.test_ssl.BasicSocketTests) ... 
{'issuer': ((('countryName', 'UK'),), (('commonName', 'cody-ca'),)),
 'notAfter': 'Jun 14 18:00:58 2028 GMT',
 'notBefore': 'Jun 18 18:00:58 2018 GMT',
 'serialNumber': '02',
 'subject': ((('countryName', 'UK'),),
             (('commonName', 'codenomicon-vm-2.test.lal.cisco.com'),)),
 'subjectAltName': (('DNS', 'codenomicon-vm-2.test.lal.cisco.com'),),
 'version': 3}
ok
test_purpose_enum (test.test_ssl.BasicSocketTests) ... ok
test_random (test.test_ssl.BasicSocketTests) ... 
 RAND_status is 1 (sufficient randomness)
ok
test_random_fork (test.test_ssl.BasicSocketTests) ... ok
test_refcycle (test.test_ssl.BasicSocketTests) ... ok
test_server_side (test.test_ssl.BasicSocketTests) ... ok
test_str_for_enums (test.test_ssl.BasicSocketTests) ... ok
test_timeout (test.test_ssl.BasicSocketTests) ... ok
test_tls_unique_channel_binding (test.test_ssl.BasicSocketTests) ... ok
test_unknown_channel_binding (test.test_ssl.BasicSocketTests) ... ok
test_unsupported_dtls (test.test_ssl.BasicSocketTests) ... ok
test_wrapped_unconnected (test.test_ssl.BasicSocketTests) ... ok
test_lib_reason (test.test_ssl.SSLErrorTests) ... ok
test_str (test.test_ssl.SSLErrorTests) ... ok
test_subclass (test.test_ssl.SSLErrorTests) ... ok
test_buffer_types (test.test_ssl.MemoryBIOTests) ... ok
test_eof (test.test_ssl.MemoryBIOTests) ... ok
test_error_types (test.test_ssl.MemoryBIOTests) ... ok
test_pending (test.test_ssl.MemoryBIOTests) ... ok
test_read_write (test.test_ssl.MemoryBIOTests) ... ok
test_bio_handshake (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 50126)
Needed 2 calls to complete do_handshake().
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
Needed 3 calls to complete unwrap().
ok
test_bio_read_write_data (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 50306)
Needed 2 calls to complete do_handshake().
Needed 1 calls to complete write().
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
Needed 3 calls to complete read().
Needed 2 calls to complete unwrap().
ok
test_ciphers (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 49326)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 49328)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
ok
test_connect (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 51020)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 51022)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
ok
test_connect_cadata (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 48828)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 48830)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
ok
test_connect_capath (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 39992)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 39994)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
ok
test_connect_ex (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 40634)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
ok
test_connect_fail (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 58412)

 server:  bad connection attempt from ('127.0.0.1', 58412):
Traceback (most recent call last):
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 1888, in wrap_conn
    self.sock, server_side=True)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 407, in wrap_socket
    _context=self, _session=session)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 817, in __init__
    self.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
 ssl.SSLError: [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:852)
ok
test_connect_with_context (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 48834)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 48836)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 48838)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
ok
test_connect_with_context_fail (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 40868)

 server:  bad connection attempt from ('127.0.0.1', 40868):
Traceback (most recent call last):
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 1888, in wrap_conn
    self.sock, server_side=True)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 407, in wrap_socket
    _context=self, _session=session)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 817, in __init__
    self.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
 ssl.SSLError: [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:852)
ok
test_context_setget (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 38012)
 server: connection cipher is now ('ECDHE-RSA-AES256-GCM-SHA384', 'TLSv1.2', 256)
 server: selected protocol is now None
ok
test_get_ca_certs_capath (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 43914)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
ok
test_get_server_certificate (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 58966)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 58968)

Verified certificate for 127.0.0.1:52355 is
-----BEGIN CERTIFICATE-----
MIIF8TCCBFmgAwIBAgIJAMstgJlaaVJcMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNV
BAYTAlhZMSYwJAYDVQQKDB1QeXRob24gU29mdHdhcmUgRm91bmRhdGlvbiBDQTEW
MBQGA1UEAwwNb3VyLWNhLXNlcnZlcjAeFw0xODA4MjkxNDIzMTZaFw0yODA3MDcx
NDIzMTZaMF8xCzAJBgNVBAYTAlhZMRcwFQYDVQQHDA5DYXN0bGUgQW50aHJheDEj
MCEGA1UECgwaUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24xEjAQBgNVBAMMCWxv
Y2FsaG9zdDCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAJ8oLzdB739k
YxZiFukBFGIpyjqYkj0I015p/sDz1MT7DljcZLBLy7OqnkLpB5tnM8256DwdihPA
3zlnfEzTfr9DD0qFBW2H5cMCoz7X17koeRhzGDd3dkjUeBjXvR5qRosG8wM3lQug
U7AizY+3Azaj1yN3mZ9K5a20jr58Kqinz+Xxx6sb2JfYYff2neJbBahNm5id0AD2
pi/TthZqO5DURJYo+MdgZOcy+7jEjOJsLWZd3Yzq78iM07qDjbpIoVpENZCTHTWA
hX8LIqz0OBmh4weQpm4+plU7E4r4D82uauocWw8iyuznCTtABWO7n9fWySmf9QZC
WYxHAFpBQs6zUVqAD7nhFdTqpQ9bRiaEnjE4HiAccPW+MAoSxFnv/rNzEzI6b4zU
NspFMfg1aNVamdjxdpUZ1GG1Okf0yPJykqEX4PZl3La1Be2q7YZ1wydR523Xd+f3
EO4/g+imETSKn8gyCf6Rvib175L4r2WV1CXQH7gFwZYCod6WHYq5TQIDAQABo4IB
wDCCAbwwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA4GA1UdDwEB/wQEAwIFoDAdBgNV
HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4E
FgQUj+od4zNcABazi29rb9NMy7XLfFUwfQYDVR0jBHYwdIAU3b/K2ubRNLo3dSHK
b5oIKPI1tkihUaRPME0xCzAJBgNVBAYTAlhZMSYwJAYDVQQKDB1QeXRob24gU29m
dHdhcmUgRm91bmRhdGlvbiBDQTEWMBQGA1UEAwwNb3VyLWNhLXNlcnZlcoIJAMst
gJlaaVJbMIGDBggrBgEFBQcBAQR3MHUwPAYIKwYBBQUHMAKGMGh0dHA6Ly90ZXN0
Y2EucHl0aG9udGVzdC5uZXQvdGVzdGNhL3B5Y2FjZXJ0LmNlcjA1BggrBgEFBQcw
AYYpaHR0cDovL3Rlc3RjYS5weXRob250ZXN0Lm5ldC90ZXN0Y2Evb2NzcC8wQwYD
VR0fBDwwOjA4oDagNIYyaHR0cDovL3Rlc3RjYS5weXRob250ZXN0Lm5ldC90ZXN0
Y2EvcmV2b2NhdGlvbi5jcmwwDQYJKoZIhvcNAQELBQADggGBACf1jFkQ9MbnKAC/
uo17EwPxHKZfswZVpCK527LVRr33DN1DbrR5ZWchDCpV7kCOhZ+fR7sKKk22ZHSY
oH+u3PEu20J3GOB1iyY1aMNB7WvId3JvappdVWkC/VpUyFfLsGUDFuIPADmZZqCb
iJMX4loteTVfl1d4xK/1mV6Gq9MRrRqiDfpSELn+v53OM9mGspwW+NZ1CIrbCuW0
KxZ/tPkqn8PSd9fNZR70bB7rWbnwrl+kH8xKxLl6qdlrMmg74WWwhLeQxK7+9DdP
IaDenzqx5cwWBGY/C0HcQj0gPuy3lSs1V/q+f7Y6uspPWP51PgiJLIywXS75iRAr
+UFGTzwAtyfTZSQoFyMmMULqfk6T5HtoVMqfRvPvK+mFDLWEstU1NIB1K/CRI7gI
AY65ClTU+zRS/tlF8IA7tsFvgtEf8jsI9kamlidhS1gyeg4dWcVErV4aeTPB1AUv
StPYQkKNM+NjytWHl5tNuBoDNLsc0gI/WSPiI4CIY8LwomOoiw==
-----END CERTIFICATE-----

 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
ok
test_get_server_certificate_fail (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 34638)
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)

 server:  bad connection attempt from ('127.0.0.1', 34638):
Traceback (most recent call last):
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 1888, in wrap_conn
    self.sock, server_side=True)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 407, in wrap_socket
    _context=self, _session=session)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 817, in __init__
    self.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
 ssl.SSLError: [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:852)
ok
test_makefile_close (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 34040)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
ok
test_non_blocking_connect_ex (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 55824)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
ok
test_non_blocking_handshake (test.test_ssl.SimpleBackgroundTests) ...  server:  new connection from ('127.0.0.1', 37240)

Needed 2 calls to do_handshake() to establish session.
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
ok
test_get_server_certificate_ipv6 (test.test_ssl.NetworkedTests) ... 
Verified certificate for ipv6.google.com:443 is
-----BEGIN CERTIFICATE-----
MIIDfDCCAmSgAwIBAgIJAJB2iRjpM5OgMA0GCSqGSIb3DQEBCwUAME4xMTAvBgNV
BAsMKE5vIFNOSSBwcm92aWRlZDsgcGxlYXNlIGZpeCB5b3VyIGNsaWVudC4xGTAX
BgNVBAMTEGludmFsaWQyLmludmFsaWQwHhcNMTUwMTAxMDAwMDAwWhcNMzAwMTAx
MDAwMDAwWjBOMTEwLwYDVQQLDChObyBTTkkgcHJvdmlkZWQ7IHBsZWFzZSBmaXgg
W91ciBjbGllbnQuMRkwFwYDVQQDExBpbnZhbGlkMi5pbnZhbGlkMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzWJP5cMThJgMBeTvRKKl7N6ZcZAbKDVA
tNBNnRhIgSitXxCzKtt9rp2RHkLn76oZjdNO25EPp+QgMiWU/rkkB00Y18Oahw5f
i8s+K9dRv6i+gSOiv2jlIeW/S0hOswUUDH0JXFkEPKILzpl5ML7wdp5kt93vHxa7
HswOtAxEz2WtxMdezm/3CgO3sls20wl3W03iI+kCt7HyvhGy2aRPLhJfeABpQr0U
ku3q6mtomy2cgFawekN/X/aH8KknX799MPcuWutM2q88mtUEBsuZmy2nsjK9J7/y
hhCRDzOV/yY8c5+l/u/rWuwwkZ2lgzGp4xBBfhXdr6+m9kmwWCUm9QIDAQABo10w
WzAOBgNVHQ8BAf8EBAMCAqQwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC
MA8GA1UdEwEB/wQFMAMBAf8wGQYDVR0OBBIEELsPOJZvPr5PK0bQQWrUrLUwDQYJ
KoZIhvcNAQELBQADggEBALnZ4lRc9WHtafO4Y+0DWp4qgSdaGygzS/wtcRP+S2V+
HFOCeYDmeZ9qs0WpNlrtyeBKzBH8hOt9y8aUbZBw2M1F2Mi23Q+dhAEUfQCOKbIT
tunBuVfDTTbAHUuNl/eyr78v8Egi133z7zVgydVG1KA0AOSCB+B65glbpx+xMCpg
ZLux9THydwg3tPo/LfYbRCof+Mb8I3ZCY9O6FfZGjuxJn+0ux3SDora3NX/FmJ+i
kTCTsMtIFWhH3hoyYAamOOuITpPZHD7yP0lfbuncGDEqAQu2YWbYxRixfq2VSxgv
gWbFcmkgBLYpE8iDWT3Kdluo1+6PHaDaLg2SacOY6Go=
-----END CERTIFICATE-----

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)
ok
test_timeout_connect_ex (test.test_ssl.NetworkedTests) ... ok
test_alpn_protocols (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 39620)
 server: connection cipher is now ('ECDHE-RSA-AES256-GCM-SHA384', 'TLSv1.2', 256)
 server: selected protocol is now None
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
 server:  new connection from ('127.0.0.1', 40500)
 server: connection cipher is now ('ECDHE-RSA-AES256-GCM-SHA384', 'TLSv1.2', 256)
 server: selected protocol is now None
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
 server:  new connection from ('127.0.0.1', 47638)
 server: connection cipher is now ('ECDHE-RSA-AES256-GCM-SHA384', 'TLSv1.2', 256)
 server: selected protocol is now None
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
 server:  new connection from ('127.0.0.1', 36798)
 server: connection cipher is now ('ECDHE-RSA-AES256-GCM-SHA384', 'TLSv1.2', 256)
 server: selected protocol is now None
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
ok
test_asyncore_server (test.test_ssl.ThreadedTests)
Check the example asyncore integration. ... 
 server:  new connection from 127.0.0.1:57876
 client:  sending b'FOO\n'...
 server:  read b'FOO\n' from client
 client:  read b'foo\n'
 client:  closing connection.
 client:  connection closed.
 cleanup: stopping server.
 server:  read b'over\n' from client
 cleanup: joining server thread.
 server:  closed connection <ssl.SSLSocket [closed] fd=-1, family=AddressFamily.AF_INET, type=2049, proto=0>
 server:  read b'' from client
 cleanup: successfully joined.
ok
test_check_hostname (test.test_ssl.ThreadedTests) ... 
 server:  new connection from ('127.0.0.1', 51612)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 39154)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
ok
test_compression (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 34872)
 client:  sending b'FOO\n'...
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
 got compression: None
ok
test_compression_disabled (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 45458)
 client:  sending b'FOO\n'...
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
ok
test_crl_check (test.test_ssl.ThreadedTests) ... 
 server:  new connection from ('127.0.0.1', 39540)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 37054)

 server:  bad connection attempt from ('127.0.0.1', 37054):
Traceback (most recent call last):
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 1888, in wrap_conn
    self.sock, server_side=True)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 407, in wrap_socket
    _context=self, _session=session)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 817, in __init__
    self.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
 ssl.SSLError: [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:852)
 server:  new connection from ('127.0.0.1', 58570)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
ok
test_default_ecdh_curve (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 43256)
 server: connection cipher is now ('ECDHE-RSA-AES256-GCM-SHA384', 'TLSv1.2', 256)
 server: selected protocol is now None
ok
test_dh_params (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 51302)
 server: connection cipher is now ('DHE-RSA-AES256-SHA', 'SSLv3', 256)
 server: selected protocol is now None
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
ok
test_do_handshake_enotconn (test.test_ssl.ThreadedTests) ... ok
test_echo (test.test_ssl.ThreadedTests)
Basic test of an SSL client connecting to a server ... 
 server:  new connection from ('127.0.0.1', 58380)
 client:  sending b'FOO\n'...
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
 server:  new connection from ('127.0.0.1', 42338)
 client:  sending b'FOO\n'...
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
 server:  new connection from ('127.0.0.1', 57914)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
 server:  new connection from ('127.0.0.1', 41942)
 server: connection cipher is now ('ECDHE-RSA-AES256-GCM-SHA384', 'TLSv1.2', 256)
 server: selected protocol is now None
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
 server:  new connection from ('127.0.0.1', 54446)
 client:  sending b'FOO\n'...
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
 server:  new connection from ('127.0.0.1', 53728)

 server:  bad connection attempt from ('127.0.0.1', 53728):
Traceback (most recent call last):
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 1888, in wrap_conn
    self.sock, server_side=True)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 407, in wrap_socket
    _context=self, _session=session)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 817, in __init__
    self.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
 ssl.SSLError: [SSL] called a function you should not call (_ssl.c:852)
 server:  new connection from ('127.0.0.1', 46332)

 server:  bad connection attempt from ('127.0.0.1', 46332):
Traceback (most recent call last):
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 1888, in wrap_conn
    self.sock, server_side=True)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 407, in wrap_socket
    _context=self, _session=session)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 817, in __init__
    self.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
 OSError: [Errno 0] Error
 server:  new connection from ('127.0.0.1', 60940)

 server:  bad connection attempt from ('127.0.0.1', 60940):
Traceback (most recent call last):
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 1888, in wrap_conn
    self.sock, server_side=True)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 407, in wrap_socket
    _context=self, _session=session)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 817, in __init__
    self.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
 ssl.SSLError: [SSL] called a function you should not call (_ssl.c:852)
ok
test_getpeercert (test.test_ssl.ThreadedTests) ... 
{'issuer': ((('countryName', 'XY'),),
            (('localityName', 'Castle Anthrax'),),
            (('organizationName', 'Python Software Foundation'),),
            (('commonName', 'localhost'),)),
 'notAfter': 'Aug 26 14:23:15 2028 GMT',
 'notBefore': 'Aug 29 14:23:15 2018 GMT',
 'serialNumber': '98A7CF88C74A32ED',
 'subject': ((('countryName', 'XY'),),
             (('localityName', 'Castle Anthrax'),),
             (('organizationName', 'Python Software Foundation'),),
             (('commonName', 'localhost'),)),
 'subjectAltName': (('DNS', 'localhost'),),
 'version': 3}
Connection cipher is ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256).
ok
test_getpeercert_enotconn (test.test_ssl.ThreadedTests) ... ok
test_handshake_timeout (test.test_ssl.ThreadedTests) ... ok
test_no_shared_ciphers (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 39256)

 server:  bad connection attempt from ('127.0.0.1', 39256):
Traceback (most recent call last):
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 1888, in wrap_conn
    self.sock, server_side=True)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 407, in wrap_socket
    _context=self, _session=session)
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 817, in __init__
    self.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
   File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
 ssl.SSLError: [SSL: NO_SHARED_CIPHER] no shared cipher (_ssl.c:852)
ok
test_nonblocking_send (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 55012)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 Connection reset by peer: ('127.0.0.1', 55012)
ok
test_npn_protocols (test.test_ssl.ThreadedTests) ... skipped 'NPN support needed for this test'
test_protocol_sslv2 (test.test_ssl.ThreadedTests)
Connecting to an SSLv2 server with various client options ... skipped 'OpenSSL is compiled without SSLv2 support'
test_protocol_sslv23 (test.test_ssl.ThreadedTests)
Connecting to an SSLv23 server with various client options ... 
 PROTOCOL_TLS->PROTOCOL_TLS CERT_NONE
 PROTOCOL_TLSv1->PROTOCOL_TLS CERT_NONE
ERROR
test_protocol_sslv3 (test.test_ssl.ThreadedTests)
Connecting to an SSLv3 server with various client options ... skipped 'OpenSSL is compiled without SSLv3 support'
test_protocol_tlsv1 (test.test_ssl.ThreadedTests)
Connecting to a TLSv1 server with various client options ... 
 PROTOCOL_TLSv1->PROTOCOL_TLSv1 CERT_NONE
 PROTOCOL_TLSv1->PROTOCOL_TLSv1 CERT_OPTIONAL
 PROTOCOL_TLSv1->PROTOCOL_TLSv1 CERT_REQUIRED
 {PROTOCOL_TLS->PROTOCOL_TLSv1} CERT_NONE
ok
test_protocol_tlsv1_1 (test.test_ssl.ThreadedTests)
Connecting to a TLSv1.1 server with various client options. ... 
 PROTOCOL_TLSv1_1->PROTOCOL_TLSv1_1 CERT_NONE
 {PROTOCOL_TLS->PROTOCOL_TLSv1_1} CERT_NONE
 PROTOCOL_TLSv1_1->PROTOCOL_TLS CERT_NONE
ERROR
test_protocol_tlsv1_2 (test.test_ssl.ThreadedTests)
Connecting to a TLSv1.2 server with various client options. ... 
 PROTOCOL_TLSv1_2->PROTOCOL_TLSv1_2 CERT_NONE
 {PROTOCOL_TLS->PROTOCOL_TLSv1_2} CERT_NONE
 PROTOCOL_TLSv1_2->PROTOCOL_TLS CERT_NONE
 {PROTOCOL_TLSv1->PROTOCOL_TLSv1_2} CERT_NONE
 {PROTOCOL_TLSv1_2->PROTOCOL_TLSv1} CERT_NONE
 {PROTOCOL_TLSv1_1->PROTOCOL_TLSv1_2} CERT_NONE
 {PROTOCOL_TLSv1_2->PROTOCOL_TLSv1_1} CERT_NONE
ok
test_read_write_after_close_raises_valuerror (test.test_ssl.ThreadedTests) ... ok
test_recv_send (test.test_ssl.ThreadedTests)
Test recv(), send() and friends. ... 
 server:  new connection from ('127.0.0.1', 43996)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
ok
test_recv_zero (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 59862)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
ok
test_rude_shutdown (test.test_ssl.ThreadedTests)
A brutal shutdown of an SSL server should raise an OSError ... ok
test_selected_alpn_protocol (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 38102)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
ok
test_selected_alpn_protocol_if_server_uses_alpn (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 53004)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
ok
test_selected_npn_protocol (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 59326)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  sending b'FOO\n'...
 client:  read b'foo\n'
 client:  closing connection.
ok
test_sendfile (test.test_ssl.ThreadedTests) ... ok
test_server_accept (test.test_ssl.ThreadedTests) ... ok
test_session (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 33116)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 46984)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 50084)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 41772)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
ok
test_session_handling (test.test_ssl.ThreadedTests) ... ok
test_shared_ciphers (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 47316)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
ok
test_sni_callback (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 45792)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 60450)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 server:  new connection from ('127.0.0.1', 47850)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
ok
test_sni_callback_alert (test.test_ssl.ThreadedTests) ... ok
test_sni_callback_raising (test.test_ssl.ThreadedTests) ... ok
test_sni_callback_wrong_return_type (test.test_ssl.ThreadedTests) ... ok
test_socketserver (test.test_ssl.ThreadedTests)
Using socketserver to create and manage SSL connections. ... 
 server (('127.0.0.1', 42301):42301 ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)):
   [28/May/2019 19:10:19] "GET /keycert.pem HTTP/1.1" 200 -
 client: read 4058 bytes from remote server '<HTTPSServerThread <HTTPSServer localhost:42301>>'
stopping HTTPS server
joining HTTPS thread
ok
test_starttls (test.test_ssl.ThreadedTests)
Switching from clear text to encrypted and back again. ... 
 client:  sending b'msg 1'...
 server:  new connection from ('127.0.0.1', 44098)
 server: read b'msg 1' (unencrypted), sending back b'msg 1' (unencrypted)...
 client:  read b'msg 1' from server
 client:  sending b'MSG 2'...
 server: read b'MSG 2' (unencrypted), sending back b'msg 2' (unencrypted)...
 client:  read b'msg 2' from server
 client:  sending b'STARTTLS'...
 server: read STARTTLS from client, sending OK...
 client:  read b'ok' from server, starting TLS...
 client:  sending b'MSG 3'...
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 server: read b'MSG 3' (encrypted), sending back b'msg 3' (encrypted)...
 client:  read b'msg 3' from server
 client:  sending b'msg 4'...
 server: read b'msg 4' (encrypted), sending back b'msg 4' (encrypted)...
 client:  read b'msg 4' from server
 client:  sending b'ENDTLS'...
 server: read ENDTLS from client, sending OK...
 client:  read b'ok' from server, ending TLS...
 client:  sending b'msg 5'...
 server: connection is now unencrypted...
 server: read b'msg 5' (unencrypted), sending back b'msg 5' (unencrypted)...
 client:  read b'msg 5' from server
 client:  sending b'msg 6'...
 server: read b'msg 6' (unencrypted), sending back b'msg 6' (unencrypted)...
 client:  read b'msg 6' from server
 client:  closing connection.
 server: client closed connection
ok
test_tls1_3 (test.test_ssl.ThreadedTests) ...  server:  new connection from ('127.0.0.1', 50082)
 server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256)
 server: selected protocol is now None
ok
test_tls_unique_channel_binding (test.test_ssl.ThreadedTests)
Test tls-unique channel binding. ... 
 server:  new connection from ('127.0.0.1', 47070)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 got channel binding data: b'\x95p7)&\xf0\xb5\xdf\xa1\xe7\xc5\x05'
 server:  new connection from ('127.0.0.1', 47072)
 server: connection cipher is now ('ECDHE-RSA-AES256-SHA', 'TLSv1.0', 256)
 server: selected protocol is now None
 got another channel binding data: b'g\x97;\xdb\x81|YZ\x99/=\x84'
ok
test_version_basic (test.test_ssl.ThreadedTests) ... ok
test_wrong_cert (test.test_ssl.ThreadedTests)
Connecting when the server rejects the client's certificate ... 
SSLError is SSLError(1, '[SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:852)')
ok
test_pha_no_pha_client (test.test_ssl.TestPostHandshakeAuth) ... ok
test_pha_no_pha_server (test.test_ssl.TestPostHandshakeAuth) ... ok
test_pha_not_tls13 (test.test_ssl.TestPostHandshakeAuth) ... ok
test_pha_optional (test.test_ssl.TestPostHandshakeAuth) ... 
ok
test_pha_optional_nocert (test.test_ssl.TestPostHandshakeAuth) ... 
ok
test_pha_required (test.test_ssl.TestPostHandshakeAuth) ... ok
test_pha_required_nocert (test.test_ssl.TestPostHandshakeAuth) ... ok
test_pha_setter (test.test_ssl.TestPostHandshakeAuth) ... ok

======================================================================
ERROR: test_protocol_sslv23 (test.test_ssl.ThreadedTests)
Connecting to an SSLv23 server with various client options
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 2648, in test_protocol_sslv23
    try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_TLSv1, 'TLSv1')
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 2338, in try_protocol_combo
    chatty=False, connectionchatty=False)
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 2263, in server_params_test
    s.connect((HOST, server.port))
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1109, in connect
    self._real_connect(addr, False)
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1100, in _real_connect
    self.do_handshake()
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:852)

======================================================================
ERROR: test_protocol_tlsv1_1 (test.test_ssl.ThreadedTests)
Connecting to a TLSv1.1 server with various client options.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 2722, in test_protocol_tlsv1_1
    try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_TLSv1_1, 'TLSv1.1')
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 2338, in try_protocol_combo
    chatty=False, connectionchatty=False)
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/test/test_ssl.py", line 2263, in server_params_test
    s.connect((HOST, server.port))
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1109, in connect
    self._real_connect(addr, False)
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1100, in _real_connect
    self.do_handshake()
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
  File "/ssd/buildbot/buildarea/3.6.gps-ubuntu-exynos5-armv7l/build/Lib/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:852)

----------------------------------------------------------------------

Ran 136 tests in 9.987s

FAILED (errors=2, skipped=7)
test test_ssl failed
test_devpoll skipped -- test works only on Solaris OS family
test_winconsoleio skipped -- test only relevant on win32
test_tix skipped -- Tk unavailable due to TclError: no display name and no $DISPLAY environment variab [...]
stty: 'standard input': Inappropriate ioctl for device
test_winsound skipped -- No module named 'winsound'
skipped "dtrace(1) failed: [Errno 2] No such file or directory: 'dtrace': 'dtrace'"
skipped "dtrace(1) failed: [Errno 2] No such file or directory: 'dtrace': 'dtrace'"
skipped "stap(1) failed: [Errno 2] No such file or directory: 'stap': 'stap'"
skipped "stap(1) failed: [Errno 2] No such file or directory: 'stap': 'stap'"

----------------------------------------------------------------------

Ran 0 tests in 0.019s

OK (skipped=4)
test_ossaudiodev skipped -- [Errno 2] No such file or directory: '/dev/dsp'
test_ioctl skipped -- Unable to open /dev/tty
BDB0004 fop_read_meta: @test_18016_tmp_ndbm.db: unexpected file type or format
test_tk skipped -- Tk unavailable due to TclError: no display name and no $DISPLAY environment variab [...]
test_winreg skipped -- No module named 'winreg'
test test_nntplib failed
test test_ssl failed
make: *** [Makefile:1077: buildbottest] Error 2

@vstinner vstinner deleted the test_ssl36 branch January 30, 2020 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting merge tests Tests in the Lib/test dir
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants