mirror of
https://github.com/python/cpython.git
synced 2025-08-30 05:35:08 +00:00
merge 3.4 (#22417)
This commit is contained in:
commit
1cca273669
11 changed files with 115 additions and 69 deletions
|
@ -1627,36 +1627,6 @@ class UnixSysLogHandlerTest(SysLogHandlerTest):
|
|||
class HTTPHandlerTest(BaseTest):
|
||||
"""Test for HTTPHandler."""
|
||||
|
||||
PEMFILE = """-----BEGIN RSA PRIVATE KEY-----
|
||||
MIICXQIBAAKBgQDGT4xS5r91rbLJQK2nUDenBhBG6qFk+bVOjuAGC/LSHlAoBnvG
|
||||
zQG3agOG+e7c5z2XT8m2ktORLqG3E4mYmbxgyhDrzP6ei2Anc+pszmnxPoK3Puh5
|
||||
aXV+XKt0bU0C1m2+ACmGGJ0t3P408art82nOxBw8ZHgIg9Dtp6xIUCyOqwIDAQAB
|
||||
AoGBAJFTnFboaKh5eUrIzjmNrKsG44jEyy+vWvHN/FgSC4l103HxhmWiuL5Lv3f7
|
||||
0tMp1tX7D6xvHwIG9VWvyKb/Cq9rJsDibmDVIOslnOWeQhG+XwJyitR0pq/KlJIB
|
||||
5LjORcBw795oKWOAi6RcOb1ON59tysEFYhAGQO9k6VL621gRAkEA/Gb+YXULLpbs
|
||||
piXN3q4zcHzeaVANo69tUZ6TjaQqMeTxE4tOYM0G0ZoSeHEdaP59AOZGKXXNGSQy
|
||||
2z/MddcYGQJBAMkjLSYIpOLJY11ja8OwwswFG2hEzHe0cS9bzo++R/jc1bHA5R0Y
|
||||
i6vA5iPi+wopPFvpytdBol7UuEBe5xZrxWMCQQCWxELRHiP2yWpEeLJ3gGDzoXMN
|
||||
PydWjhRju7Bx3AzkTtf+D6lawz1+eGTuEss5i0JKBkMEwvwnN2s1ce+EuF4JAkBb
|
||||
E96h1lAzkVW5OAfYOPY8RCPA90ZO/hoyg7PpSxR0ECuDrgERR8gXIeYUYfejBkEa
|
||||
rab4CfRoVJKKM28Yq/xZAkBvuq670JRCwOgfUTdww7WpdOQBYPkzQccsKNCslQW8
|
||||
/DyW6y06oQusSENUvynT6dr3LJxt/NgZPhZX2+k1eYDV
|
||||
-----END RSA PRIVATE KEY-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICGzCCAYSgAwIBAgIJAIq84a2Q/OvlMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV
|
||||
BAMTCWxvY2FsaG9zdDAeFw0xMTA1MjExMDIzMzNaFw03NTAzMjEwMzU1MTdaMBQx
|
||||
EjAQBgNVBAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
|
||||
xk+MUua/da2yyUCtp1A3pwYQRuqhZPm1To7gBgvy0h5QKAZ7xs0Bt2oDhvnu3Oc9
|
||||
l0/JtpLTkS6htxOJmJm8YMoQ68z+notgJ3PqbM5p8T6Ctz7oeWl1flyrdG1NAtZt
|
||||
vgAphhidLdz+NPGq7fNpzsQcPGR4CIPQ7aesSFAsjqsCAwEAAaN1MHMwHQYDVR0O
|
||||
BBYEFLWaUPO6N7efGiuoS9i3DVYcUwn0MEQGA1UdIwQ9MDuAFLWaUPO6N7efGiuo
|
||||
S9i3DVYcUwn0oRikFjAUMRIwEAYDVQQDEwlsb2NhbGhvc3SCCQCKvOGtkPzr5TAM
|
||||
BgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAMK5whPjLNQK1Ivvk88oqJqq
|
||||
4f889OwikGP0eUhOBhbFlsZs+jq5YZC2UzHz+evzKBlgAP1u4lP/cB85CnjvWqM+
|
||||
1c/lywFHQ6HOdDeQ1L72tSYMrNOG4XNmLn0h7rx6GoTU7dcFRfseahBCq8mv0IDt
|
||||
IRbTpvlHWPjsSvHz0ZOH
|
||||
-----END CERTIFICATE-----"""
|
||||
|
||||
def setUp(self):
|
||||
"""Set up an HTTP server to receive log messages, and a HTTPHandler
|
||||
pointing to that server's address and port."""
|
||||
|
@ -1686,15 +1656,26 @@ IRbTpvlHWPjsSvHz0ZOH
|
|||
if secure:
|
||||
try:
|
||||
import ssl
|
||||
fd, fn = tempfile.mkstemp()
|
||||
os.close(fd)
|
||||
with open(fn, 'w') as f:
|
||||
f.write(self.PEMFILE)
|
||||
sslctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
|
||||
sslctx.load_cert_chain(fn)
|
||||
os.unlink(fn)
|
||||
except ImportError:
|
||||
sslctx = None
|
||||
else:
|
||||
here = os.path.dirname(__file__)
|
||||
localhost_cert = os.path.join(here, "keycert.pem")
|
||||
sslctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
|
||||
sslctx.load_cert_chain(localhost_cert)
|
||||
# Unfortunately, HTTPHandler doesn't allow us to change the
|
||||
# SSLContext used by HTTPSConnection, so we have to
|
||||
# monkeypatch. This can be cleaned up if issue 22788 is
|
||||
# fixed.
|
||||
old = ssl._create_default_https_context
|
||||
def restore_handler():
|
||||
ssl._create_default_https_context = old
|
||||
self.addCleanup(restore_handler)
|
||||
def hack_create_ctx():
|
||||
ctx = old()
|
||||
ctx.load_verify_locations(localhost_cert)
|
||||
return ctx
|
||||
ssl._create_default_https_context = hack_create_ctx
|
||||
else:
|
||||
sslctx = None
|
||||
self.server = server = TestHTTPServer(addr, self.handle_request,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue