summaryrefslogtreecommitdiffstats
path: root/crypto/engine/eng_lib.c
AgeCommit message (Collapse)Author
2006-06-05Complete EVP_PKEY_ASN1_METHOD ENGINE support.Dr. Stephen Henson
2006-06-02Automatically free up dynamically allocated public key methods whenDr. Stephen Henson
and ENGINE is destroyed.
2005-05-11Fix more error codes.Bodo Möller
(Also improve util/ck_errf.pl script, and occasionally fix source code formatting.)
2004-04-19(oops) Apologies all, that last header-cleanup commit was from the wrongGeoff Thorpe
tree. This further reduces header interdependencies, and makes some associated cleanups.
2003-05-01Add STORE support in ENGINE.Richard Levitte
2002-10-18If dynamically-loadable ENGINEs are linked against a shared-library versionGeoff Thorpe
of libcrypto, then it is possible that when they are loaded they will share the same static data as the loading application/library. This means it will be too late to set memory/ERR/ex_data/[etc] callbacks, but entirely unnecessary to try. This change puts a static variable in the core ENGINE code (contained in libcrypto) and a function returning a pointer to it. If the loaded ENGINE's return value from this function matches the loading application/library's return value - they share static data. If they don't match, the loaded ENGINE has its own copy of libcrypto's static data and so the callbacks need to be set. Also, although 0.9.7 hasn't been released yet, it's clear this will introduce a binary incompatibility between dynamic ENGINEs built for 0.9.7 and 0.9.8 (though others probably exist already from EC_*** hooks and what-not) - so the version control values are correspondingly bumped.
2001-11-22When the "dynamic" ENGINE loads another ENGINE from a shared-library, itGeoff Thorpe
essentially overwrites itself with the new ENGINE, with the exception of reference counts, ex_data structures, and other 'admin' elements. However if the new ENGINE doesn't populate certain elements, there's the risk of the "dynamic" ENGINE's elements showing through - the "cmd_defns" were just one of the possibilities. This implements a more comprehensive cleanup.
2001-10-01Woopsie...Richard Levitte
2001-10-01sk_ENGINE_CLEANUP_ITEM_pop_free() is duplicated in ENGINE_cleanup().Richard Levitte
Let's use sk_ENGINE_CLEANUP_ITEM_pop_free() instead.
2001-10-01The STACK macros take care of casting to and from the designated item typeGeoff Thorpe
of the stack, and the (void *) type used in the underlying sk_*** functions. However, declaring a STACK_OF(type) where type is a *function* type implicitly involves casts between function pointers and data pointers. That's a no-no. This changes the ENGINE_CLEANUP handling to use a regular data type in the stack.
2001-09-25This change replaces the ENGINE's underlying mechanics with the newGeoff Thorpe
ENGINE_TABLE-based stuff - as described in crypto/engine/README. Associated miscellaneous changes; - the previous cipher/digest hooks that hardwired directly to EVP's OBJ_NAME-based storage have been backed out. New cipher/digest support has been constructed and will be committed shortly. - each implementation defines its own ENGINE_load_<name> function now. - the "openssl" ENGINE isn't needed or loaded any more. - core (not algorithm or class specific) ENGINE code has been split into multiple files to increase readability and decrease linker bloat. - ENGINE_cpy() has been removed as it wasn't really a good idea in the first place and now, because of registration issues, can't be meaningfully defined any more. - BN_MOD_EXP[_CRT] support is removed as per the README. - a bug in enginetest.c has been fixed. NB: This commit almost certainly breaks compilation until subsequent changes are committed.
2001-09-14Some of the ENGINE file names were changed for 8.3 filename uniquenessGeoff Thorpe
recently. So comments including file names have been fixed, and copyright notices brought up to "2001" at the same time.
2001-09-07make engine file names unique in 8.3Ulf Möller