diff options
author | Jean-Paul Calderone <exarkun@divmod.com> | 2010-10-31 20:51:17 -0400 |
---|---|---|
committer | Jean-Paul Calderone <exarkun@divmod.com> | 2010-10-31 20:51:17 -0400 |
commit | 305626adb01f260260eeff1e835355296018d019 (patch) | |
tree | eb087735513e277f748afe028393dc5b8933ee85 /OpenSSL/ssl/ssl.c | |
parent | 9389606d9a163692705791b89e8152aad4dd6d24 (diff) | |
download | pyopenssl-305626adb01f260260eeff1e835355296018d019.tar.gz |
Try dynamically loading crypto_X509Name_New on Windows
Diffstat (limited to 'OpenSSL/ssl/ssl.c')
-rw-r--r-- | OpenSSL/ssl/ssl.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/OpenSSL/ssl/ssl.c b/OpenSSL/ssl/ssl.c index 8ac4420..b286b88 100644 --- a/OpenSSL/ssl/ssl.c +++ b/OpenSSL/ssl/ssl.c @@ -73,6 +73,18 @@ PyOpenSSL_MODINIT(SSL) { PyObject *ssl_api_object; import_crypto(); +#else +# ifdef WINDOWS + HMODULE crypto = GetModuleHandle("crypto.pyd"); + if (crypto == NULL) { + PyErr_SetString(PyExc_RuntimeError, "Unable to get crypto module"); + return; + } + + new_x509name = GetProcAddress(crypto, "crypto_X509Name_New"); +# else + new_x509name = crypto_X509Name_New; +# endif #endif SSL_library_init(); |