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:
parent
d866716565
commit
8b77f40f99
15
lib/ssluse.c
15
lib/ssluse.c
@ -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");
|
||||||
|
Loading…
Reference in New Issue
Block a user