From: Guido van Rossum Date: Sat, 23 Nov 2013 23:36:43 +0000 (-0800) Subject: Keep asyncio working with Python 3.3 too. X-Git-Tag: v3.4.0b1~33 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7fa6e1aeea111e7d954b753fb483afc18f21add0;p=thirdparty%2FPython%2Fcpython.git Keep asyncio working with Python 3.3 too. --- diff --git a/Lib/asyncio/selector_events.py b/Lib/asyncio/selector_events.py index 14c97000e66f..0641459f96e6 100644 --- a/Lib/asyncio/selector_events.py +++ b/Lib/asyncio/selector_events.py @@ -571,8 +571,15 @@ class _SelectorSslTransport(_SelectorTransport): # context; in that case the sslcontext passed is None. # The default is the same as used by urllib with # cadefault=True. - sslcontext = ssl._create_stdlib_context( - cert_reqs=ssl.CERT_REQUIRED) + if hasattr(ssl, '_create_stdlib_context'): + sslcontext = ssl._create_stdlib_context( + cert_reqs=ssl.CERT_REQUIRED) + else: + # Fallback for Python 3.3. + sslcontext = ssl.SSLContext(ssl.PROTOCOL_SSLv23) + sslcontext.options |= ssl.OP_NO_SSLv2 + sslcontext.set_default_verify_paths() + sslcontext.verify_mode = ssl.CERT_REQUIRED wrap_kwargs = { 'server_side': server_side,