# see INSTALL for instructions.
-my $usage="Usage: Configure [no-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [hw-xxx] [rsaref] [no-threads] [no-asm] [no-dso] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] os/compiler[:flags]\n";
+my $usage="Usage: Configure [no-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx] [rsaref] [no-threads] [no-asm] [no-dso] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] os/compiler[:flags]\n";
# Options:
#
# default). This needn't be set in advance, you can
# just as well use "make INSTALL_PREFIX=/whatever install".
#
-# hw-xxx compile support for specific crypto hardware. Generic
-# OpenSSL-style methods relating to this support are
-# always compiled but return NULL if the hardware support
-# isn't compiled. Currently, hw-cswift is the only support
-# of this form.
+# no-hw-xxx do not compile support for specific crypto hardware.
+# Generic OpenSSL-style methods relating to this support
+# are always compiled but return NULL if the hardware
+# support isn't compiled.
# rsaref use RSAref
# [no-]threads [don't] try to create a library that is suitable for
# multithreaded applications (default is "threads" if we
$openssl_algorithm_defines .= "#define NO_MDC2\n";
}
}
- elsif (/^hw-(.+)$/)
+ elsif (/^no-hw-(.+)$/)
{
my $hw=$1;
$hw =~ tr/[a-z]/[A-Z]/;
- $flags .= "-DHW_$hw ";
- $openssl_other_defines .= "#define HW_$hw\n";
+ $flags .= "-DNO_HW_$hw ";
+ $openssl_other_defines .= "#define NO_HW_$hw\n";
}
elsif (/^386$/)
{ $processor=386; }
/* Returns a structure of software only methods (the default). */
ENGINE *ENGINE_openssl();
-#ifdef HW_CSWIFT
+#ifndef NO_HW_CSWIFT
/* Returns a structure of cswift methods ... NB: This can exist and be
* "used" even on non-cswift systems because the "init" will fail if the
* card/library are not found. */
ENGINE *ENGINE_cswift();
-#endif /* HW_CSWIFT */
+#endif /* !NO_HW_CSWIFT */
-#ifdef HW_NCIPHER
+#ifndef NO_HW_NCIPHER
ENGINE *ENGINE_ncipher();
-#endif /* HW_NCIPHER */
+#endif /* !NO_HW_NCIPHER */
-#ifdef HW_ATALLA
+#ifndef NO_HW_ATALLA
/* Returns a structure of atalla methods. */
ENGINE *ENGINE_atalla();
-#endif /* HW_ATALLA */
+#endif /* !NO_HW_ATALLA */
#ifdef __cplusplus
}
* with our statically compiled-in engines. */
if(!engine_list_add(ENGINE_openssl()))
return 0;
-#ifdef HW_CSWIFT
+#ifndef NO_HW_CSWIFT
if(!engine_list_add(ENGINE_cswift()))
return 0;
-#endif /* HW_CSWIFT */
-#ifdef HW_NCIPHER
+#endif /* !NO_HW_CSWIFT */
+#ifndef NO_HW_NCIPHER
if(!engine_list_add(ENGINE_ncipher()))
return 0;
-#endif /* HW_CSWIFT */
-#ifdef HW_ATALLA
+#endif /* !NO_HW_NCIPHER */
+#ifndef NO_HW_ATALLA
if(!engine_list_add(ENGINE_atalla()))
return 0;
-#endif /* HW_CSWIFT */
+#endif /* !NO_HW_ATALLA */
engine_list_flag = 1;
return 1;
}
#include "engine_int.h"
#include <openssl/engine.h>
-#ifdef HW_ATALLA
+#ifndef NO_HW_ATALLA
#include "vendor_defns/atalla.h"
NULL,
atalla_init,
atalla_finish,
+ NULL, /* no ctrl() */
0, /* no flags */
0, 0, /* no references */
NULL, NULL /* unlinked */
return atalla_mod_exp(r, a, p, m, ctx);
}
-#endif /* HW_ATALLA */
+#endif /* !NO_HW_ATALLA */
#include "engine_int.h"
#include <openssl/engine.h>
-#ifdef HW_CSWIFT
+#ifndef NO_HW_CSWIFT
/* Attribution notice: Rainbow have generously allowed me to reproduce
* the necessary definitions here from their API. This means the support
return cswift_mod_exp(r, a, p, m, ctx);
}
-#endif /* HW_CSWIFT */
-
+#endif /* !NO_HW_CSWIFT */
#include "engine_int.h"
#include <openssl/engine.h>
-#ifdef HW_NCIPHER
+#ifndef NO_HW_NCIPHER
/* Attribution notice: nCipher har said several times that it's OK for
* us to implement a general interface to their boxes, and recently declared
switch(cmd)
{
case ENGINE_CTRL_SET_LOGSTREAM:
+ {
+ BIO *bio = (BIO *)p;
+
if (logstream)
{
BIO_free(logstream);
logstream = NULL;
}
if (CRYPTO_add(&bio->references,1,CRYPTO_LOCK_BIO) > 1)
- logstream = (BIO *)p;
+ logstream = bio;
else
ENGINEerr(ENGINE_F_HWCRHK_CTRL,ENGINE_R_BIO_WAS_FREED);
+ }
break;
default:
ENGINEerr(ENGINE_F_HWCRHK_CTRL,
CRYPTO_w_unlock(CRYPTO_LOCK_BIO);
}
-#endif /* HW_NCIPHER */
-
+#endif /* !NO_HW_NCIPHER */