Skip to content

Commit

Permalink
[3.9] gh-94208: Add even more TLS version/protocol checks for FreeBSD (
Browse files Browse the repository at this point in the history
…#98037)

Otherwise, buildbot builds would fail since there's no TLS 1.0/1.1 support.
  • Loading branch information
ambv committed Oct 7, 2022
1 parent 77796d0 commit da1fe38
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 10 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Expand Up @@ -140,5 +140,7 @@ Tools/ssl/win32
# Artifacts generated by 3.11 lying around when switching branches:
/_bootstrap_python
/Programs/_freeze_module
/Modules/Setup.bootstrap
/Modules/Setup.stdlib
/Python/deepfreeze/
/Python/frozen_modules/
26 changes: 16 additions & 10 deletions Lib/test/test_ssl.py
Expand Up @@ -1141,8 +1141,10 @@ def test_constructor(self):

def test_protocol(self):
for proto in PROTOCOLS:
ctx = ssl.SSLContext(proto)
self.assertEqual(ctx.protocol, proto)
if has_tls_protocol(proto):
with warnings_helper.check_warnings():
ctx = ssl.SSLContext(proto)
self.assertEqual(ctx.protocol, proto)

def test_ciphers(self):
ctx = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
Expand Down Expand Up @@ -1524,7 +1526,10 @@ def test_load_dh_params(self):

def test_session_stats(self):
for proto in PROTOCOLS:
ctx = ssl.SSLContext(proto)
if not has_tls_protocol(proto):
continue
with warnings_helper.check_warnings():
ctx = ssl.SSLContext(proto)
self.assertEqual(ctx.session_stats(), {
'number': 0,
'connect': 0,
Expand Down Expand Up @@ -1715,13 +1720,14 @@ def test__create_stdlib_context(self):
self.assertEqual(ctx.verify_mode, ssl.CERT_NONE)
self._assert_context_options(ctx)

ctx = ssl._create_stdlib_context(ssl.PROTOCOL_TLSv1,
cert_reqs=ssl.CERT_REQUIRED,
check_hostname=True)
self.assertEqual(ctx.protocol, ssl.PROTOCOL_TLSv1)
self.assertEqual(ctx.verify_mode, ssl.CERT_REQUIRED)
self.assertTrue(ctx.check_hostname)
self._assert_context_options(ctx)
with warnings_helper.check_warnings():
ctx = ssl._create_stdlib_context(ssl.PROTOCOL_TLSv1,
cert_reqs=ssl.CERT_REQUIRED,
check_hostname=True)
self.assertEqual(ctx.protocol, ssl.PROTOCOL_TLSv1)
self.assertEqual(ctx.verify_mode, ssl.CERT_REQUIRED)
self.assertTrue(ctx.check_hostname)
self._assert_context_options(ctx)

ctx = ssl._create_stdlib_context(purpose=ssl.Purpose.CLIENT_AUTH)
self.assertEqual(ctx.protocol, ssl.PROTOCOL_TLS)
Expand Down

0 comments on commit da1fe38

Please sign in to comment.