From 3b8d7fddf7c3ada9d63acde216731c695f726c27 Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Sun, 15 Nov 2009 12:58:50 +0000 Subject: Client certificate ENG file type requires OpenSSL 0.9.7 or newer --- lib/ssluse.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/ssluse.c b/lib/ssluse.c index 6cf260573..ff043c651 100644 --- a/lib/ssluse.c +++ b/lib/ssluse.c @@ -364,7 +364,7 @@ int cert_stuff(struct connectdata *conn, } break; case SSL_FILETYPE_ENGINE: -#ifdef HAVE_OPENSSL_ENGINE_H +#if defined(HAVE_OPENSSL_ENGINE_H) && defined(ENGINE_CTRL_GET_CMD_FROM_NAME) { if(data->state.engine) { const char *cmd_name = "LOAD_CERT_CTRL"; @@ -376,14 +376,13 @@ int cert_stuff(struct connectdata *conn, params.cert_id = cert_file; params.cert = NULL; -#ifdef ENGINE_CTRL_GET_CMD_FROM_NAME /* Does the engine supports LOAD_CERT_CTRL ? */ if (!ENGINE_ctrl(data->state.engine, ENGINE_CTRL_GET_CMD_FROM_NAME, 0, (void *)cmd_name, NULL)) { failf(data, "ssl engine does not support loading certificates"); return 0; } -#endif + /* Load the certificate from the engine */ if (!ENGINE_ctrl_cmd(data->state.engine, cmd_name, 0, ¶ms, NULL, 1)) { -- cgit v1.2.3