oweals/openssl.git
9 years agouse correct function name
Dr. Stephen Henson [Tue, 6 Jan 2015 20:55:38 +0000 (20:55 +0000)]
use correct function name

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoRT3662: Allow leading . in nameConstraints
Dr. Stephen Henson [Tue, 6 Jan 2015 20:29:28 +0000 (15:29 -0500)]
RT3662: Allow leading . in nameConstraints

Change by SteveH from original by John Denker (in the RT)

Reviewed-by: Rich Salz <rsalz@openssl.org>
9 years agoSome cleanup of L<> markup in pod files
Rich Salz [Tue, 6 Jan 2015 17:16:24 +0000 (12:16 -0500)]
Some cleanup of L<> markup in pod files

Show only the #define, not the values, in BIO_f_buffer.  Data
abstraction and we can remove a "see also" entry.

Remove internal forward reference to NOTES in EVP_EncryptInit; just
say "see below" as we do in the other pages.

Add missing (3) in pem.pod so the L<> entry is consistent.
Fix entry to point to the "master" page, not the symlink'd one.

Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoFix memory leak.
Martin Brejcha [Sun, 16 Nov 2014 17:04:40 +0000 (17:04 +0000)]
Fix memory leak.

Fix memory leak by freeing up saved_message.data if it is not NULL.

PR#3489
Reviewed-by: Stephen Henson <steve@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoFurther comment amendments to preserve formatting prior to source reformat
Matt Caswell [Mon, 5 Jan 2015 00:34:00 +0000 (00:34 +0000)]
Further comment amendments to preserve formatting prior to source reformat

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoRemove blank line from start of cflags character array in buildinf.h
Matt Caswell [Tue, 6 Jan 2015 15:32:01 +0000 (15:32 +0000)]
Remove blank line from start of cflags character array in buildinf.h

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoCHANGES: mention "universal" ARM support.
Andy Polyakov [Tue, 6 Jan 2015 11:13:36 +0000 (12:13 +0100)]
CHANGES: mention "universal" ARM support.

This is re-commit without unrelated modification.

Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoRevert "CHANGES: mention "universal" ARM support."
Andy Polyakov [Tue, 6 Jan 2015 11:11:01 +0000 (12:11 +0100)]
Revert "CHANGES: mention "universal" ARM support."

This reverts commit 4fec91506975f62a2f93be71a46acc7fae7eef45.

Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoCHANGES: mention "universal" ARM support.
Andy Polyakov [Tue, 6 Jan 2015 10:10:01 +0000 (11:10 +0100)]
CHANGES: mention "universal" ARM support.

Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agofix compilation error
Dr. Stephen Henson [Tue, 6 Jan 2015 02:17:07 +0000 (02:17 +0000)]
fix compilation error

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoOnly allow ephemeral RSA keys in export ciphersuites.
Dr. Stephen Henson [Thu, 23 Oct 2014 16:09:57 +0000 (17:09 +0100)]
Only allow ephemeral RSA keys in export ciphersuites.

OpenSSL clients would tolerate temporary RSA keys in non-export
ciphersuites. It also had an option SSL_OP_EPHEMERAL_RSA which
enabled this server side. Remove both options as they are a
protocol violation.

Thanks to Karthikeyan Bhargavan for reporting this issue.
(CVE-2015-0204)
Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoECDH downgrade bug fix.
Dr. Stephen Henson [Fri, 24 Oct 2014 11:30:33 +0000 (12:30 +0100)]
ECDH downgrade bug fix.

Fix bug where an OpenSSL client would accept a handshake using an
ephemeral ECDH ciphersuites with the server key exchange message omitted.

Thanks to Karthikeyan Bhargavan for reporting this issue.

CVE-2014-3572
Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoRT3546: Remove #define IRIX_CC_BUG
Rich Salz [Mon, 5 Jan 2015 21:05:54 +0000 (16:05 -0500)]
RT3546: Remove #define IRIX_CC_BUG

Leftovers from commit 448155e9bbda27cbba365ff549a7e2044a8a399f
Remove now-unused #define's

Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoupdate ordinals
Dr. Stephen Henson [Mon, 5 Jan 2015 16:50:31 +0000 (16:50 +0000)]
update ordinals

Reviewed-by: Emilia Käsper <emilia@openssl.org>
(cherry picked from commit 31c65a7bc0de7ff1446645d41af388893362f579)

9 years agoEnsure that the session ID context of an SSL* is updated
Adam Langley [Mon, 5 Jan 2015 16:28:33 +0000 (17:28 +0100)]
Ensure that the session ID context of an SSL* is updated
when its SSL_CTX is updated.

From BoringSSL commit
https://boringssl.googlesource.com/boringssl/+/a5dc545bbcffd9c24cebe65e9ab5ce72d4535e3a

Reviewed-by: Rich Salz <rsalz@openssl.org>
9 years agoConstify ASN1_TYPE_cmp add X509_ALGOR_cmp.
Dr. Stephen Henson [Sun, 14 Dec 2014 23:14:15 +0000 (23:14 +0000)]
Constify ASN1_TYPE_cmp add X509_ALGOR_cmp.

Reviewed-by: Emilia Käsper <emilia@openssl.org>
9 years agoFix various certificate fingerprint issues.
Dr. Stephen Henson [Sat, 20 Dec 2014 15:09:50 +0000 (15:09 +0000)]
Fix various certificate fingerprint issues.

By using non-DER or invalid encodings outside the signed portion of a
certificate the fingerprint can be changed without breaking the signature.
Although no details of the signed portion of the certificate can be changed
this can cause problems with some applications: e.g. those using the
certificate fingerprint for blacklists.

1. Reject signatures with non zero unused bits.

If the BIT STRING containing the signature has non zero unused bits reject
the signature. All current signature algorithms require zero unused bits.

2. Check certificate algorithm consistency.

Check the AlgorithmIdentifier inside TBS matches the one in the
certificate signature. NB: this will result in signature failure
errors for some broken certificates.

3. Check DSA/ECDSA signatures use DER.

Reencode DSA/ECDSA signatures and compare with the original received
signature. Return an error if there is a mismatch.

This will reject various cases including garbage after signature
(thanks to Antti Karjalainen and Tuomo Untinen from the Codenomicon CROSS
program for discovering this case) and use of BER or invalid ASN.1 INTEGERs
(negative or with leading zeroes).

CVE-2014-8275
Reviewed-by: Emilia Käsper <emilia@openssl.org>
9 years agoAdditional fix required for no-srtp to work
Matt Caswell [Mon, 22 Dec 2014 11:34:24 +0000 (11:34 +0000)]
Additional fix required for no-srtp to work

RT3638

Reviewed-by: Emilia Käsper <emilia@openssl.org>
9 years agoFix building with no-srtp
Piotr Sikora [Mon, 22 Dec 2014 11:15:51 +0000 (11:15 +0000)]
Fix building with no-srtp

RT3638

Reviewed-by: Emilia Käsper <emilia@openssl.org>
9 years agoAdd a clang build target for linux-x86_64
Emilia Kasper [Mon, 5 Jan 2015 12:46:26 +0000 (13:46 +0100)]
Add a clang build target for linux-x86_64

This change documents the world as-is, by turning all warnings on,
and then turning warnings that trigger off again.

Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoRemove inconsistency in ARM support.
Andy Polyakov [Fri, 7 Nov 2014 21:48:22 +0000 (22:48 +0100)]
Remove inconsistency in ARM support.
This facilitates "universal" builds, ones that target multiple
architectures, e.g. ARMv5 through ARMv7. See commentary in
Configure for details.

Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoecp_nistz256-x86_64.pl: fix occasional failures.
Andy Polyakov [Sun, 4 Jan 2015 20:29:50 +0000 (21:29 +0100)]
ecp_nistz256-x86_64.pl: fix occasional failures.

RT: 3607
Reviewed-by: Adam Langley <agl@google.com>
Reviewed-by: Emilia Kasper <emilia@openssl.org>
9 years agoRT2914: NULL check missing in X509_name_canon
Rich Salz [Sun, 4 Jan 2015 19:51:04 +0000 (14:51 -0500)]
RT2914: NULL check missing in X509_name_canon

Check for NULL return from X509_NAME_ENTRY_new()

Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
9 years agoRemove SGC restart flag.
Dr. Stephen Henson [Fri, 2 Jan 2015 22:40:41 +0000 (22:40 +0000)]
Remove SGC restart flag.

Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoRemove MS SGC
Dr. Stephen Henson [Fri, 24 Oct 2014 01:36:13 +0000 (02:36 +0100)]
Remove MS SGC

MS Server gated cryptography is obsolete and dates from the time of export
restrictions on strong encryption and is only used by ancient versions of
MSIE.
Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoClear existing extension state.
Dr. Stephen Henson [Fri, 5 Dec 2014 13:39:14 +0000 (13:39 +0000)]
Clear existing extension state.

When parsing ClientHello clear any existing extension state from
SRP login and SRTP profile.

Thanks to Karthikeyan Bhargavan for reporting this issue.
Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agotypo in s_client
Dominik Neubauer [Tue, 4 Mar 2014 21:22:29 +0000 (22:22 +0100)]
typo in s_client

Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Geoff Thorpe <geoff@openssl.org>
9 years agoremove duplicate defines
Martin Nowak [Mon, 21 Apr 2014 18:03:07 +0000 (20:03 +0200)]
remove duplicate defines

Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Geoff Thorpe <geoff@openssl.org>
9 years agoconstify tls 1.2 lookup tables.
Cristian Rodríguez [Sun, 20 Apr 2014 21:41:15 +0000 (18:41 -0300)]
constify tls 1.2 lookup tables.

None of this should live in writable memory

Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Geoff Thorpe <geoff@openssl.org>
9 years agoAdd missing include of sys/time.h
Kurt Roeckx [Tue, 30 Dec 2014 16:14:49 +0000 (17:14 +0100)]
Add missing include of sys/time.h

gettimeofday was undefined

Reviewed-by: Geoff Thorpe <geoff@openssl.org>
9 years agomark all block comments that need format preserving so that
Tim Hudson [Sun, 28 Dec 2014 02:48:40 +0000 (12:48 +1000)]
mark all block comments that need format preserving so that
indent will not alter them when reformatting comments

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoMake "run" volatile
Kurt Roeckx [Tue, 16 Dec 2014 11:35:21 +0000 (12:35 +0100)]
Make "run" volatile

RT#3629

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoDocument openssl dgst -hmac option
Thorsten Glaser [Fri, 22 May 2009 16:28:05 +0000 (16:28 +0000)]
Document openssl dgst -hmac option

Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agodlfcn: always define _GNU_SOURCE
Kurt Roeckx [Mon, 23 Dec 2013 18:06:34 +0000 (19:06 +0100)]
dlfcn: always define _GNU_SOURCE

We need this for the freebsd kernel with glibc as used in the Debian kfreebsd
ports.  There shouldn't be a problem defining this on systems not using glibc.

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoFix memory leak in the apps
Kurt Roeckx [Sun, 7 Dec 2014 21:25:39 +0000 (22:25 +0100)]
Fix memory leak in the apps

The BIO_free() allocated ex_data again that we already freed.

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoRT3548: Remove unsupported platforms
Rich Salz [Sun, 28 Dec 2014 06:17:52 +0000 (01:17 -0500)]
RT3548: Remove unsupported platforms

This commit removes DG-UX.
It also flushes out some left-behinds in config.
And regenerates TABLE from Configure (hadn't been done in awhile).

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoRT3548: unsupported platforms
Rich Salz [Thu, 25 Dec 2014 21:16:29 +0000 (16:16 -0500)]
RT3548: unsupported platforms

This commit removes Sinix/ReliantUNIX RM400
(And a missed piece of BEOS fluff)

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoRT3548: Remove unsupported platforms.
Rich Salz [Mon, 22 Dec 2014 22:47:28 +0000 (17:47 -0500)]
RT3548: Remove unsupported platforms.

This commit removes MPE/iX

Reviewed-by: Andy Polyakov <appro@openssl.org>
9 years agoImproves certificates HOWTO
Alok Menghrajani [Mon, 1 Dec 2014 03:21:31 +0000 (19:21 -0800)]
Improves certificates HOWTO

* adds links to various related documents.
* fixes a few typos.
* rewords a few sentences.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
9 years agoSmall typo
Richard Levitte [Mon, 22 Dec 2014 13:30:23 +0000 (14:30 +0100)]
Small typo

Reviewed-by: Stephen Henson <steve@openssl.org>
9 years agoRT3548: Remvoe unsupported platforms
Rich Salz [Mon, 22 Dec 2014 04:18:02 +0000 (23:18 -0500)]
RT3548: Remvoe unsupported platforms

This commit removes SunOS (a sentimental favorite of mine).

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoFix incorrect OPENSSL_assert() usage.
Michael Tuexen [Sun, 16 Nov 2014 17:29:08 +0000 (17:29 +0000)]
Fix incorrect OPENSSL_assert() usage.

Return an error code for I/O errors instead of an assertion failure.

PR#3470
Reviewed-by: Stephen Henson <steve@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoRT3548: Remove outdated platforms
Rich Salz [Sat, 20 Dec 2014 02:11:09 +0000 (21:11 -0500)]
RT3548: Remove outdated platforms

This commit removes all mention of NeXT and NextStep.

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoFix a problem if CFLAGS is too long cversion.c fails to compile when config
Matt Caswell [Fri, 19 Dec 2014 10:55:54 +0000 (10:55 +0000)]
Fix a problem if CFLAGS is too long cversion.c fails to compile when config
is run with --strict-warnings.

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoMade it an error to define OPENSSL_USE_DEPRECATED if OpenSSL has been built
Matt Caswell [Thu, 18 Dec 2014 15:03:09 +0000 (15:03 +0000)]
Made it an error to define OPENSSL_USE_DEPRECATED if OpenSSL has been built
with OPENSSL_NO_DEPRECATED defined

Reviewed-by: Rich Salz <rsalz@openssl.org>
9 years agoUpdate CHANGES for deprecated updates
Matt Caswell [Wed, 17 Dec 2014 14:27:22 +0000 (14:27 +0000)]
Update CHANGES for deprecated updates

Reviewed-by: Rich Salz <rsalz@openssl.org>
9 years agomake update following changes to default config settings
Matt Caswell [Wed, 17 Dec 2014 14:24:21 +0000 (14:24 +0000)]
make update following changes to default config settings

Reviewed-by: Rich Salz <rsalz@openssl.org>
9 years agoChange all instances of OPENSSL_NO_DEPRECATED to OPENSSL_USE_DEPRECATED
Matt Caswell [Wed, 17 Dec 2014 13:30:41 +0000 (13:30 +0000)]
Change all instances of OPENSSL_NO_DEPRECATED to OPENSSL_USE_DEPRECATED
Introduce use of DECLARE_DEPRECATED

Reviewed-by: Rich Salz <rsalz@openssl.org>
9 years agoRemove redundant OPENSSL_NO_DEPRECATED suppression
Matt Caswell [Wed, 17 Dec 2014 13:21:54 +0000 (13:21 +0000)]
Remove redundant OPENSSL_NO_DEPRECATED suppression

Reviewed-by: Rich Salz <rsalz@openssl.org>
9 years agoTurn on OPENSSL_NO_DEPRECATED by default.
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>
9 years agoRT3548: Remove some obsolete platforms
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>
9 years agoReturn error when a bit string indicates an invalid amount of bits left
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>
9 years agoFix yet anoither 'make clean' breakage.
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>
9 years agoRT3548: Remove some obsolete platforms
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>
9 years agoRT3544: Restore MWERKS for NetWare
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>
9 years agoReject invalid constructed encodings.
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>
9 years agoAdd a comment noting the padding oracle.
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>
9 years agoRevert "RT3425: constant-time evp_enc"
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>
9 years agoBuild fixes
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)

9 years agoPremaster secret handling fixes
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>
9 years agoClear warnings/errors within RL_DEBUG code sections (RL_DEBUG should be renamed)
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>
9 years agoClear warnings/errors within TLS_DEBUG code sections
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>
9 years agoClear warnings/errors within KSSL_DEBUG code sections
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>
9 years agoClear warnings/errors within CIPHER_DEBUG code sections
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>
9 years agoClear warnings/errors within CIPHER_DEBUG code sections
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>
9 years agoClear warnings/errors within BN_CTX_DEBUG code sections
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>
9 years agoCheck for invalid divisors in BN_div.
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)

9 years agoThe dtls1_output_cert_chain function no longer exists so remove it from
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>
9 years agoDon't set client_version to the ServerHello version.
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>
9 years agoAdd more meaningful OPENSSL_NO_ECDH error message for suite b mode
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>
9 years agoRename gost2814789t.c to gost2814789test.c. The old name caused problems
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>
9 years agoAdd missing OPENSSL_NO_EC guards
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>
9 years agoAdd OPENSSL_NO_ECDH guards
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>
9 years agoRemove extraneous white space, and add some braces
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>
9 years agoDTLS fixes for signed/unsigned issues
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>
9 years agoRT3497: The ticket that keeps on giving.
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>
9 years agoAllow using -SSLv2 again when setting Protocol in the config.
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>
9 years agoRT3497: Fix; don't remove header files
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>
9 years agoFix unused variable warning
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>
9 years agoFixed memory leak if BUF_MEM_grow fails
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>
9 years agoRT1688: Add dependencies for parallel make
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>
9 years agomake update
Matt Caswell [Thu, 11 Dec 2014 23:33:10 +0000 (23:33 +0000)]
make update

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoMinor doc fixes.
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>
9 years agoRT3497: Clean up "dclean" targets
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>
9 years agoRT3543: Remove #ifdef LINT
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>
9 years agoRemove old private pod2man
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>
9 years agocapi_ctrl, capi_vtrace: check for NULL after allocating and free it
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>
9 years agotree_print: check for NULL after allocating err
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>
9 years agotls1_heartbeat: check for NULL after allocating buf
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>
9 years agotls1_process_heartbeat: check for NULL after allocating buffer
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>
9 years agoSSL_set_session: check for NULL after allocating s->kssl_ctx->client_princ
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>
9 years agoserverinfo_process_buffer: check result of realloc(ctx->cert->key->serverinfo) and...
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>
9 years agossl3_digest_cached_records: check for NULL after allocating s->s3->handshake_dgst
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>
9 years agossl3_get_certificate_request: check for NULL after allocating s->cert->ctypes
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>
9 years agoSSL_COMP_add_compression_method: exit if allocating the new compression method struct...
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>
9 years agoMove bn internal functions into bn_int.h and bn_lcl.h
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>
9 years agoUpdate documentation following BN opaquify
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>
9 years agoMake bn opaque
Matt Caswell [Tue, 28 Oct 2014 23:16:06 +0000 (23:16 +0000)]
Make bn opaque

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoUpdate apps for bn opaque change
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>
9 years agoDisable engines that will fail to build when bn is made opaque
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>