summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* sha/keccak1600.c: add known answer and verify result with memcmp.Andy Polyakov2016-10-241-3/+83
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* crypto/sha: add Keccak1600 primitives to build SHA-3 upon.Andy Polyakov2016-10-241-0/+281
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Add a github pull request templateKurt Roeckx2016-10-221-0/+17
| | | | | | Reviewed-by: Richard Levitte <levitte@openssl.org> GH: #1770
* Fix support for DragonFly BSDjrmarino2016-10-226-7/+12
| | | | | | | | | The __DragonFly__ macros were introduced in issue #1546 along with a function naming fix, but it was decided they should be handled separately. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1765)
* Efence is antiquated, remove all traces of using itRichard Levitte2016-10-222-15/+0
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1768)
* Correct installation test in appveyorRichard Levitte2016-10-211-6/+1
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1759)
* Fix grammar error in SSL_CTX_set_min_proto_versionClaus Assmann2016-10-211-1/+1
| | | | | | | CLA: trivial Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1762)
* GH1546: Fix old names in cryptodev code.Rich Salz2016-10-211-2/+2
| | | | | | Add DragonFly version of BSD. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1584)
* apps: remove some #ifndef clutterRichard Levitte2016-10-191-4/+0
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1643)
* apps: instead of varying implementation, make setup_engine a function alwaysRichard Levitte2016-10-192-5/+4
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1643)
* If an engine comes up explicitely, it must also come down explicitelyRichard Levitte2016-10-1932-16/+63
| | | | | | | | | | | | | In apps/apps.c, one can set up an engine with setup_engine(). However, we freed the structural reference immediately, which means that for engines that don't already have a structural reference somewhere else (because it's a built in engine), we end up returning an invalid reference. Instead, the function release_engine() is added, and called at the end of the routines that call setup_engine(). Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1643)
* OpenSSL::Test - small fixupRichard Levitte2016-10-191-7/+2
| | | | Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1686)
* OpenSSL::Test cleanup - no forward declarations neededRichard Levitte2016-10-191-15/+0
| | | | Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1686)
* appveyor: make tests verboseRichard Levitte2016-10-191-1/+1
| | | | Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1686)
* Add documentation of internal OpenSSL::Test functionsRichard Levitte2016-10-191-1/+43
| | | | | | Also, fix __wrap_cmd so it doesn't return unnecessary empty strings Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1686)
* Make OpenSSL::Test a bit more flexibleRichard Levitte2016-10-191-109/+164
| | | | | | | | | | | | | | | | So far, apps and test programs, were a bit rigidely accessible as executables or perl scripts. But what about scripts in some other language? Or what about running entirely external programs? The answer is certainly not to add new functions to access scripts for each language or wrapping all the external program calls in our magic! Instead, this adds a new functions, cmd(), which is useful to access executables and scripts in a more generalised manner. app(), test(), fuzz(), perlapp() and perltest() are rewritten in terms of cmd(), and serve as examples how to do something similar for other scripting languages, or constrain the programs to certain directories. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1686)
* Fix broken link to ASYNC_get_wait_ctx and rewrap the paragraphAndrea Grandi2016-10-191-12/+12
| | | | | Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1745)
* Do not set load_crypto_strings_inited when OPENSSL_NO_ERR is definedMat2016-10-191-1/+1
| | | | | | | | | | | | | | | | Only set the load_crypto_strings_inited to 1 when err_load_crypto_strings_int was called. This solves the following issue: - openssl is built with no-err - load_crypto_strings_inited is set to 1 during the OPENSSL_init_crypto call - During the cleanup: OPENSSL_cleanup, err_free_strings_int is called because load_crypto_strings_inited == 1 - err_free_strings_int calls do_err_strings_init because it has never been called - Now do_err_strings_init calls OPENSSL_init_crypto - But since we are in the cleanup (stopped == 1) this results in an error: CRYPTOerr(CRYPTO_F_OPENSSL_INIT_CRYPTO, ERR_R_INIT_FAIL); - which then tries to initialize everything we are trying to clean up: ERR_get_state, ossl_init_thread_start, etc Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1654)
* Add error checking, small nit on ouputFdaSilvaYY2016-10-191-2/+3
| | | | | Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1632)
* Fix config option 'no-deprecated'Richard Levitte2016-10-191-0/+2
| | | | | | | | crypto/asn1/asn1_item_list.c needed including dh.h and rsa.h directly. The reason is that they are not included by x509.h when configured 'no-deprecated' Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1741)
* Add missing .pod extension to EVP_PKEY_CTX_set_tls1_prf_mdAndrea Grandi2016-10-191-0/+0
| | | | | Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
* Fix not-c codeFdaSilvaYY2016-10-191-1/+1
| | | | | Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1742)
* Fix strict-warnings buildPatrick Steuer2016-10-181-0/+1
| | | | | | | | | | | | | crypto/s390xcap.c: internal/cryptlib.h needs to be included for OPENSSL_cpuid_setup function prototype is located there to avoid build error due to -Werror=missing-prototypes. Signed-off-by: Patrick Steuer <psteuer@mail.de> Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> CLA: trivial
* Fix strict-warnings buildPatrick Steuer2016-10-182-6/+6
| | | | | | | | | | | | | | | | | crypto/evp/e_aes.c: Types of inp and out parameters of AES_xts_en/decrypt functions need to be changed from char to unsigned char to avoid build error due to '-Werror=incompatible-pointer-types'. crypto/aes/asm/aes-s390x.pl: Comments need to reflect the above change. Signed-off-by: Patrick Steuer <psteuer@mail.de> Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> CLA: trivial
* Fix strict-warnings buildPatrick Steuer2016-10-181-1/+1
| | | | | | | | | | | | | crypto/asn1/a_strex.c: Type of width variable in asn1_valid_host function needs to be changed from char to signed char to avoid build error due to '-Werror=type-limits'. Signed-off-by: Patrick Steuer <psteuer@mail.de> Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> CLA: trivial
* Add SSL_OP_NO_ENCRYPT_THEN_MACDavid Woodhouse2016-10-183-5/+19
| | | | | Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
* Fix encrypt-then-mac implementation for DTLSDavid Woodhouse2016-10-182-2/+30
| | | | | | | | | | | | | | | | | | | | | OpenSSL 1.1.0 will negotiate EtM on DTLS but will then not actually *do* it. If we use DTLSv1.2 that will hopefully be harmless since we'll tend to use an AEAD ciphersuite anyway. But if we're using DTLSv1, then we certainly will end up using CBC, so EtM is relevant — and we fail to interoperate with anything that implements EtM correctly. Fixing it in HEAD and 1.1.0c will mean that 1.1.0[ab] are incompatible with 1.1.0c+... for the limited case of non-AEAD ciphers, where they're *already* incompatible with other implementations due to this bug anyway. That seems reasonable enough, so let's do it. The only alternative is just to turn it off for ever... which *still* leaves 1.0.0[ab] failing to communicate with non-OpenSSL implementations anyway. Tested against itself as well as against GnuTLS both with and without EtM. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
* Add Postgres support to -starttlsValentin Vidic2016-10-182-2/+23
| | | | | Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org>
* Fix embedded string handling.Dr. Stephen Henson2016-10-174-9/+19
| | | | | | | | | Don't rely on embedded flag to free strings correctly: it wont be set if there is a malloc failure during initialisation. Thanks to Guido Vranken for reporting this issue. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1725)
* fix invalid use of incomplete type X509_STORE_CTXchoury2016-10-171-1/+1
| | | | | | | CLA: trivial Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Allow older versions in the *.num filesMatt Caswell2016-10-171-2/+1
| | | | | | | | | | | | | In 1.1.0 we only allowed a strictly increasing version number in the *.num files, i.e. you could never introduce a symbol at the end of the *.num file with a lower version number than the one preceding it. This made sense for 1.1.0. However in master we may be introducing symbols for backport to 1.1.0. Therefore it is ok in master to have a symbol for version 1.1.0c coming after a symbol for version 1.1.1. This commit fixes the check in mkdef.pl to be a bit looser to allow this. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Fix signatures of EVP_Digest{Sign,Verify}UpdateSteven Fackler2016-10-162-2/+2
| | | | | | | | | | These are implemented as macros delegating to `EVP_DigestUpdate`, which takes a `size_t` as its third argument, not an `unsigned int`. CLA: trivial Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
* Ensure we handle len == 0 in ERR_err_string_nMatt Caswell2016-10-151-0/+3
| | | | | | | | | | | | If len == 0 in a call to ERR_error_string_n() then we can read beyond the end of the buffer. Really applications should not be calling this function with len == 0, but we shouldn't be letting it through either! Thanks to Agostino Sarubbo for reporting this issue. Agostino's blog on this issue is available here: https://blogs.gentoo.org/ago/2016/10/14/openssl-libcrypto-stack-based-buffer-overflow-in-err_error_string_n-err-c/ Reviewed-by: Richard Levitte <levitte@openssl.org>
* Use clang++ for C++ for the linux-x86_64-clang targetMatt Caswell2016-10-151-0/+1
| | | | | Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
* Engine afalg: properly set operation type also on big endian.Tomas Mraz2016-10-141-2/+2
| | | | | | | Copy the whole ALG_OP_TYPE to CMSG_DATA. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
* Fix style issueFdaSilvaYY2016-10-142-130/+130
| | | | | | Reviewed-by: Kurt Roeckx <kurt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1694)
* Constify command optionsFdaSilvaYY2016-10-1448-112/+112
| | | | | | Reviewed-by: Kurt Roeckx <kurt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1694)
* Fix C++ support: set $target{cxx} correctlyRichard Levitte2016-10-141-0/+1
| | | | Reviewed-by: Matt Caswell <matt@openssl.org>
* Fix typoXiaoyin Liu2016-10-141-1/+1
| | | | | | | I think the second "VC-WIN32" should be "VC-WIN64". Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> CLA: trivial
* Configure: remove superfluous 0xVitezslav Cizek2016-10-131-1/+1
| | | | | | | | | | | The number is taken from the OPENSSL_VERSION_NUMBER which is already in the hex form. CLA: trivial Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1706)
* Add memory leak detection to d2i_testDr. Stephen Henson2016-10-131-0/+10
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1707)
* Fix copy-paste test labelsFdaSilvaYY2016-10-131-2/+2
| | | | | Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Remove automatic RPATH - Add a CHANGES entryRichard Levitte2016-10-131-0/+6
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Remove automatic RPATH - adapt shlib_wrap.shRichard Levitte2016-10-131-2/+2
| | | | | | | | | | | | | | Looking for something starting with '-Wl,-rpath,' isn't good enough, as someone might give something like '-Wl,--enable-new-dtags,-rpath,/PATH'. Looking for ',-rpath,' should be safe enough. We could remove the preloading stuff entirely, but just in case the user has chosen to given RPATH setting arguments at configuration, we'd better make sure testing will still work. Fair warning, there are some configuration options that do not work with preloaded OpenSSL libraries, such as the sanity checking ones. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Remove automatic RPATH - add user rpath supportRichard Levitte2016-10-132-2/+15
| | | | | | | | | | Make Configure recognise -rpath and -R to support user added rpaths for OSF1 and Solaris. For convenience, add a variable LIBRPATH in the Unix Makefile, which the users can use as follows: ./config [options] -Wl,-rpath,\$(LIBRPATH) Reviewed-by: Rich Salz <rsalz@openssl.org>
* Remove automatic RPATHRichard Levitte2016-10-132-21/+8
| | | | | | | | | | | | | Before OpenSSL 1.1.0, binaries were installed in a non-standard location by default, and runpath directories were therefore added in those binaries, to make sure the executables would be able to find the shared libraries they were linked with. With OpenSSL 1.1.0 and on, binaries are installed in standard directories by default, and the addition of runpath directories is therefore not needed any more. Reviewed-by: Rich Salz <rsalz@openssl.org>
* RT is put out to pastureRich Salz2016-10-122-62/+24
| | | | Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1702)
* Add C++ settings in the Linux config targetsRichard Levitte2016-10-121-0/+1
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Add support for C++ in Configurations/unix-Makefile.tmplRichard Levitte2016-10-121-7/+28
| | | | | | | | | Note that it relies on a trick from Configure, where file names for object files made from C++ source get '.cc' replaced with '_cc.o' to recognise them. This is needed so the correct compiler is used when linking binaries. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Add support for C++ in ConfigureRichard Levitte2016-10-122-9/+33
| | | | | | | | A note: this will form object file names by changing '.cc' to '_cc.o'. This will permit other configuration code to recognise these object files were built for C++ rather than C. Reviewed-by: Rich Salz <rsalz@openssl.org>