summaryrefslogtreecommitdiffstats
path: root/util
AgeCommit message (Collapse)Author
2015-11-20Convert __thread to pthreads for Thread Local StorageMatt Caswell
In theory the pthreads approach for Thread Local Storage should be more portable. This also changes some APIs in order to accommodate this change. In particular ASYNC_init_pool is renamed ASYNC_init_thread and ASYNC_free_pool is renamed ASYNC_cleanup_thread. Also introduced ASYNC_init and ASYNC_cleanup. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-11-20Add ASYNC_block_pause and ASYNC_unblock_pauseMatt Caswell
There are potential deadlock situations that can occur if code executing within the context of a job aquires a lock, and then pauses the job. This adds an ability to temporarily block pauses from occuring whilst performing work and holding a lock. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-11-20Remove ASYNC NOEXIST functions from libeay.numMatt Caswell
During development some functions got added and then later taken away. Since these will never appear in a production version there is no reason for them to appear in libeay.num flagged as "NOEXIST". Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-11-20make updateMatt Caswell
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-11-20make updateMatt Caswell
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-11-20Add ASYNC_JOB poolsMatt Caswell
It is expensive to create the ASYNC_JOB objects due to the "makecontext" call. This change adds support for pools of ASYNC_JOB objects so that we don't have to create a new ASYNC_JOB every time we want to use one. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-11-20Use longjmp at setjmp where possibleMatt Caswell
Where we can we should use longjmp and setjmp in preference to swapcontext/ setcontext as they seem to be more performant. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-11-20Async port to windowsMatt Caswell
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-11-20Various windows build fixes to prepare for windows portMatt Caswell
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-11-20Add the Dummy Async engine (dasync)Matt Caswell
This engine is for developers of async aware applications. It simulates asynchronous activity with external hardware. This initial version supports SHA1 and RSA. Certain operations using those algorithms have async job "pauses" in them - using the new libcrypto async capability. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-11-20make updateDr. Stephen Henson
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-11-17make updateRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-11-10Fix SSL_use_certificate_chain_fileMatt Caswell
The new function SSL_use_certificate_chain_file was always crashing in the internal function use_certificate_chain_file because it would pass a NULL value for SSL_CTX *, but use_certificate_chain_file would unconditionally try to dereference it. Reviewed-by: Stephen Henson <steve@openssl.org>
2015-11-05Read function names from C source files.Dr. Stephen Henson
In mkerr.pl read parse functions names in C source files and use them for translation and sanity checks. Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-10-30Replace "SSLeay" in API with OpenSSLRich Salz
All instances of SSLeay (any combination of case) were replaced with the case-equivalent OpenSSL. Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-10-30make updateMatt Caswell
Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-10-30make updateMatt Caswell
Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-10-24Improve make depend.Ben Laurie
Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-10-18Add crypto/include/internal to the directories to scan for stack declarationsRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-10-14make depend: prefer clang over makedependEmilia Kasper
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-10-13Harmonize do_rehash_rule with updated test/recipies/25-test_verify.t.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-10-13Test suite: minimal required to get mingw 'make test' work under Linux.Andy Polyakov
(part by Alessandro Ghedini) Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-10-09Fix Windows buildMatt Caswell
Add the new ct directory to mkfiles.pl and fix the ct Makefile Reviewed-by: Andy Polyakov <appro@openssl.org>
2015-10-08Fix no-ripemd on WindowsMatt Caswell
mkdef.pl was getting confused by: # ifdef OPENSSL_NO_RMD160 # error RIPEMD is disabled. # endif Changing RIPEMD to RMD160 solves it. Fix suggested by Steve Henson. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-10-05Fix make depend for things being built in subdirectoriesRichard Levitte
Some makedepend mechanisms remove all directory information in the target, so a dependency can looks like this: ssl3_record.o: record/ssl3_record.c However, that doesn't quite suit us, our Makefile has us build record/ssl3_record.o rather than ssl3_record.o. To clear this up, a change to util/clean-depend.pl takes care of this case by looking up the original file in the dependencies and restoring the directory information from it. Reviewed-by: Ben Laurie <ben@openssl.org>
2015-09-30Fix libeay.numMatt Caswell
Removed duplicated ordinals from libeay.num Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-09-29Fix no-stdio buildDavid Woodhouse
Much related/similar work also done by Ivan Nestlerode <ivan.nestlerode@sonos.com> +Replace FILE BIO's with dummy ops that fail. +Include <stdio.h> for sscanf() even with no-stdio (since the declaration is there). We rely on sscanf() to parse the OPENSSL_ia32cap environment variable, since it can be larger than a 'long'. And we don't rely on the availability of strtoull(). +Remove OPENSSL_stderr(); not used. +Make OPENSSL_showfatal() do nothing (currently without stdio there's nothing we can do). +Remove file-based functionality from ssl/. The function prototypes were already gone, but not the functions themselves. +Remove unviable conf functionality via SYS_UEFI +Add fallback definition of BUFSIZ. +Remove functions taking FILE * from header files. +Add missing DECLARE_PEM_write_fp_const +Disable X509_LOOKUP_hash_dir(). X509_LOOKUP_file() was already compiled out, so remove its prototype. +Use OPENSSL_showfatal() in CRYPTO_destroy_dynlockid(). +Eliminate SRP_VBASE_init() and supporting functions. Users will need to build the verifier manually instead. +Eliminate compiler warning for unused do_pk8pkey_fp(). +Disable TEST_ENG_OPENSSL_PKEY. +Disable GOST engine as is uses [f]printf all over the place. +Eliminate compiler warning for unused send_fp_chars(). Signed-off-by: Rich Salz <rsalz@akamai.com> Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-09-28Empty NewSessionTicket: test session resumptionEmilia Kasper
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-09-28Empty session ticket: add a testEmilia Kasper
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-09-28Update year in Windows builds.Andy Polyakov
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-09-28Harmonize util/mkrc.pl with header move.Andy Polyakov
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-09-25Add ability to set default CA path and file locations individuallyMatt Caswell
Previously you could only set both the default path and file locations together. This adds the ability to set one without the other. Reviewed-by: Andy Polyakov <appro@openssl.org>
2015-09-22make updateDr. Stephen Henson
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-09-19Fix some test failures when Configured with zlibMatt Caswell
TLSProxy was failing if we are Configured with compression because it doesn't support it. This fix simply switches compression off for the purposes of the test. Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-09-16make updateMatt Caswell
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-09-09RT3992: Make SCT #ifdeffable.David Woodhouse
This code does open-coded division on 64-bit quantities and thus when building with GCC on 32-bit platforms will require functions such as __umoddi3 and __udivdi3 from libgcc. In constrained environments such as firmware, those functions may not be available. So make it possible to compile out SCT support, which in fact (in the case of UEFI) we don't need anyway. Signed-off-by: Rich Salz <rsalz@akamai.com> Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-09-07Adapt mk1mf.pl and helpers to the new testing framework.Richard Levitte
With the new testing framework, building a test target with mk1mf.pl becomes a very simple thing. And especially, no more need to do the amount of hackery in unix.pl we did. Also, some tests need a working apps/CA.pl as well as rehashed certs in certs/demo. So, move the code creating those files so it gets done regardless, not just in non-mk1mf environments. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-09-06Fixup merge conflicts in util/libeay.numRichard Levitte
Reviewed-by: Stephen Henson <steve@openssl.org>
2015-09-06make updateDr. Stephen Henson
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-09-05Make TS structures opaque.Rich Salz
Most of the accessors existed and were already used so it was easy. TS_VERIFY_CTX didn't have accessors/settors so I added the simple and obvious ones, and changed the app to use them. Also, within crypto/ts, replaced the functions with direct access to the structure members since we generally aren't opaque within a directory. Also fix RT3901. Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-09-04RT3998: Allow scrypt to be disabledRich Salz
This does 64-bit division and multiplication, and on 32-bit platforms pulls in libgcc symbols (and MSVC does similar) which may not be available. Mostly done by David Woodhouse. Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
2015-09-03Revert "OPENSSL_NO_xxx cleanup: RFC3779"David Woodhouse
This reverts the non-cleanup parts of commit c73ad69017. We do actually have a reasonable use case for OPENSSL_NO_RFC3779 in the EDK2 UEFI build, since we don't have a strspn() function in our runtime environment and we don't want the RFC3779 functionality anyway. In addition, it changes the default behaviour of the Configure script so that RFC3779 support isn't disabled by default. It was always disabled from when it was first added in 2006, right up until the point where OPENSSL_NO_RFC3779 was turned into a no-op, and the code in the Configure script was left *trying* to disable it, but not actually working. Signed-off-by: Rich Salz <rsalz@akamai.com> Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-09-03RT3674: Make no-cms build work.David Bar
Also has changes from from David Woodhouse <David.Woodhouse@intel.com> and some tweaks from me. Signed-off-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-09-03make updateDr. Stephen Henson
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-09-03Two changes at ones lead to a confused libeay.num. FixRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-09-02Add and use OPENSSL_zallocRich Salz
There are many places (nearly 50) where we malloc and then memset. Add an OPENSSL_zalloc routine to encapsulate that. (Missed one conversion; thanks Richard) Also fixes GH328 Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-09-02make updateDr. Stephen Henson
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-09-01make updateDr. Stephen Henson
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-08-31make updateDr. Stephen Henson
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-08-28Fix 4c42ebd; forgot to inutil util/libeay.numRich Salz
Reviewed-by: Tim Hudson <tjh@openssl.org>