Stop symlinking, move files to intended directory Rather than making include/openssl/foo.h a symlink to crypto/foo/foo.h, this change moves the file to include/openssl/foo.h once and for all. Likewise, move crypto/foo/footest.c to test/footest.c, instead of symlinking it there. Originally-by: Geoff Thorpe <geoff@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
Run util/openssl-format-source -v -c . Reviewed-by: Tim Hudson <tjh@openssl.org>
Version skew reduction: trivia (I hope).
Include openssl/crypto.h first in several other files so FIPS renaming is picked up.
Make no-engine work again.
Remove the dual-callback scheme for numeric and pointer thread IDs, deprecate the original (numeric-only) scheme, and replace with the CRYPTO_THREADID object. This hides the platform-specifics and should reduce the possibility for programming errors (where failing to explicitly check both thread ID forms could create subtle, platform-specific bugs). Thanks to Bodo, for invaluable review and feedback.
Revert my earlier CRYPTO_THREADID commit, I will commit a reworked version some time soon.
There was a need to support thread ID types that couldn't be reliably cast to 'unsigned long' (ie. odd platforms/compilers), so a pointer-typed version was added but it required portable code to check *both* modes to determine equality. This commit maintains the availability of both thread ID types, but deprecates the type-specific accessor APIs that invoke the callbacks - instead a single type-independent API is used. This simplifies software that calls into this interface, and should also make it less error-prone - as forgetting to call and compare *both* thread ID accessors could have led to hard-to-debug/infrequent bugs (that might only affect certain platforms or thread implementations). As the CHANGES note says, there were corresponding deprecations and replacements in the thread-related functions for BN_BLINDING and ERR too.
Give everything prototypes (well, everything that's actually used).
Add the possibility to build without the ENGINE framework. PR: 287
Windows CE updates, contributed by Steven Reddie <smr@essemer.com.au>
WinCE patches
fix memory leak Submitted by: Nils Larsch
This change replaces the ENGINE's underlying mechanics with the new 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.
Some of the ENGINE file names were changed for 8.3 filename uniqueness recently. So comments including file names have been fixed, and copyright notices brought up to "2001" at the same time.
enginetest needs 'memset' defined.
avoid warning ('const' discarded)
Delete pointless casts
Avoid strdup. (Some platforms need _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED to get the declaration, but on other platforms _XOPEN_SOURCE disables the strdup declaration in <string.h>.)
Solaris <string.h> does not declare 'strdup' if _XOPEN_SOURCE is defined. (Preprocessor symbols such as _POSIX_C_SOURCE or _XOPEN_SOURCE are supposed to disable anything not allowed by the respective specification; I'm not sure why 'strdup' would be considered an outlaw though.)