Kaydet (Commit) a5f004fe authored tarafından Serhiy Storchaka's avatar Serhiy Storchaka

Merge heads

...@@ -6,6 +6,7 @@ from test import support ...@@ -6,6 +6,7 @@ from test import support
import socket import socket
import select import select
import time import time
import datetime
import gc import gc
import os import os
import errno import errno
...@@ -73,6 +74,19 @@ def no_sslv2_implies_sslv3_hello(): ...@@ -73,6 +74,19 @@ def no_sslv2_implies_sslv3_hello():
# 0.9.7h or higher # 0.9.7h or higher
return ssl.OPENSSL_VERSION_INFO >= (0, 9, 7, 8, 15) return ssl.OPENSSL_VERSION_INFO >= (0, 9, 7, 8, 15)
def asn1time(cert_time):
# Some versions of OpenSSL ignore seconds, see #18207
# 0.9.8.i
if ssl._OPENSSL_API_VERSION == (0, 9, 8, 9, 15):
fmt = "%b %d %H:%M:%S %Y GMT"
dt = datetime.datetime.strptime(cert_time, fmt)
dt = dt.replace(second=0)
cert_time = dt.strftime(fmt)
# %d adds leading zero but ASN1_TIME_print() uses leading space
if cert_time[4] == "0":
cert_time = cert_time[:4] + " " + cert_time[5:]
return cert_time
# Issue #9415: Ubuntu hijacks their OpenSSL and forcefully disables SSLv2 # Issue #9415: Ubuntu hijacks their OpenSSL and forcefully disables SSLv2
def skip_if_broken_ubuntu_ssl(func): def skip_if_broken_ubuntu_ssl(func):
...@@ -142,8 +156,8 @@ class BasicSocketTests(unittest.TestCase): ...@@ -142,8 +156,8 @@ class BasicSocketTests(unittest.TestCase):
(('commonName', 'localhost'),)) (('commonName', 'localhost'),))
) )
# Note the next three asserts will fail if the keys are regenerated # Note the next three asserts will fail if the keys are regenerated
self.assertEqual(p['notAfter'], 'Oct 5 23:01:56 2020 GMT') self.assertEqual(p['notAfter'], asn1time('Oct 5 23:01:56 2020 GMT'))
self.assertEqual(p['notBefore'], 'Oct 8 23:01:56 2010 GMT') self.assertEqual(p['notBefore'], asn1time('Oct 8 23:01:56 2010 GMT'))
self.assertEqual(p['serialNumber'], 'D7C7381919AFC24E') self.assertEqual(p['serialNumber'], 'D7C7381919AFC24E')
self.assertEqual(p['subject'], self.assertEqual(p['subject'],
((('countryName', 'XY'),), ((('countryName', 'XY'),),
......
...@@ -412,6 +412,9 @@ Library ...@@ -412,6 +412,9 @@ Library
Tests Tests
----- -----
- Issue #18207: Fix test_ssl for some versions of OpenSSL that ignore seconds
in ASN1_TIME fields.
- Issue #18094: test_uuid no more reports skipped tests as passed. - Issue #18094: test_uuid no more reports skipped tests as passed.
- Issue #17992: Add timeouts to asyncore and asynchat tests so that they won't - Issue #17992: Add timeouts to asyncore and asynchat tests so that they won't
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment