# HG changeset patch # User Augie Fackler # Date 1374691529 14400 # Node ID 42fcb2f7787db7bb007f2e26ea804d35411b7c55 # Parent 60e060f4faa9941b65d2ad406d119dd92c5f13e7 httpclient: update to revision 9517a2b56fe9 of httpplus (issue3905) Includes upstream change "socketutil: force SSLv3 by default, as it is safer" which should fix issue 3905. diff -r 60e060f4faa9 -r 42fcb2f7787d mercurial/httpclient/__init__.py --- a/mercurial/httpclient/__init__.py Sat May 11 20:40:15 2013 -0500 +++ b/mercurial/httpclient/__init__.py Wed Jul 24 14:45:29 2013 -0400 @@ -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 -r 60e060f4faa9 -r 42fcb2f7787d mercurial/httpclient/socketutil.py --- a/mercurial/httpclient/socketutil.py Sat May 11 20:40:15 2013 -0500 +++ b/mercurial/httpclient/socketutil.py Wed Jul 24 14:45:29 2013 -0400 @@ -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."""