1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 23:58:49 -05:00

This fix MIGHT make us build nicely with OpenSSL 0.9.7. This fix is based

on a patch from Jacob Meuser, input from Gtz Babin-Ebell and my own
browsing of the latest include files.
This commit is contained in:
Daniel Stenberg 2002-06-10 12:38:10 +00:00
parent d866716565
commit 8b77f40f99

View File

@ -55,6 +55,15 @@
#undef HAVE_USERDATA_IN_PWD_CALLBACK #undef HAVE_USERDATA_IN_PWD_CALLBACK
#endif #endif
#if OPENSSL_VERSION_NUMBER >= 0x00907001L
/* ENGINE_load_private_key() takes four arguments */
#define HAVE_ENGINE_LOAD_FOUR_ARGS
#else
/* ENGINE_load_private_key() takes three arguments */
#undef HAVE_ENGINE_LOAD_FOUR_ARGS
#endif
#ifndef HAVE_USERDATA_IN_PWD_CALLBACK #ifndef HAVE_USERDATA_IN_PWD_CALLBACK
static char global_passwd[64]; static char global_passwd[64];
#endif #endif
@ -275,11 +284,17 @@ int cert_stuff(struct connectdata *conn,
{ /* XXXX still needs some work */ { /* XXXX still needs some work */
EVP_PKEY *priv_key = NULL; EVP_PKEY *priv_key = NULL;
if (conn && conn->data && conn->data->engine) { if (conn && conn->data && conn->data->engine) {
#ifdef HAVE_ENGINE_LOAD_FOUR_ARGS
UI_METHOD *ui_method = UI_OpenSSL();
#endif
if (!key_file || !key_file[0]) { if (!key_file || !key_file[0]) {
failf(data, "no key set to load from crypto engine\n"); failf(data, "no key set to load from crypto engine\n");
return 0; return 0;
} }
priv_key = ENGINE_load_private_key(conn->data->engine,key_file, priv_key = ENGINE_load_private_key(conn->data->engine,key_file,
#ifdef HAVE_ENGINE_LOAD_FOUR_ARGS
ui_method,
#endif
data->set.key_passwd); data->set.key_passwd);
if (!priv_key) { if (!priv_key) {
failf(data, "failed to load private key from crypto engine\n"); failf(data, "failed to load private key from crypto engine\n");