oweals/openssl.git
10 years agoFixed out-of-bounds read errors in ssl3_get_key_exchange.
Matt Caswell [Sat, 26 Jul 2014 22:47:40 +0000 (23:47 +0100)]
Fixed out-of-bounds read errors in ssl3_get_key_exchange.

PR#3450

Reviewed-by: Emilia Käsper <emilia@openssl.org>
10 years agoFix use after free bug.
Istvan Noszticzius [Fri, 15 Aug 2014 15:43:28 +0000 (16:43 +0100)]
Fix use after free bug.

Reviewed-by: Stephen Henson <steve@openssl.org>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
(cherry picked from commit 5afa57fb7b17aa51cfba1ffa94e900fc7a5f0e04)

10 years agoFurther improve/fix ec_GFp_simple_points_make_affine (ecp_smpl.c) and
Bodo Moeller [Wed, 13 Aug 2014 15:37:19 +0000 (17:37 +0200)]
Further improve/fix ec_GFp_simple_points_make_affine (ecp_smpl.c) and
group_order_tests (ectest.c).  Also fix the EC_POINTs_mul documentation (ec.h).

Reviewed-by: emilia@openssl.org
10 years agoFix SRP authentication ciphersuites.
Dr. Stephen Henson [Fri, 8 Aug 2014 10:24:25 +0000 (11:24 +0100)]
Fix SRP authentication ciphersuites.

The addition of SRP authentication needs to be checked in various places
to work properly. Specifically:

A certificate is not sent.
A certificate request must not be sent.
Server key exchange message must not contain a signature.
If appropriate SRP authentication ciphersuites should be chosen.
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit 8f5a8805b82d1ae81168b11b7f1506db9e047dec)

10 years agoTest SRP authentication ciphersuites.
Dr. Stephen Henson [Fri, 8 Aug 2014 10:19:39 +0000 (11:19 +0100)]
Test SRP authentication ciphersuites.

Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit 193c1c07165b0042abd217274a084b49459d4443)

10 years agoOnly use FIPS EC methods in FIPS mode.
Dr. Stephen Henson [Thu, 7 Aug 2014 00:08:14 +0000 (01:08 +0100)]
Only use FIPS EC methods in FIPS mode.

Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit 1433cac53c93f9f109290389f60b17078a572d3d)

10 years agoCheck SRP parameters early.
Dr. Stephen Henson [Fri, 1 Aug 2014 13:56:56 +0000 (14:56 +0100)]
Check SRP parameters early.

Check SRP parameters when they are received so we can send back an
appropriate alert.
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
10 years agoFix SRP buffer overrun vulnerability.
Dr. Stephen Henson [Thu, 31 Jul 2014 19:56:22 +0000 (20:56 +0100)]
Fix SRP buffer overrun vulnerability.

Invalid parameters passed to the SRP code can be overrun an internal
buffer. Add sanity check that g, A, B < N to SRP code.

Thanks to Sean Devlin and Watson Ladd of Cryptography Services, NCC
Group for reporting this issue.

10 years agoFix SRP ciphersuite DoS vulnerability.
Dr. Stephen Henson [Thu, 24 Jul 2014 23:50:06 +0000 (00:50 +0100)]
Fix SRP ciphersuite DoS vulnerability.

If a client attempted to use an SRP ciphersuite and it had not been
set up correctly it would crash with a null pointer read. A malicious
server could exploit this in a DoS attack.

Thanks to Joonas Kuorilehto and Riku Hietamäki from Codenomicon
for reporting this issue.

CVE-2014-2970
Reviewed-by: Tim Hudson <tjh@openssl.org>
10 years agoFix race condition in ssl_parse_serverhello_tlsext
Gabor Tyukasz [Wed, 23 Jul 2014 21:42:06 +0000 (23:42 +0200)]
Fix race condition in ssl_parse_serverhello_tlsext

CVE-2014-3509
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
10 years agoFix OID handling:
Emilia Kasper [Wed, 2 Jul 2014 17:02:33 +0000 (19:02 +0200)]
Fix OID handling:

- Upon parsing, reject OIDs with invalid base-128 encoding.
- Always NUL-terminate the destination buffer in OBJ_obj2txt printing function.

CVE-2014-3508

Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
10 years agoFix DTLS anonymous EC(DH) denial of service
Emilia Käsper [Thu, 24 Jul 2014 20:15:29 +0000 (22:15 +0200)]
Fix DTLS anonymous EC(DH) denial of service

CVE-2014-3510

Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
10 years agoFix protocol downgrade bug in case of fragmented packets
David Benjamin [Wed, 23 Jul 2014 20:32:21 +0000 (22:32 +0200)]
Fix protocol downgrade bug in case of fragmented packets

CVE-2014-3511

Reviewed-by: Emilia Käsper <emilia@openssl.org>
Reviewed-by: Bodo Möller <bodo@openssl.org>
10 years agoRemove some duplicate DTLS code.
Adam Langley [Fri, 6 Jun 2014 21:47:07 +0000 (14:47 -0700)]
Remove some duplicate DTLS code.

In a couple of functions, a sequence number would be calculated twice.

Additionally, in |dtls1_process_out_of_seq_message|, we know that
|frag_len| <= |msg_hdr->msg_len| so the later tests for |frag_len <
msg_hdr->msg_len| can be more clearly written as |frag_len !=
msg_hdr->msg_len|, since that's the only remaining case.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
10 years agoApplying same fix as in dtls1_process_out_of_seq_message. A truncated DTLS fragment...
Matt Caswell [Thu, 24 Jul 2014 22:54:28 +0000 (23:54 +0100)]
Applying same fix as in dtls1_process_out_of_seq_message. A truncated DTLS fragment would cause *ok to be clear, but the return value would still be the number of bytes read.

Problem identified by Emilia Käsper, based on previous issue/patch by Adam
Langley.

Reviewed-by: Emilia Käsper <emilia@openssl.org>
10 years agoFix return code for truncated DTLS fragment.
Adam Langley [Fri, 6 Jun 2014 21:44:20 +0000 (14:44 -0700)]
Fix return code for truncated DTLS fragment.

Previously, a truncated DTLS fragment in
|dtls1_process_out_of_seq_message| would cause *ok to be cleared, but
the return value would still be the number of bytes read. This would
cause |dtls1_get_message| not to consider it an error and it would
continue processing as normal until the calling function noticed that
*ok was zero.

I can't see an exploit here because |dtls1_get_message| uses
|s->init_num| as the length, which will always be zero from what I can
see.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
10 years agoFix memory leak from zero-length DTLS fragments.
Adam Langley [Fri, 6 Jun 2014 21:30:33 +0000 (14:30 -0700)]
Fix memory leak from zero-length DTLS fragments.

The |pqueue_insert| function can fail if one attempts to insert a
duplicate sequence number. When handling a fragment of an out of
sequence message, |dtls1_process_out_of_seq_message| would not call
|dtls1_reassemble_fragment| if the fragment's length was zero. It would
then allocate a fresh fragment and attempt to insert it, but ignore the
return value, leaking the fragment.

This allows an attacker to exhaust the memory of a DTLS peer.

Fixes CVE-2014-3507

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
10 years agoFix DTLS handshake message size checks.
Matt Caswell [Fri, 6 Jun 2014 21:25:52 +0000 (14:25 -0700)]
Fix DTLS handshake message size checks.

In |dtls1_reassemble_fragment|, the value of
|msg_hdr->frag_off+frag_len| was being checked against the maximum
handshake message size, but then |msg_len| bytes were allocated for the
fragment buffer. This means that so long as the fragment was within the
allowed size, the pending handshake message could consume 16MB + 2MB
(for the reassembly bitmap). Approx 10 outstanding handshake messages
are allowed, meaning that an attacker could consume ~180MB per DTLS
connection.

In the non-fragmented path (in |dtls1_process_out_of_seq_message|), no
check was applied.

Fixes CVE-2014-3506

Wholly based on patch by Adam Langley with one minor amendment.

Reviewed-by: Emilia Käsper <emilia@openssl.org>
10 years agoAdded comment for the frag->reassembly == NULL case as per feedback from Emilia
Matt Caswell [Thu, 24 Jul 2014 22:33:34 +0000 (23:33 +0100)]
Added comment for the frag->reassembly == NULL case as per feedback from Emilia

Reviewed-by: Emilia Käsper <emilia@openssl.org>
10 years agoAvoid double free when processing DTLS packets.
Adam Langley [Fri, 6 Jun 2014 21:19:21 +0000 (14:19 -0700)]
Avoid double free when processing DTLS packets.

The |item| variable, in both of these cases, may contain a pointer to a
|pitem| structure within |s->d1->buffered_messages|. It was being freed
in the error case while still being in |buffered_messages|. When the
error later caused the |SSL*| to be destroyed, the item would be double
freed.

Thanks to Wah-Teh Chang for spotting that the fix in 1632ef74 was
inconsistent with the other error paths (but correct).

Fixes CVE-2014-3505

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
10 years agomake update
Dr. Stephen Henson [Fri, 1 Aug 2014 19:15:48 +0000 (20:15 +0100)]
make update

Reviewed-by: Tim Hudson <tjh@openssl.org>
10 years agoFix error discrepancy.
Dr. Stephen Henson [Thu, 31 Jul 2014 20:22:23 +0000 (21:22 +0100)]
Fix error discrepancy.

We can't rename ssleay_rand_bytes to md_rand_bytes_lock as this will cause
an error code discrepancy. Instead keep ssleay_rand_bytes and add an
extra parameter: since ssleay_rand_bytes is not part of the public API
this wont cause any binary compatibility issues.
Reviewed-by: Kurt Roeckx <kurt@openssl.org >
10 years agoUpdate $default_depflags to match current defaults.
Bodo Moeller [Fri, 1 Aug 2014 17:03:03 +0000 (19:03 +0200)]
Update $default_depflags to match current defaults.

10 years agoClean up CHANGES files: If a change is already present in 1.0.1f or 1.0.1h,
Bodo Moeller [Fri, 1 Aug 2014 16:38:56 +0000 (18:38 +0200)]
Clean up CHANGES files: If a change is already present in 1.0.1f or 1.0.1h,
don't list it again under changes between 1.0.1h and 1.0.2.

10 years agoSimplify and fix ec_GFp_simple_points_make_affine
Bodo Moeller [Fri, 1 Aug 2014 15:18:14 +0000 (17:18 +0200)]
Simplify and fix ec_GFp_simple_points_make_affine
(which didn't always handle value 0 correctly).

Reviewed-by: emilia@openssl.org
10 years agoAvoid multiple lock using FIPS DRBG.
Dr. Stephen Henson [Wed, 30 Jul 2014 14:13:08 +0000 (15:13 +0100)]
Avoid multiple lock using FIPS DRBG.

Don't use multiple locks when SP800-90 DRBG is used outside FIPS mode.

PR#3176
Reviewed-by: Rich Salz <rsalz@openssl.org>
10 years agoAdd conditional unit testing interface.
Dr. Stephen Henson [Wed, 23 Jul 2014 12:18:06 +0000 (13:18 +0100)]
Add conditional unit testing interface.

Don't call internal functions directly call them through
SSL_test_functions(). This also makes unit testing work on
Windows and platforms that don't export internal functions
from shared libraries.

By default unit testing is not enabled: it requires the compile
time option "enable-unit-test".
Reviewed-by: Geoff Thorpe <geoff@openssl.org>
(cherry picked from commit e0fc7961c4fbd27577fb519d9aea2dc788742715)

Conflicts:

ssl/heartbeat_test.c
ssl/ssl.h
util/mkdef.pl

10 years agoPrepare for 1.0.2-beta3-dev
Matt Caswell [Tue, 22 Jul 2014 20:31:04 +0000 (21:31 +0100)]
Prepare for 1.0.2-beta3-dev

Reviewed-by: Stephen Henson <steve@openssl.org>
10 years agoPrepare for 1.0.2-beta2 release OpenSSL_1_0_2-beta2
Matt Caswell [Tue, 22 Jul 2014 20:30:33 +0000 (21:30 +0100)]
Prepare for 1.0.2-beta2 release

Reviewed-by: Stephen Henson <steve@openssl.org>
10 years agomake update
Matt Caswell [Tue, 22 Jul 2014 20:30:33 +0000 (21:30 +0100)]
make update

Reviewed-by: Stephen Henson <steve@openssl.org>
10 years agoupdate $default_depflags
Dr. Stephen Henson [Tue, 22 Jul 2014 19:55:29 +0000 (20:55 +0100)]
update $default_depflags

Reviewed-by: Matt Caswell <matt@openssl.org>
10 years agoCHANGES: mention new platforms.
Andy Polyakov [Tue, 22 Jul 2014 18:16:16 +0000 (20:16 +0200)]
CHANGES: mention new platforms.

Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
10 years ago"EC_POINT_invert" was checking "dbl" function pointer instead of "invert".
Billy Brumley [Mon, 21 Jul 2014 21:08:23 +0000 (22:08 +0100)]
"EC_POINT_invert" was checking "dbl" function pointer instead of "invert".

PR#2569

Reviewed-by: Rich Salz <rsalz@openssl.org>
(cherry picked from commit cba11f57ce161fd301a72194827327128191de7e)

10 years agoRemove old unused and unmaintained demonstration code.
Tim Hudson [Mon, 21 Jul 2014 19:26:17 +0000 (05:26 +1000)]
Remove old unused and unmaintained demonstration code.

Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
(cherry picked from commit 62352b8138018775a4c085a105fccd9cdcb6323f)

10 years agosha1-ppc.pl: shave off one cycle from BODY_20_39
Andy Polyakov [Mon, 21 Jul 2014 13:29:09 +0000 (15:29 +0200)]
sha1-ppc.pl: shave off one cycle from BODY_20_39
and improve performance by 10% on POWER[78].

Reviewed-by: Kurt Roeckx <kurt@openssl.org>
(cherry picked from commit 5c3598307ebbf5a88d1c39fbb2629536e443a5dd)

10 years agoMinor documentation update removing "really" and a
Tim Hudson [Mon, 21 Jul 2014 10:03:50 +0000 (20:03 +1000)]
Minor documentation update removing "really" and a
statement of opinion rather than a fact.

Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(cherry picked from commit c8d133e4b6f1ed1b7ad3c1a6d2c62f460e26c050)

10 years agoAdd test header to Makefile, update ordinals
Dr. Stephen Henson [Sun, 20 Jul 2014 11:39:18 +0000 (12:39 +0100)]
Add test header to Makefile, update ordinals

Reviewed-by: Tim Hudson <tjh@openssl.org>
10 years agoInitial POWER8 support from development branch.
Andy Polyakov [Sun, 20 Jul 2014 12:36:49 +0000 (14:36 +0200)]
Initial POWER8 support from development branch.

Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
10 years agoFix documentation for RSA_set_method(3)
Dr. Stephen Henson [Sat, 19 Jul 2014 13:20:05 +0000 (14:20 +0100)]
Fix documentation for RSA_set_method(3)

PR#1675
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit 197400c3f0d617d71ad8167b52fb73046d334320)

10 years agoMake *Final work for key wrap again.
Dr. Stephen Henson [Thu, 17 Jul 2014 21:27:50 +0000 (22:27 +0100)]
Make *Final work for key wrap again.

Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit 58f4698f67c33b723a9e99bed1101161a59eea73)

10 years agoSanity check lengths for AES wrap algorithm.
Dr. Stephen Henson [Thu, 17 Jul 2014 01:50:48 +0000 (02:50 +0100)]
Sanity check lengths for AES wrap algorithm.

Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit d12eef15016e49fc09d6c96653c61624e032d1a3)

10 years agoFix typo, add reference.
Jeffrey Walton [Thu, 17 Jul 2014 10:25:02 +0000 (11:25 +0100)]
Fix typo, add reference.

PR#3456
Reviewed-by: Stephen Henson <steve@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit d48e78f0cf22aaddb563f4bcfccf25b1a45ac8a4)

10 years agoDisabled XTS mode in enc utility as it is not supported
Matt Caswell [Sun, 13 Jul 2014 22:28:13 +0000 (23:28 +0100)]
Disabled XTS mode in enc utility as it is not supported

PR#3442

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(cherry picked from commit 2097a17c576f2395a10b05f14490688bc5f45a07)

10 years agoAdd Matt Caswell's fingerprint, and general update on the fingerprints file to bring...
Matt Caswell [Tue, 15 Jul 2014 21:47:29 +0000 (22:47 +0100)]
Add Matt Caswell's fingerprint, and general update on the fingerprints file to bring it up to date

Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit 3bd548192a03142c80cf8bc68659d79dea20a738)

10 years agoClarify -Verify and PSK.
Dr. Stephen Henson [Tue, 15 Jul 2014 19:22:39 +0000 (20:22 +0100)]
Clarify -Verify and PSK.

PR#3452
(cherry picked from commit ca2015a617842fed3d36ed4dcbbf8d5e27bc5216)

10 years agoFix DTLS certificate requesting code.
Dr. Stephen Henson [Tue, 15 Jul 2014 17:21:59 +0000 (18:21 +0100)]
Fix DTLS certificate requesting code.

Use same logic when determining when to expect a client
certificate for both TLS and DTLS.

PR#3452
(cherry picked from commit c8d710dc5f83d69d802f941a4cc5895eb5fe3d65)

10 years agoDon't allow -www etc options with DTLS.
Dr. Stephen Henson [Tue, 15 Jul 2014 11:22:49 +0000 (12:22 +0100)]
Don't allow -www etc options with DTLS.

The options which emulate a web server don't make sense when doing DTLS.
Exit with an error if an attempt is made to use them.

PR#3453
(cherry picked from commit 58a2aaeade8bdecd0f9f0df41927f7cff3012547)

10 years agoUse case insensitive compare for servername.
Dr. Stephen Henson [Mon, 14 Jul 2014 22:59:13 +0000 (23:59 +0100)]
Use case insensitive compare for servername.

PR#3445
(cherry picked from commit 1c3e9a7c67ccdc5e770829fe951e5832e600d377)

10 years agodocument -nextprotoneg option in man pages
Hubert Kario [Fri, 6 Jun 2014 14:48:43 +0000 (16:48 +0200)]
document -nextprotoneg option in man pages

Add description of the option to advertise support of
Next Protocol Negotiation extension (-nextprotoneg) to
man pages of s_client and s_server.

PR#3444
(cherry picked from commit 7efd0e777e65eaa6c60d85b1cc5c889f872f8fc4)

10 years agoUse more common name for GOST key exchange.
Dr. Stephen Henson [Mon, 14 Jul 2014 14:05:50 +0000 (15:05 +0100)]
Use more common name for GOST key exchange.
(cherry picked from commit 7aabd9c92fe6f0ea2a82869e5171dcc4518cee85)

10 years agoFixed valgrind complaint due to BN_consttime_swap reading uninitialised data.
Matt Caswell [Thu, 10 Jul 2014 22:47:31 +0000 (23:47 +0100)]
Fixed valgrind complaint due to BN_consttime_swap reading uninitialised data.
This is actually ok for this function, but initialised to zero anyway if
PURIFY defined.

This does have the impact of masking any *real* unitialised data reads in bn though.

Patch based on approach suggested by Rich Salz.

PR#3415

(cherry picked from commit 77747e2d9a5573b1dbc15e247ce18c03374c760c)

10 years agoAdd names of GOST algorithms.
Peter Mosmans [Sun, 13 Jul 2014 17:30:07 +0000 (18:30 +0100)]
Add names of GOST algorithms.

PR#3440
(cherry picked from commit 924e5eda2c82d737cc5a1b9c37918aa6e34825da)

10 years ago* crypto/ui/ui_lib.c: misplaced brace in switch statement.
Richard Levitte [Sun, 13 Jul 2014 17:11:29 +0000 (19:11 +0200)]
* crypto/ui/ui_lib.c: misplaced brace in switch statement.
  Detected by dcruette@qualitesys.com

(cherry picked from commit 8b5dd340919e511137696792279f595a70ae2762)

10 years agoDon't clean up uninitialised EVP_CIPHER_CTX on error (CID 483259).
Ben Laurie [Thu, 10 Jul 2014 16:47:48 +0000 (17:47 +0100)]
Don't clean up uninitialised EVP_CIPHER_CTX on error (CID 483259).

(cherry picked from commit c1d1b0114e9d370c30649e46182393dbfc00e20c)

10 years agoFix memory leak in BIO_free if there is no destroy function.
Matt Caswell [Wed, 9 Jul 2014 22:29:17 +0000 (23:29 +0100)]
Fix memory leak in BIO_free if there is no destroy function.
Based on an original patch by Neitrino Photonov <neitrinoph@gmail.com>

PR#3439

(cherry picked from commit 66816c53bea0ecddb9448da7ea9a51a334496127)

10 years agox86_64 assembly pack: improve masm support.
Andy Polyakov [Wed, 9 Jul 2014 18:08:01 +0000 (20:08 +0200)]
x86_64 assembly pack: improve masm support.
(cherry picked from commit 1b0fe79f3ee27ebd20510da3af9ec04c6ee0f800)

10 years agoPlease Clang's sanitizer, addendum.
Andy Polyakov [Tue, 8 Jul 2014 21:06:59 +0000 (23:06 +0200)]
Please Clang's sanitizer, addendum.
(cherry picked from commit d11c70b2c2a655d112fa72d34c6702e9aa2eff79)

10 years agoPlease Clang's sanitizer.
Andy Polyakov [Tue, 8 Jul 2014 20:24:44 +0000 (22:24 +0200)]
Please Clang's sanitizer.

PR: #3424,#3423,#3422
(cherry picked from commit 021e5043e524b1cb28a929ef902548a987c16e65)

10 years agoapps/speed.c: fix compiler warnings in multiblock_speed().
Andy Polyakov [Mon, 7 Jul 2014 15:02:26 +0000 (17:02 +0200)]
apps/speed.c: fix compiler warnings in multiblock_speed().
(cherry picked from commit c4f8efab34af95a5319bbc5b954b62614604298a)

10 years agosha[1|512]-x86_64.pl: fix logical errors with $shaext=0.
Andy Polyakov [Mon, 7 Jul 2014 15:01:07 +0000 (17:01 +0200)]
sha[1|512]-x86_64.pl: fix logical errors with $shaext=0.
(cherry picked from commit 07b635cceb60abaddba2f0e469e5f5978258f46b)

10 years agoPrevent infinite loop loading config files.
David Lloyd [Mon, 7 Jul 2014 12:11:48 +0000 (13:11 +0100)]
Prevent infinite loop loading config files.

PR#2985
(cherry picked from commit 9d23f422a32cb333a5e803199ae230706b1bf9f5)

10 years agoImprove X509_check_host() documentation.
Viktor Dukhovni [Mon, 7 Jul 2014 10:34:06 +0000 (20:34 +1000)]
Improve X509_check_host() documentation.

Based on feedback from Jeffrey Walton.

(cherry picked from commit b73ac027357da29d9e393f24cd224999c94028d1)

10 years agoUpdate API to use (char *) for email addresses and hostnames
Viktor Dukhovni [Mon, 7 Jul 2014 09:11:38 +0000 (19:11 +1000)]
Update API to use (char *) for email addresses and hostnames

Reduces number of silly casts in OpenSSL code and likely most
applications.  Consistent with (char *) for "peername" value from
X509_check_host() and X509_VERIFY_PARAM_get0_peername().

(cherry picked from commit 297c67fcd817ea643de2fdeff4e434b050d571e2)

10 years agoSet optional peername when X509_check_host() succeeds.
Viktor Dukhovni [Sat, 5 Jul 2014 15:47:29 +0000 (01:47 +1000)]
Set optional peername when X509_check_host() succeeds.

Pass address of X509_VERIFY_PARAM_ID peername to X509_check_host().
Document modified interface.

(cherry picked from commit ced3d9158a7a8c676be504bb6cd3b5ffb7cc7f13)

10 years agoNew peername element in X509_VERIFY_PARAM_ID
Viktor Dukhovni [Sat, 5 Jul 2014 15:44:30 +0000 (01:44 +1000)]
New peername element in X509_VERIFY_PARAM_ID

Declaration, memory management, accessor and documentation.

(cherry picked from commit 6e661d458f5aa8f52bf3d9098bd10025de5f08ea)

10 years agoOne more typo when changing !result to result <= 0
Viktor Dukhovni [Mon, 23 Jun 2014 17:06:24 +0000 (13:06 -0400)]
One more typo when changing !result to result <= 0

(cherry picked from commit eef1827f89ebb82d3bcb5391fa15e05061bab4b2)

10 years agoFix typo in last commit
Viktor Dukhovni [Mon, 23 Jun 2014 00:39:52 +0000 (20:39 -0400)]
Fix typo in last commit

(cherry picked from commit 90b70a6a6b4df267fea2724c7af37d93366a1fec)

10 years agoMultiple verifier reference identities.
Viktor Dukhovni [Sun, 22 Jun 2014 05:38:57 +0000 (01:38 -0400)]
Multiple verifier reference identities.

Implemented as STACK_OF(OPENSSL_STRING).

(cherry picked from commit 8abffa4a73fcbf6536e0a42d736ed9211a8204ea)

10 years agoImplement sk_deep_copy.
Viktor Dukhovni [Sun, 22 Jun 2014 08:24:40 +0000 (04:24 -0400)]
Implement sk_deep_copy.

(cherry picked from commit 66d884f06770f2daaee8016299ef7e1e3b91dfd1)

10 years agoUsage for -hack and -prexit -verify_return_error
Dr. Stephen Henson [Sun, 6 Jul 2014 21:33:35 +0000 (22:33 +0100)]
Usage for -hack and -prexit -verify_return_error
(cherry picked from commit ee724df75d9ad67fd954253ac514fddb46f1e3c6)

10 years agoDocument certificate status request options.
Dr. Stephen Henson [Sun, 6 Jul 2014 21:16:21 +0000 (22:16 +0100)]
Document certificate status request options.
(cherry picked from commit cba3f1c739f012aaadb85aaefaf8de424d2695e2)

10 years agos_server usage for certificate status requests
Dr. Stephen Henson [Sun, 6 Jul 2014 21:23:01 +0000 (22:23 +0100)]
s_server usage for certificate status requests
(cherry picked from commit a44f219c009798054d6741e919cba5b2e656dbf4)

10 years agoUpdate ticket callback docs.
Dr. Stephen Henson [Thu, 3 Jul 2014 13:50:08 +0000 (14:50 +0100)]
Update ticket callback docs.
(cherry picked from commit a23a6e85d8dcd5733a343754f434201f3c9aa6f0)

10 years agoSanity check keylength in PVK files.
Dr. Stephen Henson [Sat, 5 Jul 2014 23:32:44 +0000 (00:32 +0100)]
Sanity check keylength in PVK files.

PR#2277
(cherry picked from commit 733a6c882e92f8221bd03a51643bb47f5f81bb81)

10 years agoAdded reference to platform specific cryptographic acceleration such as AES-NI
Jeffrey Walton [Sat, 5 Jul 2014 21:39:08 +0000 (22:39 +0100)]
Added reference to platform specific cryptographic acceleration such as AES-NI

10 years agoFixed error in pod files with latest versions of pod2man
Matt Caswell [Sat, 5 Jul 2014 21:31:05 +0000 (22:31 +0100)]
Fixed error in pod files with latest versions of pod2man

(cherry picked from commit 07255f0a76d9d349d915e14f969b9ff2ee0d1953)

10 years agosha512-x86_64.pl: fix typo.
Andy Polyakov [Sat, 5 Jul 2014 21:59:57 +0000 (23:59 +0200)]
sha512-x86_64.pl: fix typo.

PR: #3431
(cherry picked from commit 7eb9680ae1bf5dd9aeb61c401f2c3bd900ac9aeb)

10 years agos3_pkt.c: fix typo.
Andy Polyakov [Sat, 5 Jul 2014 21:56:54 +0000 (23:56 +0200)]
s3_pkt.c: fix typo.
(cherry picked from commit 0e7a32b55e8c5b1ec7c2bb755213d076390cc55e)

10 years agoapps/speed.c: add multi-block benchmark.
Andy Polyakov [Sat, 5 Jul 2014 21:53:55 +0000 (23:53 +0200)]
apps/speed.c: add multi-block benchmark.
(cherry picked from commit 375a64e3496c7576a7dbcfdf9a549bf2693506e8)

10 years agoReturn smaller of ret and f.
Alan Hryngle [Sat, 5 Jul 2014 21:24:03 +0000 (22:24 +0100)]
Return smaller of ret and f.

PR#3418.
(cherry picked from commit fdea4fff8fb058be928980600b24cf4c62ef3630)

10 years agoDon't limit message sizes in ssl3_get_cert_verify.
Dr. Stephen Henson [Sat, 5 Jul 2014 12:19:12 +0000 (13:19 +0100)]
Don't limit message sizes in ssl3_get_cert_verify.

PR#319 (reoponed version).
(cherry picked from commit 7f6e9578648728478e84246fd3e64026b8b6a48e)

10 years agoAdd license info.
Dr. Stephen Henson [Fri, 4 Jul 2014 17:41:45 +0000 (18:41 +0100)]
Add license info.
(cherry picked from commit 55707a36cce3584457f687ff020842c079624ee8)

10 years agotypo
Dr. Stephen Henson [Fri, 4 Jul 2014 12:50:26 +0000 (13:50 +0100)]
typo

10 years agoRemove all RFC5878 code.
Dr. Stephen Henson [Fri, 4 Jul 2014 12:42:05 +0000 (13:42 +0100)]
Remove all RFC5878 code.

Remove RFC5878 code. It is no longer needed for CT and has numerous bugs.

10 years agoMerge branch 'rsalz-docfixes'
Rich Salz [Thu, 3 Jul 2014 02:44:53 +0000 (22:44 -0400)]
Merge branch 'rsalz-docfixes'

10 years agoClose 3170, remove reference to Ariel Glenn's old 0.9.8 doc
Rich Salz [Thu, 3 Jul 2014 04:07:04 +0000 (00:07 -0400)]
Close 3170, remove reference to Ariel Glenn's old 0.9.8 doc
(cherry picked from commit f1112985e847286033ac573e70bdee752d26f46f)

10 years agoe_os.h: limit _MSC_VER trickery to older compilers.
Andy Polyakov [Wed, 2 Jul 2014 20:30:54 +0000 (22:30 +0200)]
e_os.h: limit _MSC_VER trickery to older compilers.

PR: #3390
(cherry picked from commit aab3560b65b9254d17770bb6fe3ca7edd7451429)

10 years agobn_exp.c: fix x86_64-specific crash with one-word modulus.
Andy Polyakov [Wed, 2 Jul 2014 17:35:50 +0000 (19:35 +0200)]
bn_exp.c: fix x86_64-specific crash with one-word modulus.

PR: #3397
(cherry picked from commit eca441b2b4d33d2a18d163ef9b4b3aff14251c73)

10 years agoFix doc typo.
Matt Smart [Wed, 2 Jul 2014 02:43:42 +0000 (03:43 +0100)]
Fix doc typo.

ERR_get_error(3) references the non-existent
ERR_get_last_error_line_data instead of the one that does exist,
ERR_peek_last_error_line_data.

PR#3283
(cherry picked from commit 5cc99c6cf5e908df6b00b04af7f08e99c0698c7b)

10 years agoMake disabling last cipher work.
Thijs Alkemade [Wed, 2 Jul 2014 02:32:19 +0000 (03:32 +0100)]
Make disabling last cipher work.
(cherry picked from commit 7cb472bd0d0fd9da3d42bed1acc56c3a79fc5328)

10 years agoASN1 sanity check.
Dr. Stephen Henson [Tue, 1 Jul 2014 23:57:57 +0000 (00:57 +0100)]
ASN1 sanity check.

Primitive encodings shouldn't use indefinite length constructed
form.

PR#2438 (partial).
(cherry picked from commit 398e99fe5e06edb11f55a39ce0883d9aa633ffa9)

10 years agoAccessor functions for app_data in ECDSA_METHOD
Dr. Stephen Henson [Tue, 1 Jul 2014 11:01:00 +0000 (12:01 +0100)]
Accessor functions for app_data in ECDSA_METHOD
(cherry picked from commit 387b844ffdc79b733be0b1dbaddd2ac64a6c1192)

10 years agoFix possible buffer overrun.
Ben Laurie [Wed, 23 Apr 2014 17:13:20 +0000 (18:13 +0100)]
Fix possible buffer overrun.

(cherry picked from commit 2db3ea29298bdc347f15fbfab6d5746022f05101)

Conflicts:
ssl/ssl_locl.h
ssl/t1_lib.c

10 years agosha512-x86_64.pl: fix linking problem under Windows.
Andy Polyakov [Tue, 1 Jul 2014 15:11:22 +0000 (17:11 +0200)]
sha512-x86_64.pl: fix linking problem under Windows.
(cherry picked from commit 29be3f6411774e10169e60e1507df3d7c2e589df)

10 years agoFix copy for CCM, GCM and XTS.
Dr. Stephen Henson [Mon, 30 Jun 2014 11:57:29 +0000 (12:57 +0100)]
Fix copy for CCM, GCM and XTS.

Internal pointers in CCM, GCM and XTS contexts should either be
NULL or set to point to the appropriate key schedule. This needs
to be adjusted when copying contexts.
(cherry picked from commit c2fd5d79ffc4fc9d120a0faad579ce96473e6a2f)

10 years agoMake EVP_Digest* work again.
Dr. Stephen Henson [Mon, 30 Jun 2014 12:41:38 +0000 (13:41 +0100)]
Make EVP_Digest* work again.

10 years agoDon't core dump when using CMAC with dgst.
Dr. Stephen Henson [Sun, 29 Jun 2014 22:25:59 +0000 (23:25 +0100)]
Don't core dump when using CMAC with dgst.

We can't unfortunately print the CMAC cipher used without extending the API.

PR#2579
(cherry picked from commit 79e31a2842e10271581cbfdaae0145dd4bd35107)

10 years agoMake CMAC work with EVP_PKEY.
Dr. Stephen Henson [Sun, 29 Jun 2014 22:23:54 +0000 (23:23 +0100)]
Make CMAC work with EVP_PKEY.

Add patch originally accidentally omitted to allow CMAC to work with
EVP_PKEY APIs.

10 years agoClarified that the signature's buffer size, `s`, is not used as an
Jeffrey Walton [Sun, 29 Jun 2014 22:34:21 +0000 (23:34 +0100)]
Clarified that the signature's buffer size, `s`, is not used as an
IN parameter.

Under the old docs, the only thing stated was "at most
EVP_PKEY_size(pkey) bytes will be written". It was kind of misleading
since it appears EVP_PKEY_size(pkey) WILL be written regardless of the
signature's buffer size.

(cherry picked from commit 6e6ba36d980f67b6e5c7b139f78da7acbbf8ec76)

10 years agoMake EVP_CIPHER_CTX_copy work in GCM mode.
ZNV [Sun, 29 Jun 2014 21:01:28 +0000 (22:01 +0100)]
Make EVP_CIPHER_CTX_copy work in GCM mode.

PR#3272
(cherry picked from commit 370bf1d708e6d7af42e1752fb078d0822c9bc73d)