Handle differences between engine IDs and their dynamic library names (and
authorGeoff Thorpe <geoff@openssl.org>
Wed, 25 May 2005 02:54:28 +0000 (02:54 +0000)
committerGeoff Thorpe <geoff@openssl.org>
Wed, 25 May 2005 02:54:28 +0000 (02:54 +0000)
source files, for that matter) by tolerating the alternatives. It would be
preferable to also change the generated shared library names, but that will
be taken up separately.

engines/e_4758_cca.c
engines/e_ncipher.c

index 685a6804c55404967435cd1e90c067bcc4c011de..d01a037835d85e24ad505048364b37629085612f 100644 (file)
@@ -202,6 +202,8 @@ static RAND_METHOD ibm_4758_cca_rand =
 
 static const char *engine_4758_cca_id = "4758cca";
 static const char *engine_4758_cca_name = "IBM 4758 CCA hardware engine support";
+/* Compatibility hack, the dynamic library uses this form in the path */
+static const char *engine_4758_cca_id_alt = "4758_cca";
 
 /* engine implementation */
 /*-----------------------*/
@@ -958,7 +960,8 @@ static void cca_ex_free(void *obj, void *item, CRYPTO_EX_DATA *ad, int idx,
 #ifndef OPENSSL_NO_DYNAMIC_ENGINE 
 static int bind_fn(ENGINE *e, const char *id)
        {
-       if(id && (strcmp(id, engine_4758_cca_id) != 0))
+       if(id && (strcmp(id, engine_4758_cca_id) != 0) &&
+                       (strcmp(id, engine_4758_cca_id_alt) != 0))
                return 0;
        if(!bind_helper(e))
                return 0;
index b5f054bb865795f9fa13e87b24d735c70bf6bedf..11ae5aec821cd8c6f14fb02b8f9641c716b8ddcb 100644 (file)
@@ -224,6 +224,8 @@ static RAND_METHOD hwcrhk_rand =
 /* Constants used when creating the ENGINE */
 static const char *engine_hwcrhk_id = "chil";
 static const char *engine_hwcrhk_name = "nCipher hardware engine support";
+/* Compatibility hack, the dynamic library uses this form in the path */
+static const char *engine_hwcrhk_id_alt = "ncipher";
 
 /* Internal stuff for HWCryptoHook */
 
@@ -1343,7 +1345,8 @@ static void hwcrhk_log_message(void *logstr, const char *message)
 #ifndef OPENSSL_NO_DYNAMIC_ENGINE
 static int bind_fn(ENGINE *e, const char *id)
        {
-       if(id && (strcmp(id, engine_hwcrhk_id) != 0))
+       if(id && (strcmp(id, engine_hwcrhk_id) != 0) &&
+                       (strcmp(id, engine_hwcrhk_id_alt) != 0))
                return 0;
        if(!bind_helper(e))
                return 0;