If an application supports static locks, it MUST support dynamic locks as
well to be able to use the CHIL engine. PR: 281
This commit is contained in:
parent
ced621e3c2
commit
38d6e4bb50
@ -559,8 +559,9 @@ static int hwcrhk_init(ENGINE *e)
|
|||||||
|
|
||||||
/* Check if the application decided to support dynamic locks,
|
/* Check if the application decided to support dynamic locks,
|
||||||
and if it does, use them. */
|
and if it does, use them. */
|
||||||
if (disable_mutex_callbacks == 0 &&
|
if (disable_mutex_callbacks == 0)
|
||||||
CRYPTO_get_dynlock_create_callback() != NULL &&
|
{
|
||||||
|
if (CRYPTO_get_dynlock_create_callback() != NULL &&
|
||||||
CRYPTO_get_dynlock_lock_callback() != NULL &&
|
CRYPTO_get_dynlock_lock_callback() != NULL &&
|
||||||
CRYPTO_get_dynlock_destroy_callback() != NULL)
|
CRYPTO_get_dynlock_destroy_callback() != NULL)
|
||||||
{
|
{
|
||||||
@ -569,6 +570,13 @@ 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
|
||||||
* accelerator! */
|
* accelerator! */
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* hw_ncipher_err.c */
|
/* e_ncipher_err.c */
|
||||||
/* ====================================================================
|
/* ====================================================================
|
||||||
* Copyright (c) 1999 The OpenSSL Project. All rights reserved.
|
* Copyright (c) 1999-2002 The OpenSSL Project. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
@ -86,6 +86,7 @@ static ERR_STRING_DATA HWCRHK_str_reasons[]=
|
|||||||
{HWCRHK_R_CHIL_ERROR ,"chil error"},
|
{HWCRHK_R_CHIL_ERROR ,"chil error"},
|
||||||
{HWCRHK_R_CTRL_COMMAND_NOT_IMPLEMENTED ,"ctrl command not implemented"},
|
{HWCRHK_R_CTRL_COMMAND_NOT_IMPLEMENTED ,"ctrl command not implemented"},
|
||||||
{HWCRHK_R_DSO_FAILURE ,"dso failure"},
|
{HWCRHK_R_DSO_FAILURE ,"dso failure"},
|
||||||
|
{HWCRHK_R_LOCKING_MISSING ,"locking missing"},
|
||||||
{HWCRHK_R_MISSING_KEY_COMPONENTS ,"missing key components"},
|
{HWCRHK_R_MISSING_KEY_COMPONENTS ,"missing key components"},
|
||||||
{HWCRHK_R_NOT_INITIALISED ,"not initialised"},
|
{HWCRHK_R_NOT_INITIALISED ,"not initialised"},
|
||||||
{HWCRHK_R_NOT_LOADED ,"not loaded"},
|
{HWCRHK_R_NOT_LOADED ,"not loaded"},
|
||||||
|
@ -84,6 +84,7 @@ 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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user