Matt Caswell [Wed, 17 Dec 2014 13:17:26 +0000 (13:17 +0000)]
Turn on OPENSSL_NO_DEPRECATED by default.
Also introduce OPENSSL_USE_DEPRECATED. If OPENSSL_NO_DEPRECATED is
defined at config stage then OPENSSL_USE_DEPRECATED has no effect -
deprecated functions are not available.
If OPENSSL_NO_DEPRECATED is not defined at config stage then
applications must define OPENSSL_USE_DEPRECATED in order to access
deprecated functions.
Also introduce compiler warnings for gcc for applications using
deprecated functions
Reviewed-by: Rich Salz <rsalz@openssl.org>
Rich Salz [Thu, 18 Dec 2014 19:17:33 +0000 (14:17 -0500)]
RT3548: Remove some obsolete platforms
This commit removes Sony NEWS4
Reviewed-by: Richard Levitte <levitte@openssl.org>
Kurt Roeckx [Mon, 15 Dec 2014 16:15:16 +0000 (17:15 +0100)]
Return error when a bit string indicates an invalid amount of bits left
Reviewed-by: Matt Caswell <matt@openssl.org>
Rich Salz [Thu, 18 Dec 2014 05:13:46 +0000 (00:13 -0500)]
Fix yet anoither 'make clean' breakage.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Rich Salz [Wed, 17 Dec 2014 22:24:51 +0000 (17:24 -0500)]
RT3548: Remove some obsolete platforms
This commit removes BEOS.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Rich Salz [Wed, 17 Dec 2014 22:20:42 +0000 (17:20 -0500)]
RT3544: Restore MWERKS for NetWare
Reviewed-by: Richard Levitte <levitte@openssl.org>
Dr. Stephen Henson [Tue, 16 Dec 2014 23:13:19 +0000 (23:13 +0000)]
Reject invalid constructed encodings.
According to X6.90 null, object identifier, boolean, integer and enumerated
types can only have primitive encodings: return an error if any of
these are received with a constructed encoding.
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Emilia Kasper [Wed, 17 Dec 2014 11:25:28 +0000 (12:25 +0100)]
Add a comment noting the padding oracle.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Emilia Kasper [Wed, 17 Dec 2014 11:08:27 +0000 (12:08 +0100)]
Revert "RT3425: constant-time evp_enc"
Causes more problems than it fixes: even though error codes
are not part of the stable API, several users rely on the
specific error code, and the change breaks them. Conversely,
we don't have any concrete use-cases for constant-time behaviour here.
This reverts commit
4aac102f75b517bdb56b1bcfd0a856052d559f6e.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Emilia Kasper [Mon, 15 Dec 2014 15:37:13 +0000 (16:37 +0100)]
Build fixes
Various build fixes, mostly uncovered by clang's unused-const-variable
and unused-function errors.
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
(cherry picked from commit
0e1c318ece3c82e96ae95a34a1badf58198d6b28)
Adam Langley [Tue, 16 Dec 2014 13:03:47 +0000 (14:03 +0100)]
Premaster secret handling fixes
From BoringSSL
- Send an alert when the client key exchange isn't correctly formatted.
- Reject overly short RSA ciphertexts to avoid a (benign) out-of-bounds memory access.
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Richard Levitte [Tue, 16 Dec 2014 10:04:53 +0000 (11:04 +0100)]
Clear warnings/errors within RL_DEBUG code sections (RL_DEBUG should be renamed)
Reviewed-by: Tim Hudson <tjh@openssl.org>
Richard Levitte [Tue, 16 Dec 2014 10:04:19 +0000 (11:04 +0100)]
Clear warnings/errors within TLS_DEBUG code sections
Reviewed-by: Tim Hudson <tjh@openssl.org>
Richard Levitte [Tue, 16 Dec 2014 03:13:41 +0000 (04:13 +0100)]
Clear warnings/errors within KSSL_DEBUG code sections
Reviewed-by: Tim Hudson <tjh@openssl.org>
Richard Levitte [Tue, 16 Dec 2014 01:54:50 +0000 (02:54 +0100)]
Clear warnings/errors within CIPHER_DEBUG code sections
Reviewed-by: Tim Hudson <tjh@openssl.org>
Richard Levitte [Tue, 16 Dec 2014 01:54:03 +0000 (02:54 +0100)]
Clear warnings/errors within CIPHER_DEBUG code sections
Reviewed-by: Tim Hudson <tjh@openssl.org>
Richard Levitte [Tue, 16 Dec 2014 00:38:39 +0000 (01:38 +0100)]
Clear warnings/errors within BN_CTX_DEBUG code sections
Reviewed-by: Tim Hudson <tjh@openssl.org>
Emilia Kasper [Mon, 15 Dec 2014 13:52:22 +0000 (14:52 +0100)]
Check for invalid divisors in BN_div.
Invalid zero-padding in the divisor could cause a division by 0.
Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit
a43bcd9e96c5180e5c6c82164ece643c0097485e)
Matt Caswell [Wed, 3 Dec 2014 10:33:08 +0000 (10:33 +0000)]
The dtls1_output_cert_chain function no longer exists so remove it from
ssl_locl.h
Reviewed-by: Tim Hudson <tjh@openssl.org>
Adam Langley [Sat, 13 Dec 2014 20:13:10 +0000 (20:13 +0000)]
Don't set client_version to the ServerHello version.
The client_version needs to be preserved for the RSA key exchange.
This change also means that renegotiation will, like TLS, repeat the old
client_version rather than advertise only the final version. (Either way,
version change on renego is not allowed.) This is necessary in TLS to work
around an SChannel bug, but it's not strictly necessary in DTLS.
(From BoringSSL)
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Matt Caswell [Tue, 16 Dec 2014 10:53:36 +0000 (10:53 +0000)]
Add more meaningful OPENSSL_NO_ECDH error message for suite b mode
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Matt Caswell [Wed, 19 Nov 2014 14:07:36 +0000 (14:07 +0000)]
Rename gost2814789t.c to gost2814789test.c. The old name caused problems
for dummytest if gost is compiled out, since the name of the test is not
standard (dummytest segfaults). Also the old name caused problems for git
because the executable was not in the .gitignore file
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Matt Caswell [Tue, 18 Nov 2014 17:16:57 +0000 (17:16 +0000)]
Add missing OPENSSL_NO_EC guards
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Matt Caswell [Tue, 18 Nov 2014 16:54:07 +0000 (16:54 +0000)]
Add OPENSSL_NO_ECDH guards
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Matt Caswell [Mon, 15 Dec 2014 20:48:33 +0000 (20:48 +0000)]
Remove extraneous white space, and add some braces
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Matt Caswell [Fri, 12 Dec 2014 15:32:24 +0000 (15:32 +0000)]
DTLS fixes for signed/unsigned issues
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Rich Salz [Mon, 15 Dec 2014 17:24:25 +0000 (12:24 -0500)]
RT3497: The ticket that keeps on giving.
Don't remove c_rehash that wasn't created by make; this script
is created by configure.
This fix brought to you by the letter "f" and
Reviewed-by: Emilia Kasper <emilia@openssl.org>
Kurt Roeckx [Wed, 10 Dec 2014 12:38:57 +0000 (13:38 +0100)]
Allow using -SSLv2 again when setting Protocol in the config.
RT#3625
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Rich Salz [Mon, 15 Dec 2014 14:18:11 +0000 (09:18 -0500)]
RT3497: Fix; don't remove header files
Doing 'config ; make clean' broke because clean removed
header files that normal build didn't create. So don't
remove those files. Hopefully will be better addressed by
Geoff's no-symlinks patch.
Reviewed-by: Matt Caswell <matt@openssl.org>
Emilia Kasper [Fri, 12 Dec 2014 16:45:46 +0000 (17:45 +0100)]
Fix unused variable warning
The temporary variable causes unused variable warnings in opt mode with clang,
because the subsequent assert is compiled out.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Matt Caswell [Fri, 12 Dec 2014 11:03:00 +0000 (11:03 +0000)]
Fixed memory leak if BUF_MEM_grow fails
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Rich Salz [Fri, 12 Dec 2014 18:17:51 +0000 (13:17 -0500)]
RT1688: Add dependencies for parallel make
Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
Matt Caswell [Thu, 11 Dec 2014 23:33:10 +0000 (23:33 +0000)]
make update
Reviewed-by: Tim Hudson <tjh@openssl.org>
Rich Salz [Thu, 11 Dec 2014 22:05:57 +0000 (17:05 -0500)]
Minor doc fixes.
In EVP_EncryptInit remove duplicate mention of EVP_idea_cbc()
In EVP_PKEY_CTX_ctrl.pod remove EVP_PKEY_get_default_digest_nid
since it is documented elsewhere.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Rich Salz [Thu, 11 Dec 2014 22:01:16 +0000 (17:01 -0500)]
RT3497: Clean up "dclean" targets
Some Makefiles had actions for "dclean" that really belonged
to the "clean" target. This is wrong because clean ends up,
well, not really cleaning everything.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Rich Salz [Tue, 23 Sep 2014 17:23:09 +0000 (13:23 -0400)]
RT3543: Remove #ifdef LINT
I also replaced some exit/return wrappers in various
programs (from main) to standardize on return.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Rich Salz [Wed, 10 Dec 2014 22:10:59 +0000 (17:10 -0500)]
Remove old private pod2man
Include Richard's point to remove the 'sh -c' wrapper
Reviewed-by: Richard Levitte <levitte@openssl.org>
Kurt Roeckx [Mon, 9 Dec 2013 21:03:34 +0000 (22:03 +0100)]
capi_ctrl, capi_vtrace: check for NULL after allocating and free it
Reviewed-by: Matt Caswell <matt@openssl.org>
Jonas Maebe [Mon, 9 Dec 2013 21:02:35 +0000 (22:02 +0100)]
tree_print: check for NULL after allocating err
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Matt Caswell <matt@openssl.org>
Jonas Maebe [Mon, 9 Dec 2013 16:21:43 +0000 (17:21 +0100)]
tls1_heartbeat: check for NULL after allocating buf
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Matt Caswell <matt@openssl.org>
Jonas Maebe [Sun, 7 Dec 2014 16:38:51 +0000 (17:38 +0100)]
tls1_process_heartbeat: check for NULL after allocating buffer
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Matt Caswell <matt@openssl.org>
Jonas Maebe [Mon, 9 Dec 2013 16:02:44 +0000 (17:02 +0100)]
SSL_set_session: check for NULL after allocating s->kssl_ctx->client_princ
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Matt Caswell <matt@openssl.org>
Jonas Maebe [Mon, 9 Dec 2013 15:57:04 +0000 (16:57 +0100)]
serverinfo_process_buffer: check result of realloc(ctx->cert->key->serverinfo) and don't leak memory if it fails
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Matt Caswell <matt@openssl.org>
Jonas Maebe [Mon, 9 Dec 2013 15:45:44 +0000 (16:45 +0100)]
ssl3_digest_cached_records: check for NULL after allocating s->s3->handshake_dgst
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Matt Caswell <matt@openssl.org>
Jonas Maebe [Sun, 8 Dec 2013 22:30:09 +0000 (23:30 +0100)]
ssl3_get_certificate_request: check for NULL after allocating s->cert->ctypes
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Matt Caswell <matt@openssl.org>
Jonas Maebe [Mon, 2 Dec 2013 21:07:02 +0000 (22:07 +0100)]
SSL_COMP_add_compression_method: exit if allocating the new compression method struct fails
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Matt Caswell <matt@openssl.org>
Matt Caswell [Sun, 2 Nov 2014 20:16:59 +0000 (20:16 +0000)]
Move bn internal functions into bn_int.h and bn_lcl.h
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Sun, 2 Nov 2014 19:45:04 +0000 (19:45 +0000)]
Update documentation following BN opaquify
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Tue, 28 Oct 2014 23:16:06 +0000 (23:16 +0000)]
Make bn opaque
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Tue, 28 Oct 2014 23:36:27 +0000 (23:36 +0000)]
Update apps for bn opaque change
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Tue, 28 Oct 2014 23:04:39 +0000 (23:04 +0000)]
Disable engines that will fail to build when bn is made opaque
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Tue, 28 Oct 2014 23:04:10 +0000 (23:04 +0000)]
Implement internally opaque bn access from ts
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Thu, 30 Oct 2014 23:21:39 +0000 (23:21 +0000)]
Implement internally opaque bn access from srp
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Tue, 28 Oct 2014 23:00:29 +0000 (23:00 +0000)]
Implement internally opaque bn access from rsa
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Tue, 28 Oct 2014 22:59:34 +0000 (22:59 +0000)]
Implement internally opaque bn access from evp
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Tue, 28 Oct 2014 22:58:56 +0000 (22:58 +0000)]
Implement internally opaque bn access from ec
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Tue, 28 Oct 2014 22:56:18 +0000 (22:56 +0000)]
Implement internally opaque bn access from dsa
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Thu, 30 Oct 2014 23:58:19 +0000 (23:58 +0000)]
Implement internally opaque bn access from dh
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Fri, 31 Oct 2014 00:01:18 +0000 (00:01 +0000)]
Implement internally opaque bn access from asn1
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Mon, 24 Nov 2014 10:36:27 +0000 (10:36 +0000)]
Prepare exptest for bn opaquify
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Mon, 24 Nov 2014 10:06:20 +0000 (10:06 +0000)]
Prepare for bn opaquify. Implement internal helper functions.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Mon, 24 Nov 2014 10:05:04 +0000 (10:05 +0000)]
Remove internal bn dependancies from speed.c
Reviewed-by: Tim Hudson <tjh@openssl.org>
Geoff Thorpe [Sat, 11 Oct 2014 18:31:53 +0000 (14:31 -0400)]
Include <openssl/foo.h> instead of "foo.h"
Exported headers shouldn't be included as "foo.h" by code from the same
module, it should only do so for module-internal headers. This is
because the symlinking of exported headers (from include/openssl/foo.h
to crypto/foo/foo.h) is being removed, and the exported headers are
being moved to the include/openssl/ directory instead.
Change-Id: I4c1d80849544713308ddc6999a549848afc25f94
Signed-off-by: Geoff Thorpe <geoff@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Matt Caswell [Thu, 4 Dec 2014 09:56:16 +0000 (09:56 +0000)]
Fixed memory leak in the event of a failure of BUF_MEM_grow
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Thu, 4 Dec 2014 09:46:44 +0000 (09:46 +0000)]
Fix memory leak in SSL_new if errors occur.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Dr. Stephen Henson [Mon, 8 Dec 2014 13:59:28 +0000 (13:59 +0000)]
Remove fips directories from mkfiles.pl
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Mon, 8 Dec 2014 12:34:52 +0000 (12:34 +0000)]
Remove references to deleted fips directory from Makefile.org
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Mon, 20 Oct 2014 12:13:59 +0000 (13:13 +0100)]
remove OPENSSL_FIPSAPI
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sun, 19 Oct 2014 00:43:06 +0000 (01:43 +0100)]
remove FIPS_*_SIZE_T
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sun, 19 Oct 2014 00:29:04 +0000 (01:29 +0100)]
remove FIPS module code from crypto/evp
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sun, 19 Oct 2014 00:28:41 +0000 (01:28 +0100)]
remove FIPS module code from crypto/bn
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sun, 19 Oct 2014 00:14:21 +0000 (01:14 +0100)]
remove FIPS module code from crypto/ecdh
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sun, 19 Oct 2014 00:11:59 +0000 (01:11 +0100)]
remove FIPS module code from crypto/ecdsa
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sun, 19 Oct 2014 00:08:28 +0000 (01:08 +0100)]
Remove FIPS module code from crypto/dh
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sun, 19 Oct 2014 00:06:56 +0000 (01:06 +0100)]
remove FIPS module code from crypto/dsa
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sun, 19 Oct 2014 00:04:07 +0000 (01:04 +0100)]
remove FIPS module code from crypto/rsa
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sat, 18 Oct 2014 23:44:19 +0000 (00:44 +0100)]
Remove FIPS error library from openssl.ec mkerr.pl
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sat, 18 Oct 2014 23:42:08 +0000 (00:42 +0100)]
make depend
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sat, 18 Oct 2014 23:40:07 +0000 (00:40 +0100)]
Remove fips.h reference.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sat, 18 Oct 2014 23:35:57 +0000 (00:35 +0100)]
Remove fips_constseg references.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sat, 18 Oct 2014 23:31:28 +0000 (00:31 +0100)]
remove another FIPSCANISTER reference
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sat, 18 Oct 2014 23:22:10 +0000 (00:22 +0100)]
remove unnecessary OPENSSL_FIPS reference
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sat, 18 Oct 2014 22:59:37 +0000 (23:59 +0100)]
Remove OPENSSL_FIPSCANISTER code.
OPENSSL_FIPSCANISTER is only set if the fips module is being built
(as opposed to being used). Since the fips module wont be built in
master this is redundant.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sat, 18 Oct 2014 22:59:11 +0000 (23:59 +0100)]
Remove FIPSCANISTERINTERNAL reference.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sat, 18 Oct 2014 22:56:45 +0000 (23:56 +0100)]
Remove fips utility build rules from test/Makefile
The fips test utilities are only build if an FIPS module is being
built from source. As this isn't done in master these are redundant.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sat, 18 Oct 2014 22:47:03 +0000 (23:47 +0100)]
Remove fipscanister build functionality from makefiles.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sat, 18 Oct 2014 22:46:00 +0000 (23:46 +0100)]
Remove fipscanister from Configure, delete fips directory
Reviewed-by: Tim Hudson <tjh@openssl.org>
Dr. Stephen Henson [Sat, 18 Oct 2014 19:14:36 +0000 (20:14 +0100)]
Remove some unnecessary OPENSSL_FIPS references
FIPS_mode() exists in all versions of OpenSSL but always returns 0 if OpenSSL is not FIPS
capable.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Mon, 8 Dec 2014 00:04:25 +0000 (00:04 +0000)]
Add CHANGES entry for OCB
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Sun, 7 Dec 2014 23:53:22 +0000 (23:53 +0000)]
Added OPENSSL_NO_OCB guards
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Sat, 6 Dec 2014 20:55:53 +0000 (20:55 +0000)]
Add documentation for OCB mode
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Sat, 6 Dec 2014 20:55:36 +0000 (20:55 +0000)]
Add tests for OCB mode
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Sat, 6 Dec 2014 20:55:10 +0000 (20:55 +0000)]
Add EVP support for OCB mode
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Sat, 6 Dec 2014 20:53:35 +0000 (20:53 +0000)]
Add support for OCB mode as per RFC7253
Reviewed-by: Tim Hudson <tjh@openssl.org>
Emilia Kasper [Thu, 4 Dec 2014 14:00:11 +0000 (15:00 +0100)]
Clarify the return values for SSL_get_shared_curve.
Reviewed-by: Matt Caswell <matt@openssl.org>
Emilia Kasper [Mon, 1 Dec 2014 15:55:55 +0000 (16:55 +0100)]
Add extra checks for odd-length EC curve lists.
Odd-length lists should be rejected everywhere upon parsing. Nevertheless,
be extra careful and add guards against off-by-one reads.
Also, drive-by replace inexplicable double-negation with an explicit comparison.
Reviewed-by: Matt Caswell <matt@openssl.org>
Emilia Kasper [Mon, 1 Dec 2014 14:04:02 +0000 (15:04 +0100)]
Reject elliptic curve lists of odd lengths.
The Supported Elliptic Curves extension contains a vector of NamedCurves
of 2 bytes each, so the total length must be even. Accepting odd-length
lists was observed to lead to a non-exploitable one-byte out-of-bounds
read in the latest development branches (1.0.2 and master). Released
versions of OpenSSL are not affected.
Thanks to Felix Groebert of the Google Security Team for reporting this issue.
Reviewed-by: Matt Caswell <matt@openssl.org>
Emilia Kasper [Fri, 5 Dec 2014 15:08:12 +0000 (16:08 +0100)]
Fix broken build
Add includes missing from commit
33eab3f6af51c6d7fe68ee4960930df4f1616bd5
Reviewed-by: Geoff Thorpe <geoff@openssl.org>
Kurt Roeckx [Thu, 4 Dec 2014 17:34:29 +0000 (18:34 +0100)]
Replace GOST_R_MALLOC_FAILURE and GOST_R_NO_MEMORY with ERR_R_MALLOC_FAILURE
Reviewed-by: Richard Levitte <levitte@openssl.org>
Kurt Roeckx [Thu, 4 Dec 2014 17:16:42 +0000 (18:16 +0100)]
capi_get_provname: Check return values
Reviewed-by: Richard Levitte <levitte@openssl.org>