Apply patch from Toomas Kiisk <vix@cyber.ee> and complete it.
diff --git a/CHANGES b/CHANGES index 38dc3dc..42c32dc 100644 --- a/CHANGES +++ b/CHANGES
@@ -12,6 +12,10 @@ *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7 +) applies to 0.9.7 only + +) Have the CHIL engine fork-safe (as defined by nCipher) and actually + make the newer ENGINE framework commands for the CHIL engine work. + [Toomas Kiisk <vix@cyber.ee> and Richard Levitte] + +) Make it possible to produce shared libraries on ReliantUNIX. [Robert Dahlem <Robert.Dahlem@ffm2.siemens.de> via Richard Levitte]
diff --git a/apps/speed.c b/apps/speed.c index 08d00be..1d62c8b 100644 --- a/apps/speed.c +++ b/apps/speed.c
@@ -353,7 +353,7 @@ int MAIN(int argc, char **argv) { - ENGINE *e; + ENGINE *e = NULL; unsigned char *buf=NULL,*buf2=NULL; int mret=1; long count=0,save_count=0;
diff --git a/crypto/engine/hw_ncipher.c b/crypto/engine/hw_ncipher.c index e3ce534..8d86ce2 100644 --- a/crypto/engine/hw_ncipher.c +++ b/crypto/engine/hw_ncipher.c
@@ -357,7 +357,7 @@ /* Stuff to pass to the HWCryptoHook library */ static HWCryptoHook_InitInfo hwcrhk_globals = { - 0, /* Flags */ + HWCryptoHook_InitFlags_SimpleForkCheck, /* Flags */ &logstream, /* logstream */ sizeof(BN_ULONG), /* limbsize */ 0, /* mslimb first: false for BNs */ @@ -741,11 +741,13 @@ CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); break; case ENGINE_CTRL_SET_USER_INTERFACE: + case HWCRHK_CMD_SET_USER_INTERFACE: CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); password_context.ui_method = (UI_METHOD *)p; CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); break; case ENGINE_CTRL_SET_CALLBACK_DATA: + case HWCRHK_CMD_SET_CALLBACK_DATA: CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); password_context.callback_data = p; CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);