summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio/sslproto.py
diff options
context:
space:
mode:
authorAndrew Svetlov <andrew.svetlov@gmail.com>2017-12-20 18:24:43 (GMT)
committerGitHub <noreply@github.com>2017-12-20 18:24:43 (GMT)
commit51eb1c6b9c0b382dfd6e0428eacff0c7891a6fc3 (patch)
treec9043b4a9f959fe562a695ec35cb0718101110e9 /Lib/asyncio/sslproto.py
parenta7a751dd7b08a5bb6cb399c1b2a6ca7b24aba51d (diff)
downloadcpython-51eb1c6b9c0b382dfd6e0428eacff0c7891a6fc3.zip
cpython-51eb1c6b9c0b382dfd6e0428eacff0c7891a6fc3.tar.gz
cpython-51eb1c6b9c0b382dfd6e0428eacff0c7891a6fc3.tar.bz2
bpo-29970: Make ssh_handshake_timeout None by default (#4939)
* Make ssh_handshake_timeout None by default. * Raise ValueError if ssl_handshake_timeout is used without ssl. * Raise ValueError if ssl_handshake_timeout is not positive.
Diffstat (limited to 'Lib/asyncio/sslproto.py')
-rw-r--r--Lib/asyncio/sslproto.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/Lib/asyncio/sslproto.py b/Lib/asyncio/sslproto.py
index 8bcc6cc..2d377c4 100644
--- a/Lib/asyncio/sslproto.py
+++ b/Lib/asyncio/sslproto.py
@@ -402,10 +402,17 @@ class SSLProtocol(protocols.Protocol):
def __init__(self, loop, app_protocol, sslcontext, waiter,
server_side=False, server_hostname=None,
call_connection_made=True,
- ssl_handshake_timeout=constants.SSL_HANDSHAKE_TIMEOUT):
+ ssl_handshake_timeout=None):
if ssl is None:
raise RuntimeError('stdlib ssl module not available')
+ if ssl_handshake_timeout is None:
+ ssl_handshake_timeout = constants.SSL_HANDSHAKE_TIMEOUT
+ elif ssl_handshake_timeout <= 0:
+ raise ValueError(
+ f"ssl_handshake_timeout should be a positive number, "
+ f"got {ssl_handshake_timeout}")
+
if not sslcontext:
sslcontext = _create_transport_context(
server_side, server_hostname)