diff --git a/mercurial/httpclient/__init__.py b/mercurial/httpclient/__init__.py index 60e060f4faa9941b65d2ad406d119dd92c5f13e7_bWVyY3VyaWFsL2h0dHBjbGllbnQvX19pbml0X18ucHk=..42fcb2f7787db7bb007f2e26ea804d35411b7c55_bWVyY3VyaWFsL2h0dHBjbGllbnQvX19pbml0X18ucHk= 100644 --- a/mercurial/httpclient/__init__.py +++ b/mercurial/httpclient/__init__.py @@ -622,6 +622,8 @@ # TODO: find a way to block on ssl flushing its buffer # similar to selecting on a raw socket. continue + if e[0] == errno.EWOULDBLOCK or e[0] == errno.EAGAIN: + continue elif (e[0] not in (errno.ECONNRESET, errno.EPIPE) and not first): raise diff --git a/mercurial/httpclient/socketutil.py b/mercurial/httpclient/socketutil.py index 60e060f4faa9941b65d2ad406d119dd92c5f13e7_bWVyY3VyaWFsL2h0dHBjbGllbnQvc29ja2V0dXRpbC5weQ==..42fcb2f7787db7bb007f2e26ea804d35411b7c55_bWVyY3VyaWFsL2h0dHBjbGllbnQvc29ja2V0dXRpbC5weQ== 100644 --- a/mercurial/httpclient/socketutil.py +++ b/mercurial/httpclient/socketutil.py @@ -106,7 +106,7 @@ else: raise x - _PROTOCOL_SSLv23 = 2 + _PROTOCOL_SSLv3 = 1 CERT_NONE = 0 CERT_OPTIONAL = 1 @@ -118,7 +118,7 @@ # pylint: disable=W0613,R0913 def wrap_socket(sock, keyfile=None, certfile=None, server_side=False, cert_reqs=CERT_NONE, - ssl_version=_PROTOCOL_SSLv23, ca_certs=None, + ssl_version=_PROTOCOL_SSLv3, ca_certs=None, do_handshake_on_connect=True, suppress_ragged_eofs=True): """Backport of ssl.wrap_socket from Python 2.6."""