Ben Laurie [Sat, 16 Apr 2016 04:33:24 +0000 (05:33 +0100)]
Free engine on error.
Reviewed-by: Matt Caswell <matt@openssl.org>
Ben Laurie [Fri, 15 Apr 2016 08:45:47 +0000 (09:45 +0100)]
Opacity.
Reviewed-by: Matt Caswell <matt@openssl.org>
Ben Laurie [Fri, 15 Apr 2016 08:45:25 +0000 (09:45 +0100)]
Signed/unsigned compare.
Reviewed-by: Matt Caswell <matt@openssl.org>
Richard Levitte [Sun, 17 Apr 2016 11:48:53 +0000 (13:48 +0200)]
Restore OCSP_basic_verify() error return semantics
Recently, OCSP_basic_verify() was changed to always return 0 on error,
when it would previously return 0 on error and < 0 on fatal error.
This restores the previous semantics back.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Richard Levitte [Sun, 17 Apr 2016 11:21:06 +0000 (13:21 +0200)]
Remove declaration of function that isn't implemented
Reviewed-by: Rich Salz <rsalz@openssl.org>
Dr. Stephen Henson [Sat, 16 Apr 2016 17:23:19 +0000 (18:23 +0100)]
Add X509_STORE_CTX_set0_untrusted function.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Richard Levitte [Sat, 16 Apr 2016 10:57:09 +0000 (12:57 +0200)]
Small OCSP fixup
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Stephen Henson <steve@openssl.org>
Rich Salz [Fri, 15 Apr 2016 03:59:26 +0000 (23:59 -0400)]
Make many X509_xxx types opaque.
Make X509_OBJECT, X509_STORE_CTX, X509_STORE, X509_LOOKUP,
and X509_LOOKUP_METHOD opaque.
Remove unused X509_CERT_FILE_CTX
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
Richard Levitte [Fri, 15 Apr 2016 07:17:13 +0000 (09:17 +0200)]
Don't use a default for --with-zlib-lib on Windows with option 'zlib'
To begin with, the default should have been the import library, not
the DLL itself. However, we don't know what directory it's installed
in either way, so we may as well demand the full path from the user
Reviewed-by: Matt Caswell <matt@openssl.org>
Richard Levitte [Fri, 15 Apr 2016 05:53:17 +0000 (07:53 +0200)]
ex_libs settings have to be added to, not overriden, on Windows too
Reviewed-by: Matt Caswell <matt@openssl.org>
Matt Caswell [Thu, 14 Apr 2016 13:28:13 +0000 (14:28 +0100)]
Update Travis and Appveyor for change to shared by default
Update the Travis and Appveyor builds to explicitly state no-shared where
applicable.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Thu, 14 Apr 2016 13:16:52 +0000 (14:16 +0100)]
Make "shared" builds the default
In most cases we expect that people will be using shared libraries not
static ones, therefore we make that the default.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Thu, 14 Apr 2016 20:28:54 +0000 (21:28 +0100)]
Fix ex_data locks issue
Travis identified a problem with freeing the ex_data locks which wasn't
quite right in
ff2344052. Trying to fix it identified a further problem:
the ex_data locks are cleaned up by OPENSSL_cleanup(), which is called
explicitly by CRYPTO_mem_leaks(), but then later the BIO passed to
CRYPTO_mem_leaks() is freed. An attempt is then made to use the ex_data
lock already freed.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Jérôme Duval [Tue, 23 Feb 2016 21:49:01 +0000 (22:49 +0100)]
Add Haiku support.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Richard Levitte [Thu, 14 Apr 2016 15:07:37 +0000 (16:07 +0100)]
Fix installation on VMS for no-stdio and no-autoalginit
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Richard Levitte [Thu, 14 Apr 2016 15:04:56 +0000 (16:04 +0100)]
Fix installation for no-stdio and no-autoalginit
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Matt Caswell [Thu, 14 Apr 2016 12:44:15 +0000 (13:44 +0100)]
Fix no-stdio and no-autoalginit
no-stdio does not work with the apps. Since the tests also need the apps
it doesn't support that either. Therefore we disable building of both.
no-autoalginit is not compatible with the apps because it requires explicit
loading of the algorithms, and the apps don't do that. Therefore we disable
building the apps for this option. Similarly the tests depend on the apps
so we also disable the tests. Finally the whole point about no-autoalginit
is to avoid excessive executable sizes when doing static linking. Therefore
we disable "shared" if this option is selected.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Thu, 14 Apr 2016 12:37:41 +0000 (13:37 +0100)]
The err_cleanup() funtion is internal so shouldn't be exported
Running a "make update" wanted to add err_cleanup to libcrypto.num which
is wrong.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Rich Salz [Mon, 11 Apr 2016 14:17:38 +0000 (10:17 -0400)]
Write POD page.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Lyon Chen [Mon, 11 Apr 2016 14:08:00 +0000 (10:08 -0400)]
Add SSL_SESSION_get0_hostname()
Reviewed-by: Rich Salz <rsalz@openssl.org>
Matt Caswell [Fri, 11 Mar 2016 21:53:18 +0000 (21:53 +0000)]
Ensure all locks are properly cleaned up
Some locks were not being properly cleaned up during close down.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Shlomi Fish [Wed, 13 Apr 2016 20:43:07 +0000 (23:43 +0300)]
Fix the spelling of "implement".
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Matt Caswell [Wed, 13 Apr 2016 22:26:56 +0000 (23:26 +0100)]
Fix AFALG kernel and headers mismatch problem
During Configure we attempt to check the kernel version of this platform
to see whether we can compile the AFALG engine. If the kernel version
looks recent enough then we enable AFALG. However when we compile
e_afalg.c we check the version of the linux headers. If there is a
mismatch between the linux headers and the currently running kernel then
we don't compile the AFLAG engine and continue. This was causing a link
error.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Viktor Dukhovni [Thu, 14 Apr 2016 03:14:43 +0000 (23:14 -0400)]
Bugfix: in asn1parse avoid erroneous len after a sub-sequence
Introduced in:
commit
79c7f74d6cefd5d32fa20e69195ad3de834ce065
Author: Ben Laurie <ben@links.org>
Date: Tue Mar 29 19:37:57 2016 +0100
Fix buffer overrun in ASN1_parse().
Problem input:
https://tools.ietf.org/html/draft-ietf-curdle-pkix-eddsa-00#section-8.1
-----BEGIN PUBLIC KEY-----
MC0wCAYDK2VkCgECAyEAGb9ECWmEzf6FQbrBZ9w7lshQhqowtrbLDFw4rXAxZuE=
-----END PUBLIC KEY-----
Previously:
0:d=0 hl=2 l= 45 cons: SEQUENCE
2:d=1 hl=2 l= 8 cons: SEQUENCE
4:d=2 hl=2 l= 3 prim: OBJECT :1.3.101.100
9:d=2 hl=2 l= 1 prim: ENUMERATED :02
Error in encoding
140735164989440:error:
0D07207B:asn1 encoding routines:ASN1_get_object:header too long:../openssl/crypto/asn1/asn1_lib.c:148:
Now:
0:d=0 hl=2 l= 45 cons: SEQUENCE
2:d=1 hl=2 l= 8 cons: SEQUENCE
4:d=2 hl=2 l= 3 prim: OBJECT :1.3.101.100
9:d=2 hl=2 l= 1 prim: ENUMERATED :02
12:d=1 hl=2 l= 33 prim: BIT STRING
0000 - 00 19 bf 44 09 69 84 cd-fe 85 41 ba c1 67 dc 3b ...D.i....A..g.;
0010 - 96 c8 50 86 aa 30 b6 b6-cb 0c 5c 38 ad 70 31 66 ..P..0....\8.p1f
0020 - e1 .
Reviewed-by: Richard Levitte <levitte@openssl.org>
Viktor Dukhovni [Thu, 14 Apr 2016 03:41:55 +0000 (23:41 -0400)]
Don't use deprecated CONF_modules_free() in tests
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 13 Apr 2016 20:26:24 +0000 (21:26 +0100)]
make update
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 13 Apr 2016 20:05:50 +0000 (21:05 +0100)]
Add a CHANGES entry for removal of Configure options
Document removal of no-aes, no-hmac, no-rsa, no-sha and no-md5.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 13 Apr 2016 20:01:28 +0000 (21:01 +0100)]
Update INSTALL file based on feedback
Update the config options documentation based on feedback.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 13 Apr 2016 14:04:01 +0000 (15:04 +0100)]
Update the INSTALL instructions with lots of options
There were a lot of options missing from INSTALL. This adds descriptions
for them.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 13 Apr 2016 10:31:51 +0000 (11:31 +0100)]
Remove OPENSSL_NO_HMAC
no-hmac is no longer an option so remove OPENSSL_NO_HMAC guards.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 13 Apr 2016 10:31:00 +0000 (11:31 +0100)]
Remove OPENSSL_NO_SHA guards
no-sha is no longer an option so remove OPENSSL_NO_SHA guards.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 13 Apr 2016 10:28:45 +0000 (11:28 +0100)]
Remove OPENSSL_NO_AES guards
no-aes is no longer a Configure option and therefore the OPENSSL_NO_AES
guards can be removed.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 13 Apr 2016 09:46:15 +0000 (10:46 +0100)]
Remove no-aes, no-rsa, no-sha, no-md5 and no-hmac
These algorithms are fundamental and extensively used. The "no-" options
do not work either in 1.1.0 or in other released branches. Therefore the
ability to disable them should be removed.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Rich Salz [Wed, 13 Apr 2016 19:54:16 +0000 (15:54 -0400)]
Need err_load_crypto_strings_int declared.
Reviewed-by: Matt Caswell <matt@openssl.org>
Dr. Stephen Henson [Wed, 13 Apr 2016 14:08:27 +0000 (15:08 +0100)]
make update
Reviewed-by: Matt Caswell <matt@openssl.org>
Dr. Stephen Henson [Wed, 13 Apr 2016 11:11:59 +0000 (12:11 +0100)]
Remove check_defer()
The check_defer() function was used to ensure that EVP_cleanup() was always
called before OBJ_cleanup(). The new cleanup code ensures this so it is
no longer needed.
Remove obj_cleanup() call in OID config module: it is not needed
any more either.
Reviewed-by: Matt Caswell <matt@openssl.org>
Richard Levitte [Wed, 13 Apr 2016 13:00:32 +0000 (15:00 +0200)]
Rename internal symbol to follow internal naming pattern
Reviewed-by: Matt Caswell <matt@openssl.org>
Richard Levitte [Wed, 13 Apr 2016 11:57:46 +0000 (13:57 +0200)]
Cleanup libcrypto.num and make update
Reviewed-by: Matt Caswell <matt@openssl.org>
Richard Levitte [Wed, 13 Apr 2016 11:53:27 +0000 (13:53 +0200)]
Move a declaration that's private to libcrypto
Don't expose purely libcrypto internal symbols, even to libssl.
Reviewed-by: Matt Caswell <matt@openssl.org>
Andy Polyakov [Mon, 11 Apr 2016 22:09:47 +0000 (00:09 +0200)]
PPC assebmly pack: initial POWER9 support tidbits.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Andy Polyakov [Mon, 11 Apr 2016 12:06:16 +0000 (14:06 +0200)]
chacha/asm/chacha-armv8.pl: fix intermittent build failures.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Richard Levitte [Wed, 13 Apr 2016 00:40:39 +0000 (02:40 +0200)]
Don't use FORMAT_BASE64 format when compressing / decompressing
When compressing, the output / input is a binary format, not a text
format like BASE64. This is important on Windows, where a ^Z in a
text file is seen as EOF, and there could be a ^Z somewhere in a
compressed file, cutting it short as input.
Reviewed-by: Matt Caswell <matt@openssl.org>
Richard Levitte [Tue, 12 Apr 2016 14:35:32 +0000 (16:35 +0200)]
Fix the handling of --with-zlib-include
The handling was Unix centric, already in Configure. Change that to
just collect the value and let the build file templates figure out
what to do with it.
Reviewed-by: Matt Caswell <matt@openssl.org>
Richard Levitte [Tue, 12 Apr 2016 14:12:53 +0000 (16:12 +0200)]
Remake the way dynamic zlib is loaded
Instead of absolute hard coding of the libz library name, have it use
the macro LIBZ, which is set to defaults we know in case it's
undefined.
This allows our configuration to set something that's sane on current
or older platforms, and allows the user to override it by defining
LIBZ themselves.
Reviewed-by: Matt Caswell <matt@openssl.org>
Richard Levitte [Tue, 12 Apr 2016 14:03:02 +0000 (16:03 +0200)]
Configuration: Simplify the way vms information is retrieved
Reviewed-by: Matt Caswell <matt@openssl.org>
Richard Levitte [Tue, 12 Apr 2016 13:28:06 +0000 (15:28 +0200)]
Fix zlib configuration options.
The macros ZLIB and ZLIB_SHARED weren't appropriately defined,
deviating wrongly from how they worked in earlier OpenSSL versions.
So, restore it so that ZLIB is defined if configured "enable-zlib" and
so that ZLIB and ZLIB_SHARED are defined if configured
"enable-zlib-dynamic".
Additionally, correct the interpretation of the --with-zlib-lib value
on Windows and VMS, where it's used to indicate the actual zlib
zlib library file / logical name, as that can differ depending on zlib
version and packaging on those platforms.
Finally for Windows and VMS, we also define the macro LIBZ with that
file name / logical name when configured "zlib-dynamic", so the
compression unit can pick it up and use it.
Reviewed-by: Matt Caswell <matt@openssl.org>
Matt Caswell [Tue, 12 Apr 2016 07:53:31 +0000 (08:53 +0100)]
Fix no-tls1_1 and no-tls1_2
The above config options were failing in test_ssl_old.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Tue, 12 Apr 2016 11:20:16 +0000 (12:20 +0100)]
Rename int_*() functions to *_int()
There is a preference for suffixes to indicate that a function is internal
rather than prefixes. Note: the suffix is only required to disambiguate
internal functions and public symbols with the same name (but different
case)
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Tue, 12 Apr 2016 10:49:40 +0000 (11:49 +0100)]
Tweak to documentation
Tweak to documentation following feedback
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 6 Apr 2016 10:13:25 +0000 (11:13 +0100)]
Misc fix ups to deprecate explicit de-init documentation
Documentation fix ups as a result of feedback received.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 6 Apr 2016 10:12:12 +0000 (11:12 +0100)]
Fix explicit de-init macros
The no-op de-init macros may fail because of extraneous ";", so we use
a slightly different construct instead.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 6 Apr 2016 09:50:05 +0000 (10:50 +0100)]
Fix symbols missing from shared build
libssl needs to have access to some internal libcrypto symbols.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 6 Apr 2016 09:39:00 +0000 (10:39 +0100)]
Rename lots of *_intern or *_internal function to int_*
There was a lot of naming inconsistency, so we try and standardise on
one form.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Mon, 4 Apr 2016 16:12:58 +0000 (17:12 +0100)]
Add a CHANGES entry for the deprecated cleanup functions
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Mon, 4 Apr 2016 16:05:21 +0000 (17:05 +0100)]
make update
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Mon, 4 Apr 2016 16:00:04 +0000 (17:00 +0100)]
Deprecate CONF_modules_free() and make it a no-op
CONF_modules_free() should not be called expicitly - we should leave
auto-deinit to clean this up instead.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Mon, 4 Apr 2016 15:12:39 +0000 (16:12 +0100)]
Deprecate ENGINE_cleanup() and make it a no-op
ENGINE_cleanup() should not be called expicitly - we should leave
auto-deinit to clean this up instead.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Mon, 4 Apr 2016 14:49:21 +0000 (15:49 +0100)]
Deprecate OBJ_cleanup() and make it a no-op
OBJ_cleanup() should not be called expicitly - we should leave
auto-deinit to clean this up instead.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Mon, 4 Apr 2016 14:28:58 +0000 (15:28 +0100)]
Deprecate EVP_cleanup() and make it a no-op
EVP_cleanup() should not be called expicitly - we should leave
auto-deinit to clean this up instead.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Mon, 4 Apr 2016 13:53:37 +0000 (14:53 +0100)]
Deprecate BIO_sock_cleanup() and make it a no-op
BIO_sock_cleanup() should not be called expicitly - we should leave
auto-deinit to clean this up instead.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Mon, 4 Apr 2016 13:38:45 +0000 (14:38 +0100)]
Deprecate CRYPTO_cleanup_all_ex_data() and make it a no-op
CRYPTO_cleanup_all_ex_data() should not be called expicitly - we should
leave auto-deinit to clean this up instead.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 6 Apr 2016 10:19:55 +0000 (11:19 +0100)]
Deprecate RAND_cleanup() and make it a no-op
RAND_cleanup() should not be called expicitly - we should leave
auto-deinit to clean this up instead.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 6 Apr 2016 10:17:44 +0000 (11:17 +0100)]
Fix conditional compile logic in speed.c
The conditional compile logic wasn't quite right in speed.c for when
both OPENSSL_NO_DSA and OPENSSL_NO_EC are defined.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Mon, 4 Apr 2016 12:53:35 +0000 (13:53 +0100)]
Deprecate SSL_COMP_free_compression_methods() and make it a no-op
SSL_COMP_free_compression_methods() should not be called expicitly - we
should leave auto-deinit to clean this up instead.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Mon, 4 Apr 2016 12:43:58 +0000 (13:43 +0100)]
Deprecate ERR_free_strings() and make it a no-op
ERR_free_strings() should not be called expicitly - we should leave
auto-deinit to clean this up instead.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Mon, 4 Apr 2016 16:19:06 +0000 (17:19 +0100)]
Deprecate COMP_zlib_cleanup() and make it a no-op
COMP_zlib_cleanup() should not be called expicitly - we should leave
auto-deinit to clean this up instead.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Dr. Stephen Henson [Wed, 23 Mar 2016 00:07:52 +0000 (00:07 +0000)]
X509_PUBKEY docs
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Richard Levitte [Wed, 13 Apr 2016 00:43:45 +0000 (02:43 +0200)]
Fix setting of debug callback in apps/enc.c
Setting the debug callback on the in and out BIOs were done too early.
No debug callback was set on the zlib filter BIO.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Kazuki Yamaguchi [Sun, 10 Apr 2016 04:18:50 +0000 (13:18 +0900)]
Add SSL_CTX_get_ciphers()
Add an accessor for SSL_CTX.
Since libssl was made opaque, there is no way for users to access the
cipher_list, while users can set the cipher_list by
SSL_CTX_set_cipher_list().
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Matt Caswell [Mon, 11 Apr 2016 12:59:31 +0000 (13:59 +0100)]
Fix the no-posix-io option
Fix a compile failure with no-posix-io
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Mon, 11 Apr 2016 12:46:11 +0000 (13:46 +0100)]
Remove an unused function
The function pqueue_print is not exported and is never called. Therefore
we should delete it.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Matt Caswell [Mon, 11 Apr 2016 12:39:45 +0000 (13:39 +0100)]
Fix the no-tls option
The no-tls option was failing in the tests. This fixes it.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Mon, 11 Apr 2016 10:41:19 +0000 (11:41 +0100)]
Fix the no-nextprotoneg option
Misc fixes to get no-nextprotoneg config option working again.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Richard Levitte [Fri, 8 Apr 2016 18:15:15 +0000 (20:15 +0200)]
BIO: respect opening in text mode
When a file is opened with BIO_new_file(), make sure that the internal
mode TEXT vs BINARY setting reflects what's given in the mode string.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Emilia Kasper [Fri, 8 Apr 2016 16:55:28 +0000 (18:55 +0200)]
Disable some sanitizer checks without PEDANTIC
Code without PEDANTIC has intentional "undefined" behaviour. To get best
coverage for both PEDANTIC and non-PEDANTIC codepaths, run the sanitizer
builds in two different configurations:
1) Without PEDANTIC but with alignment checks disabled.
2) With PEDANTIC.
To not overload Travis too much, run one build with clang and the other
with gcc (chosen at random).
Also remove a micro-optimization in CAST code to be able to
-fsanitize=shift. Whether shift sanitization is meaningful for crypto or
an obstacle is debatable but since this appears to be the only offender,
we might as well keep the check for now.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Emilia Kasper [Fri, 8 Apr 2016 14:19:00 +0000 (16:19 +0200)]
Fix warnings exposed by clang-3.8
Reviewed-by: Richard Levitte <levitte@openssl.org>
Emilia Kasper [Tue, 5 Apr 2016 13:11:02 +0000 (15:11 +0200)]
Adjust --strict-warnings builds in Travis
In Travis, do --strict-warnings on BUILDONLY configurations. This
ensures that the tests run even if --strict-warnings fail, and avoids
hiding unrelated test failures.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Richard Levitte [Sat, 9 Apr 2016 09:15:16 +0000 (11:15 +0200)]
Don't check the generated ssl-tests configs on VMS
The simple reason is that the pre-generated files are mainly for Unix.
The VMS variants look slightly different, so comparing will always fail.
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Richard Levitte [Sat, 9 Apr 2016 09:13:00 +0000 (11:13 +0200)]
VMS doesn't have directory separators in the same sense as Unix
Don't add / in file specs on VMS. The directory "separator" is part
of the directory spec.
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Beat Bolli [Thu, 7 Apr 2016 21:32:59 +0000 (23:32 +0200)]
RSA: the docs still talk about RSA_PKCS1_SSLeay
Rename the function to RSA_PKCS1_OpenSSL.
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Matt Caswell [Thu, 7 Apr 2016 14:47:28 +0000 (15:47 +0100)]
Add CHANGES entry for DH and DH_METHOD opacity
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Thu, 7 Apr 2016 14:24:23 +0000 (15:24 +0100)]
Add documentation for following DH and DH_METHOD opacity
A number of new functions have been added following the DH and DH_METHOD
opacity commits. This commit provides documentation for those functions.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Thu, 7 Apr 2016 13:08:52 +0000 (14:08 +0100)]
Fix double free bug in error path
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Thu, 7 Apr 2016 12:48:03 +0000 (13:48 +0100)]
make update
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Thu, 7 Apr 2016 12:47:20 +0000 (13:47 +0100)]
Make DH_METHOD opaque
Move the dh_method structure into an internal header file and provide
relevant accessors for the internal fields.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 6 Apr 2016 16:50:22 +0000 (17:50 +0100)]
make update
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Wed, 6 Apr 2016 16:49:48 +0000 (17:49 +0100)]
Make DH opaque
Move the dh_st structure into an internal header file and provide
relevant accessors for the internal fields.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Rich Salz [Fri, 8 Apr 2016 13:10:06 +0000 (09:10 -0400)]
Add SSL_DANE typedef for consistency.
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Rich Salz [Fri, 8 Apr 2016 12:02:41 +0000 (08:02 -0400)]
Add OCSP to mkdef
Reviewed-by: Richard Levitte <levitte@openssl.org>
Andy Polyakov [Thu, 31 Mar 2016 16:47:17 +0000 (18:47 +0200)]
PPC assembly pack: remove branch hints.
As it turns out branch hints grew as kind of a misconception. In
addition their interpretation by GNU assembler is affected by
assembler flags and can end up with opposite meaning on different
processors. As we have to loose quite a lot on misinterprerations,
especially on newer processors, we just omit them altogether.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Andy Polyakov [Wed, 6 Apr 2016 10:47:35 +0000 (12:47 +0200)]
Clean-up *_DEBUG options.
Since NDEBUG is defined unconditionally on command line for release
builds, we can omit *_DEBUG options in favour of effective "all-on"
in debug builds exercised though CI.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Andy Polyakov [Wed, 6 Apr 2016 15:33:03 +0000 (17:33 +0200)]
Configurations/10-main.conf: omit now redundant -D_WINDLL.
... and refine /MT vs. /MD flag handling.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Andy Polyakov [Wed, 6 Apr 2016 15:27:01 +0000 (17:27 +0200)]
windows-makefile.tmpl: clean up after DLL link failure.
Without proper cleanup after DLL link failure second attempt to
run nmake would actually proceed and failure will be "shifted" to
run time. This is because libcrypto.lib import library is generated
even if DLL link fails.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Andy Polyakov [Wed, 6 Apr 2016 09:31:31 +0000 (11:31 +0200)]
test/[dane|evp_]test.c: BIO-fy file I/O.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Andy Polyakov [Wed, 6 Apr 2016 09:21:14 +0000 (11:21 +0200)]
bio/bss_file.c: since VS2015 one can't tell apart own and "alien" FILE
pointers, except for minimal std[in|out|err].
Reviewed-by: Richard Levitte <levitte@openssl.org>
Viktor Dukhovni [Thu, 7 Apr 2016 18:19:16 +0000 (14:19 -0400)]
make update
Signed-off-by: Rob Percival <robpercival@google.com>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Viktor Dukhovni [Thu, 7 Apr 2016 18:17:37 +0000 (14:17 -0400)]
Suppress CT callback as appropriate
Suppress CT callbacks with aNULL or PSK ciphersuites that involve
no certificates. Ditto when the certificate chain is validated via
DANE-TA(2) or DANE-EE(3) TLSA records. Also skip SCT processing
when the chain is fails verification.
Move and consolidate CT callbacks from libcrypto to libssl. We
also simplify the interface to SSL_{,CTX_}_enable_ct() which can
specify either a permissive mode that just collects information or
a strict mode that requires at least one valid SCT or else asks to
abort the connection.
Simplified SCT processing and options in s_client(1) which now has
just a simple pair of "-noct" vs. "-ct" options, the latter enables
the permissive callback so that we can complete the handshake and
report all relevant information. When printing SCTs, print the
validation status if set and not valid.
Signed-off-by: Rob Percival <robpercival@google.com>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Viktor Dukhovni [Sat, 2 Apr 2016 20:47:48 +0000 (16:47 -0400)]
Fix client verify mode to check SSL_VERIFY_PEER
The original check for != SSL_VERIFY_NONE can give surprising results
when flags SSL_VERIFY_PEER is not set, but other flags are. Note
that SSL_VERIFY_NONE (0) is not a flag bit, it is rather the absense
of all other flag bits.
Signed-off-by: Rob Percival <robpercival@google.com>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
David Benjamin [Mon, 14 Mar 2016 19:03:07 +0000 (15:03 -0400)]
Fix memory leak on invalid CertificateRequest.
Free up parsed X509_NAME structure if the CertificateRequest message
contains excess data.
The security impact is considered insignificant. This is a client side
only leak and a large number of connections to malicious servers would
be needed to have a significant impact.
This was found by libFuzzer.
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Reviewed-by: Stephen Henson <steve@openssl.org>
Richard Levitte [Thu, 7 Apr 2016 12:30:15 +0000 (14:30 +0200)]
OpenSSL::Test: when moving directory, affect env as well
The environment variables TOP, SRCTOP, BLDTOP, ... are used to affect
the testing framework. However, subprocesses may want to use them as
well, and therefore need their values corrected when we move to a
different directory.
Reviewed-by: Emilia Käsper <emilia@openssl.org>