projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add support for client cert engine setting in s_client app.
[openssl.git]
/
crypto
/
engine
/
eng_lib.c
diff --git
a/crypto/engine/eng_lib.c
b/crypto/engine/eng_lib.c
index a66d0f08af26d8293aa768897138fb0a2f2ff365..18a66646458a9aa033abfdde32ce936229f75f57 100644
(file)
--- a/
crypto/engine/eng_lib.c
+++ b/
crypto/engine/eng_lib.c
@@
-56,11
+56,8
@@
*
*/
*
*/
-#include <openssl/crypto.h>
-#include "cryptlib.h"
#include "eng_int.h"
#include "eng_int.h"
-#include <openssl/rand.h> /* FIXME: This shouldn't be needed */
-#include <openssl/engine.h>
+#include <openssl/rand.h>
/* The "new"/"free" stuff first */
/* The "new"/"free" stuff first */
@@
-92,6
+89,7
@@
void engine_set_all_null(ENGINE *e)
e->dsa_meth = NULL;
e->dh_meth = NULL;
e->rand_meth = NULL;
e->dsa_meth = NULL;
e->dh_meth = NULL;
e->rand_meth = NULL;
+ e->store_meth = NULL;
e->ciphers = NULL;
e->digests = NULL;
e->destroy = NULL;
e->ciphers = NULL;
e->digests = NULL;
e->destroy = NULL;
@@
-110,7
+108,7
@@
int engine_free_util(ENGINE *e, int locked)
if(e == NULL)
{
if(e == NULL)
{
- ENGINEerr(ENGINE_F_ENGINE_FREE,
+ ENGINEerr(ENGINE_F_ENGINE_FREE
_UTIL
,
ERR_R_PASSED_NULL_PARAMETER);
return 0;
}
ERR_R_PASSED_NULL_PARAMETER);
return 0;
}
@@
-127,6
+125,9
@@
int engine_free_util(ENGINE *e, int locked)
abort();
}
#endif
abort();
}
#endif
+ /* Free up any dynamically allocated public key methods */
+ engine_pkey_meths_free(e);
+ engine_pkey_asn1_meths_free(e);
/* Give the ENGINE a chance to do any structural cleanup corresponding
* to allocation it did in its constructor (eg. unload error strings) */
if(e->destroy)
/* Give the ENGINE a chance to do any structural cleanup corresponding
* to allocation it did in its constructor (eg. unload error strings) */
if(e->destroy)
@@
-319,3
+320,13
@@
const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e)
{
return e->cmd_defns;
}
{
return e->cmd_defns;
}
+
+/* eng_lib.o is pretty much linked into anything that touches ENGINE already, so
+ * put the "static_state" hack here. */
+
+static int internal_static_hack = 0;
+
+void *ENGINE_get_static_state(void)
+ {
+ return &internal_static_hack;
+ }