summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2013-12-07 06:18:04 +0200
committerMatěj Cepl <mcepl@cepl.eu>2015-10-13 15:23:20 +0200
commitd7d233d46b6f23d571b226181aa2d71d4b117f7a (patch)
tree1a4032c1112f2b4ec26682451490a614c03fd213
parentd78d60f33e012ae2e3ee7a04a6bcb494bb72ee6b (diff)
downloadm2crypto-d7d233d46b6f23d571b226181aa2d71d4b117f7a.tar.gz
Fix incorrect exception type raised when in FIPS mode
When in FIPS mode M2Crypto when using disallowed version of SSL returned a rather non-sensical TypeError exception. This patches changes it to M2Crypto.SSL.SSLError: null ssl method passed See https://bugzilla.redhat.com/show_bug.cgi?id=879043 for more information.
-rw-r--r--SWIG/_ssl.i12
1 files changed, 12 insertions, 0 deletions
diff --git a/SWIG/_ssl.i b/SWIG/_ssl.i
index 7ff9455..d641ae1 100644
--- a/SWIG/_ssl.i
+++ b/SWIG/_ssl.i
@@ -60,8 +60,20 @@ extern SSL_METHOD *SSLv23_method(void);
%rename(tlsv1_method) TLSv1_method;
extern SSL_METHOD *TLSv1_method(void);
+%typemap(out) SSL_CTX * {
+ PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
+
+ if ($1 != NULL)
+ $result = SWIG_NewPointerObj($1, $1_descriptor, 0);
+ else {
+ PyErr_SetString(_ssl_err, ERR_reason_error_string(ERR_get_error()));
+ $result = NULL;
+ }
+}
%rename(ssl_ctx_new) SSL_CTX_new;
extern SSL_CTX *SSL_CTX_new(SSL_METHOD *);
+%typemap(out) SSL_CTX *;
+
%rename(ssl_ctx_free) SSL_CTX_free;
extern void SSL_CTX_free(SSL_CTX *);
%rename(ssl_ctx_set_verify_depth) SSL_CTX_set_verify_depth;