Allow the CHIL engine to load even if dynamic locks aren't registered.

Submitted by: Sander Temme
This commit is contained in:
Geoff Thorpe
2008-11-19 14:08:06 +00:00
parent 5aa032033e
commit bfc6482a7a
4 changed files with 5 additions and 8 deletions

View File

@@ -4,6 +4,11 @@
Changes between 0.9.8i and 0.9.8j [xx XXX xxxx] Changes between 0.9.8i and 0.9.8j [xx XXX xxxx]
*) Allow the CHIL engine to be loaded, whether the application is
multithreaded or not. (This does not release the developer from the
obligation to set up the dynamic locking callbacks.)
[Sander Temme <sander@temme.net>]
*) Update Configure code and WIN32 build scripts to support experimental *) Update Configure code and WIN32 build scripts to support experimental
code. This is surrounded by OPENSSL_EXPERIMENTAL_FOO and not compiled code. This is surrounded by OPENSSL_EXPERIMENTAL_FOO and not compiled
in by default. Using the configuration option "enable-experimental-foo" in by default. Using the configuration option "enable-experimental-foo"

View File

@@ -589,12 +589,6 @@ static int hwcrhk_init(ENGINE *e)
hwcrhk_globals.mutex_release = hwcrhk_mutex_unlock; hwcrhk_globals.mutex_release = hwcrhk_mutex_unlock;
hwcrhk_globals.mutex_destroy = hwcrhk_mutex_destroy; hwcrhk_globals.mutex_destroy = hwcrhk_mutex_destroy;
} }
else if (CRYPTO_get_locking_callback() != NULL)
{
HWCRHKerr(HWCRHK_F_HWCRHK_INIT,HWCRHK_R_LOCKING_MISSING);
ERR_add_error_data(1,"You HAVE to add dynamic locking callbacks via CRYPTO_set_dynlock_{create,lock,destroy}_callback()");
goto err;
}
} }
/* Try and get a context - if not, we may have a DSO but no /* Try and get a context - if not, we may have a DSO but no

View File

@@ -90,7 +90,6 @@ static ERR_STRING_DATA HWCRHK_str_reasons[]=
{ERR_REASON(HWCRHK_R_CHIL_ERROR) ,"chil error"}, {ERR_REASON(HWCRHK_R_CHIL_ERROR) ,"chil error"},
{ERR_REASON(HWCRHK_R_CTRL_COMMAND_NOT_IMPLEMENTED),"ctrl command not implemented"}, {ERR_REASON(HWCRHK_R_CTRL_COMMAND_NOT_IMPLEMENTED),"ctrl command not implemented"},
{ERR_REASON(HWCRHK_R_DSO_FAILURE) ,"dso failure"}, {ERR_REASON(HWCRHK_R_DSO_FAILURE) ,"dso failure"},
{ERR_REASON(HWCRHK_R_LOCKING_MISSING) ,"locking missing"},
{ERR_REASON(HWCRHK_R_MISSING_KEY_COMPONENTS),"missing key components"}, {ERR_REASON(HWCRHK_R_MISSING_KEY_COMPONENTS),"missing key components"},
{ERR_REASON(HWCRHK_R_NOT_INITIALISED) ,"not initialised"}, {ERR_REASON(HWCRHK_R_NOT_INITIALISED) ,"not initialised"},
{ERR_REASON(HWCRHK_R_NOT_LOADED) ,"not loaded"}, {ERR_REASON(HWCRHK_R_NOT_LOADED) ,"not loaded"},

View File

@@ -88,7 +88,6 @@ static void ERR_HWCRHK_error(int function, int reason, char *file, int line);
#define HWCRHK_R_CHIL_ERROR 102 #define HWCRHK_R_CHIL_ERROR 102
#define HWCRHK_R_CTRL_COMMAND_NOT_IMPLEMENTED 103 #define HWCRHK_R_CTRL_COMMAND_NOT_IMPLEMENTED 103
#define HWCRHK_R_DSO_FAILURE 104 #define HWCRHK_R_DSO_FAILURE 104
#define HWCRHK_R_LOCKING_MISSING 114
#define HWCRHK_R_MISSING_KEY_COMPONENTS 105 #define HWCRHK_R_MISSING_KEY_COMPONENTS 105
#define HWCRHK_R_NOT_INITIALISED 106 #define HWCRHK_R_NOT_INITIALISED 106
#define HWCRHK_R_NOT_LOADED 107 #define HWCRHK_R_NOT_LOADED 107