Fixing compilation of the OpenSSL plugin if ENGINE support is disabled.
authorTobias Brunner <tobias@strongswan.org>
Tue, 22 Jun 2010 09:33:21 +0000 (11:33 +0200)
committerTobias Brunner <tobias@strongswan.org>
Tue, 22 Jun 2010 09:55:34 +0000 (11:55 +0200)
That is, enable compilation if OpenSSL was configured with
OPENSSL_NO_ENGINE.

src/libstrongswan/plugins/openssl/openssl_plugin.c
src/libstrongswan/plugins/openssl/openssl_rsa_private_key.c

index 2a97dbc..31697dc 100644 (file)
  * for more details.
  */
 
-#include <openssl/conf.h>
 #include <openssl/evp.h>
-#include <openssl/engine.h>
+#include <openssl/conf.h>
 #include <openssl/crypto.h>
+#ifndef OPENSSL_NO_ENGINE
+#include <openssl/engine.h>
+#endif
 
 #include "openssl_plugin.h"
 
@@ -200,7 +202,9 @@ static void destroy(private_openssl_plugin_t *this)
        lib->creds->remove_builder(lib->creds,
                                        (builder_function_t)openssl_crl_load);
 
+#ifndef OPENSSL_NO_ENGINE
        ENGINE_cleanup();
+#endif /* OPENSSL_NO_ENGINE */
        EVP_cleanup();
        CONF_modules_free();
 
@@ -223,9 +227,11 @@ plugin_t *openssl_plugin_create()
        OPENSSL_config(NULL);
        OpenSSL_add_all_algorithms();
 
+#ifndef OPENSSL_NO_ENGINE
        /* activate support for hardware accelerators */
        ENGINE_load_builtin_engines();
        ENGINE_register_all_complete();
+#endif /* OPENSSL_NO_ENGINE */
 
        /* crypter */
        lib->crypto->add_crypter(lib->crypto, ENCR_AES_CBC,
index de751fe..9f12384 100644 (file)
@@ -21,7 +21,9 @@
 
 #include <openssl/evp.h>
 #include <openssl/rsa.h>
+#ifndef OPENSSL_NO_ENGINE
 #include <openssl/engine.h>
+#endif /* OPENSSL_NO_ENGINE */
 
 /**
  *  Public exponent to use for key generation.
@@ -447,6 +449,7 @@ openssl_rsa_private_key_t *openssl_rsa_private_key_load(key_type_t type,
 openssl_rsa_private_key_t *openssl_rsa_private_key_connect(key_type_t type,
                                                                                                                   va_list args)
 {
+#ifndef OPENSSL_NO_ENGINE
        private_openssl_rsa_private_key_t *this;
        char *keyid = NULL, *pin = NULL;
        EVP_PKEY *key;
@@ -511,5 +514,8 @@ openssl_rsa_private_key_t *openssl_rsa_private_key_connect(key_type_t type,
        this->engine = TRUE;
 
        return &this->public;
+#else /* OPENSSL_NO_ENGINE */
+       return NULL;
+#endif /* OPENSSL_NO_ENGINE */
 }