Mercurial > public > mercurial-scm > hg
comparison mercurial/httpclient/socketutil.py @ 14990:494b26ad8736 stable
httpclient: import ca33b88d143c from py-nonblocking-http (issue2932)
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Fri, 29 Jul 2011 12:46:45 -0500 |
parents | 861f28212398 |
children | f614543733b6 |
comparison
equal
deleted
inserted
replaced
14989:9e9d4a762586 | 14990:494b26ad8736 |
---|---|
76 if ssl: | 76 if ssl: |
77 wrap_socket = ssl.wrap_socket | 77 wrap_socket = ssl.wrap_socket |
78 CERT_NONE = ssl.CERT_NONE | 78 CERT_NONE = ssl.CERT_NONE |
79 CERT_OPTIONAL = ssl.CERT_OPTIONAL | 79 CERT_OPTIONAL = ssl.CERT_OPTIONAL |
80 CERT_REQUIRED = ssl.CERT_REQUIRED | 80 CERT_REQUIRED = ssl.CERT_REQUIRED |
81 PROTOCOL_SSLv2 = ssl.PROTOCOL_SSLv2 | |
82 PROTOCOL_SSLv3 = ssl.PROTOCOL_SSLv3 | |
83 PROTOCOL_SSLv23 = ssl.PROTOCOL_SSLv23 | |
84 PROTOCOL_TLSv1 = ssl.PROTOCOL_TLSv1 | |
85 else: | 81 else: |
86 class FakeSocket(httplib.FakeSocket): | 82 class FakeSocket(httplib.FakeSocket): |
87 """Socket wrapper that supports SSL. | 83 """Socket wrapper that supports SSL. |
88 """ | 84 """ |
89 # backport the behavior from Python 2.6, which is to busy wait | 85 # backport the behavior from Python 2.6, which is to busy wait |
103 if x.args[0] == socket.SSL_ERROR_WANT_READ: | 99 if x.args[0] == socket.SSL_ERROR_WANT_READ: |
104 continue | 100 continue |
105 else: | 101 else: |
106 raise x | 102 raise x |
107 | 103 |
108 PROTOCOL_SSLv2 = 0 | 104 _PROTOCOL_SSLv23 = 2 |
109 PROTOCOL_SSLv3 = 1 | |
110 PROTOCOL_SSLv23 = 2 | |
111 PROTOCOL_TLSv1 = 3 | |
112 | 105 |
113 CERT_NONE = 0 | 106 CERT_NONE = 0 |
114 CERT_OPTIONAL = 1 | 107 CERT_OPTIONAL = 1 |
115 CERT_REQUIRED = 2 | 108 CERT_REQUIRED = 2 |
116 | 109 |
117 def wrap_socket(sock, keyfile=None, certfile=None, | 110 def wrap_socket(sock, keyfile=None, certfile=None, |
118 server_side=False, cert_reqs=CERT_NONE, | 111 server_side=False, cert_reqs=CERT_NONE, |
119 ssl_version=PROTOCOL_SSLv23, ca_certs=None, | 112 ssl_version=_PROTOCOL_SSLv23, ca_certs=None, |
120 do_handshake_on_connect=True, | 113 do_handshake_on_connect=True, |
121 suppress_ragged_eofs=True): | 114 suppress_ragged_eofs=True): |
122 if cert_reqs != CERT_NONE and ca_certs: | 115 if cert_reqs != CERT_NONE and ca_certs: |
123 raise CertificateValidationUnsupported( | 116 raise CertificateValidationUnsupported( |
124 'SSL certificate validation requires the ssl module' | 117 'SSL certificate validation requires the ssl module' |