Fix (hopefully) the remaining test_ssl buildbot failures

This commit is contained in:
Antoine Pitrou 2010-05-16 19:56:32 +00:00
parent 467f28de03
commit 65ec8ae47f
2 changed files with 6 additions and 2 deletions

View File

@ -142,7 +142,7 @@ class BasicSocketTests(unittest.TestCase):
# Error checking can happen at instantiation or when connecting
with self.assertRaisesRegexp(ssl.SSLError, "No cipher can be selected"):
s = ssl.wrap_socket(socket.socket(socket.AF_INET),
cert_reqs=ssl.CERT_NONE, ciphers="^$:,;?*'dorothyx")
cert_reqs=ssl.CERT_NONE, ciphers="xyzzy")
s.connect(remote)
@support.cpython_only
@ -186,7 +186,7 @@ class ContextTests(unittest.TestCase):
ctx.set_ciphers("ALL")
ctx.set_ciphers("DEFAULT")
with self.assertRaisesRegexp(ssl.SSLError, "No cipher can be selected"):
ctx.set_ciphers("^$:,;?*'dorothyx")
ctx.set_ciphers("xyzzy")
def test_verify(self):
ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)

View File

@ -1462,6 +1462,10 @@ set_ciphers(PySSLContext *self, PyObject *args)
return NULL;
ret = SSL_CTX_set_cipher_list(self->ctx, cipherlist);
if (ret == 0) {
/* Clearing the error queue is necessary on some OpenSSL versions,
otherwise the error will be reported again when another SSL call
is done. */
ERR_clear_error();
PyErr_SetString(PySSLErrorObject,
"No cipher can be selected.");
return NULL;