aboutsummaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* Implement windows async thread local variable supportMatt Caswell2015-11-201-0/+2
| | | | | | | Implements Thread Local Storage in the windows async port. This also has some knock on effects to the posix and null implementations. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Convert __thread to pthreads for Thread Local StorageMatt Caswell2015-11-201-2/+2
| | | | | | | | | | | | 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>
* Add ASYNC_block_pause and ASYNC_unblock_pauseMatt Caswell2015-11-201-0/+2
| | | | | | | | | 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>
* Remove ASYNC NOEXIST functions from libeay.numMatt Caswell2015-11-201-10/+8
| | | | | | | | 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>
* make updateMatt Caswell2015-11-201-0/+1
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* make updateMatt Caswell2015-11-202-0/+6
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Add ASYNC_JOB poolsMatt Caswell2015-11-201-0/+2
| | | | | | | | 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>
* Use longjmp at setjmp where possibleMatt Caswell2015-11-201-1/+1
| | | | | | | 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>
* Async port to windowsMatt Caswell2015-11-202-0/+7
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Various windows build fixes to prepare for windows portMatt Caswell2015-11-202-0/+2
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Add the Dummy Async engine (dasync)Matt Caswell2015-11-201-0/+1
| | | | | | | | | 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>
* make updateDr. Stephen Henson2015-11-201-0/+2
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* make updateRichard Levitte2015-11-171-1/+8
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* Fix SSL_use_certificate_chain_fileMatt Caswell2015-11-101-0/+2
| | | | | | | | | 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>
* Read function names from C source files.Dr. Stephen Henson2015-11-051-1/+14
| | | | | | | 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>
* Replace "SSLeay" in API with OpenSSLRich Salz2015-10-301-4/+4
| | | | | | | All instances of SSLeay (any combination of case) were replaced with the case-equivalent OpenSSL. Reviewed-by: Richard Levitte <levitte@openssl.org>
* make updateMatt Caswell2015-10-301-2/+3
| | | | | Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* make updateMatt Caswell2015-10-301-0/+3
| | | | | Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Improve make depend.Ben Laurie2015-10-241-0/+7
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Add crypto/include/internal to the directories to scan for stack declarationsRichard Levitte2015-10-181-1/+1
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* make depend: prefer clang over makedependEmilia Kasper2015-10-141-1/+2
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Harmonize do_rehash_rule with updated test/recipies/25-test_verify.t.Andy Polyakov2015-10-133-3/+5
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Test suite: minimal required to get mingw 'make test' work under Linux.Andy Polyakov2015-10-131-1/+1
| | | | | | (part by Alessandro Ghedini) Reviewed-by: Richard Levitte <levitte@openssl.org>
* Fix Windows buildMatt Caswell2015-10-091-0/+1
| | | | | | Add the new ct directory to mkfiles.pl and fix the ct Makefile Reviewed-by: Andy Polyakov <appro@openssl.org>
* Fix no-ripemd on WindowsMatt Caswell2015-10-081-5/+5
| | | | | | | | | | | | 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>
* Fix make depend for things being built in subdirectoriesRichard Levitte2015-10-051-5/+23
| | | | | | | | | | | | | | | | 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>
* Fix libeay.numMatt Caswell2015-09-301-9/+8
| | | | | | Removed duplicated ordinals from libeay.num Reviewed-by: Richard Levitte <levitte@openssl.org>
* Fix no-stdio buildDavid Woodhouse2015-09-292-58/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Empty NewSessionTicket: test session resumptionEmilia Kasper2015-09-283-36/+50
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* Empty session ticket: add a testEmilia Kasper2015-09-283-0/+135
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* Update year in Windows builds.Andy Polyakov2015-09-281-1/+1
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* Harmonize util/mkrc.pl with header move.Andy Polyakov2015-09-281-1/+1
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* Add ability to set default CA path and file locations individuallyMatt Caswell2015-09-251-0/+2
| | | | | | | 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>
* make updateDr. Stephen Henson2015-09-221-0/+11
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Fix some test failures when Configured with zlibMatt Caswell2015-09-191-1/+2
| | | | | | | | 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>
* make updateMatt Caswell2015-09-161-0/+14
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* RT3992: Make SCT #ifdeffable.David Woodhouse2015-09-091-2/+6
| | | | | | | | | | | | | 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>
* Adapt mk1mf.pl and helpers to the new testing framework.Richard Levitte2015-09-074-271/+71
| | | | | | | | | | | | 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>
* Fixup merge conflicts in util/libeay.numRichard Levitte2015-09-061-16/+16
| | | | Reviewed-by: Stephen Henson <steve@openssl.org>
* make updateDr. Stephen Henson2015-09-061-0/+5
| | | | Reviewed-by: Tim Hudson <tjh@openssl.org>
* Make TS structures opaque.Rich Salz2015-09-051-9/+16
| | | | | | | | | | | | 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>
* RT3998: Allow scrypt to be disabledRich Salz2015-09-042-4/+7
| | | | | | | | 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>
* Revert "OPENSSL_NO_xxx cleanup: RFC3779"David Woodhouse2015-09-032-68/+72
| | | | | | | | | | | | | | | | | 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>
* RT3674: Make no-cms build work.David Bar2015-09-031-1/+1
| | | | | | | | 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>
* make updateDr. Stephen Henson2015-09-031-0/+1
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* Two changes at ones lead to a confused libeay.num. FixRichard Levitte2015-09-031-9/+9
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* Add and use OPENSSL_zallocRich Salz2015-09-021-0/+1
| | | | | | | | | 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>
* make updateDr. Stephen Henson2015-09-021-0/+6
| | | | Reviewed-by: Tim Hudson <tjh@openssl.org>
* make updateDr. Stephen Henson2015-09-011-0/+3
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* make updateDr. Stephen Henson2015-08-311-0/+4
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>