oweals/openssl.git
9 years agosha256-armv4.pl: fix typo.
Andy Polyakov [Thu, 22 Jan 2015 11:00:55 +0000 (12:00 +0100)]
sha256-armv4.pl: fix typo.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoMore comment realignment master-post-reformat
Matt Caswell [Sat, 17 Jan 2015 00:06:54 +0000 (00:06 +0000)]
More comment realignment

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoRe-align some comments after running the reformat script.
Matt Caswell [Mon, 5 Jan 2015 11:30:03 +0000 (11:30 +0000)]
Re-align some comments after running the reformat script.
This should be a one off operation (subsequent invokation of the
script should not move them)

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoRerun util/openssl-format-source -v -c . master-post-auto-reformat
Matt Caswell [Thu, 22 Jan 2015 03:41:31 +0000 (03:41 +0000)]
Rerun util/openssl-format-source -v -c .

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoRun util/openssl-format-source -v -c .
Matt Caswell [Thu, 22 Jan 2015 03:40:55 +0000 (03:40 +0000)]
Run util/openssl-format-source -v -c .

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoMore tweaks for comments due indent issues master-pre-auto-reformat
Matt Caswell [Wed, 21 Jan 2015 23:54:59 +0000 (23:54 +0000)]
More tweaks for comments due indent issues

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

Conflicts:
ssl/s2_srvr.c
ssl/ssl.h

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoTweaks for comments due to indent's inability to handle them
Matt Caswell [Wed, 21 Jan 2015 21:22:49 +0000 (21:22 +0000)]
Tweaks for comments due to indent's inability to handle them

Conflicts:
demos/tunala/tunala.h
engines/e_padlock.c
ssl/s2_clnt.c
ssl/s2_lib.c
ssl/s2_srvr.c
ssl/s3_srvr.c

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoMove more comments that confuse indent
Matt Caswell [Wed, 21 Jan 2015 19:18:47 +0000 (19:18 +0000)]
Move more comments that confuse indent

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoDelete trailing whitespace from output.
Dr. Stephen Henson [Wed, 21 Jan 2015 15:32:54 +0000 (15:32 +0000)]
Delete trailing whitespace from output.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoAdd -d debug option to save preprocessed files.
Dr. Stephen Henson [Tue, 20 Jan 2015 18:53:56 +0000 (18:53 +0000)]
Add -d debug option to save preprocessed files.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoTest option -nc
Dr. Stephen Henson [Tue, 20 Jan 2015 18:49:04 +0000 (18:49 +0000)]
Test option -nc

Add option -nc which sets COMMENTS=true but disables all indent comment
reformatting options.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoec/ecp_nistz256.c: further harmonization with latest rules.
Andy Polyakov [Wed, 21 Jan 2015 16:28:45 +0000 (17:28 +0100)]
ec/ecp_nistz256.c: further harmonization with latest rules.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoAdd ecp_nistz256.c to list of files skipped by openssl-format-source
Matt Caswell [Wed, 21 Jan 2015 16:37:58 +0000 (16:37 +0000)]
Add ecp_nistz256.c to list of files skipped by openssl-format-source

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoManually reformat aes_x86core.c and add it to the list of files skipped by
Matt Caswell [Wed, 21 Jan 2015 16:34:27 +0000 (16:34 +0000)]
Manually reformat aes_x86core.c and add it to the list of files skipped by
openssl-format-source

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agocrypto/ofb128.c: make it indent-friendly.
Andy Polyakov [Wed, 21 Jan 2015 15:51:06 +0000 (16:51 +0100)]
crypto/ofb128.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agomodes/ctr128.c: make it indent-friendly.
Andy Polyakov [Wed, 21 Jan 2015 15:49:27 +0000 (16:49 +0100)]
modes/ctr128.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agomodes/cfb128.c: make it indent-friendly.
Andy Polyakov [Wed, 21 Jan 2015 15:47:51 +0000 (16:47 +0100)]
modes/cfb128.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoec/ecp_nistz256.c: harmonize with latest indent script.
Andy Polyakov [Wed, 21 Jan 2015 15:02:33 +0000 (16:02 +0100)]
ec/ecp_nistz256.c: harmonize with latest indent script.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoFix indent comment corruption issue
Matt Caswell [Wed, 21 Jan 2015 16:12:59 +0000 (16:12 +0000)]
Fix indent comment corruption issue

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoAmend openssl-format-source so that it give more repeatable output
Matt Caswell [Wed, 21 Jan 2015 15:28:57 +0000 (15:28 +0000)]
Amend openssl-format-source so that it give more repeatable output

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agobn/bn_const.c: make it indent-friendly.
Andy Polyakov [Wed, 21 Jan 2015 12:18:42 +0000 (13:18 +0100)]
bn/bn_const.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agobn/asm/x86_64-gcc.cL make it indent-friendly.
Andy Polyakov [Wed, 21 Jan 2015 10:54:03 +0000 (11:54 +0100)]
bn/asm/x86_64-gcc.cL make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agobn/bn_asm.c: make it indent-friendly.
Andy Polyakov [Wed, 21 Jan 2015 10:50:56 +0000 (11:50 +0100)]
bn/bn_asm.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agobn/bn_exp.c: make it indent-friendly.
Andy Polyakov [Wed, 21 Jan 2015 10:45:23 +0000 (11:45 +0100)]
bn/bn_exp.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoManually reformat aes_core.c
Matt Caswell [Wed, 21 Jan 2015 14:01:16 +0000 (14:01 +0000)]
Manually reformat aes_core.c
Add aes_core.c to the list of files not processed by openssl-format-source

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoAdd obj_dat.h to the list of files that will not be processed by
Matt Caswell [Wed, 21 Jan 2015 13:51:38 +0000 (13:51 +0000)]
Add obj_dat.h to the list of files that will not be processed by
openssl-format-source

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoFix strange formatting by indent
Matt Caswell [Wed, 21 Jan 2015 12:19:08 +0000 (12:19 +0000)]
Fix strange formatting by indent

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agomodes/modes_lcl.h: make it indent-friendly.
Andy Polyakov [Wed, 21 Jan 2015 10:11:32 +0000 (11:11 +0100)]
modes/modes_lcl.h: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoindent has problems with comments that are on the right hand side of a line.
Matt Caswell [Wed, 21 Jan 2015 11:09:58 +0000 (11:09 +0000)]
indent has problems with comments that are on the right hand side of a line.
Sometimes it fails to format them very well, and sometimes it corrupts them!
This commit moves some particularly problematic ones.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agomodes/gcm128.c: make it indent-friendly.
Andy Polyakov [Wed, 21 Jan 2015 09:25:54 +0000 (10:25 +0100)]
modes/gcm128.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agomodes/cts128.c: make it indent-friendly.
Andy Polyakov [Wed, 21 Jan 2015 08:11:28 +0000 (09:11 +0100)]
modes/cts128.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agocrypto/mem_dbg.c: make it indent-friendly.
Andy Polyakov [Tue, 20 Jan 2015 22:45:19 +0000 (23:45 +0100)]
crypto/mem_dbg.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoMore indent fixes for STACK_OF
Matt Caswell [Wed, 21 Jan 2015 09:33:22 +0000 (09:33 +0000)]
More indent fixes for STACK_OF

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoFix indent issue with functions using STACK_OF
Matt Caswell [Tue, 20 Jan 2015 22:54:52 +0000 (22:54 +0000)]
Fix indent issue with functions using STACK_OF

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoFix indent issue with engine.h
Matt Caswell [Tue, 20 Jan 2015 22:17:03 +0000 (22:17 +0000)]
Fix indent issue with engine.h

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoFix logic to check for indent.pro
Matt Caswell [Tue, 20 Jan 2015 22:13:39 +0000 (22:13 +0000)]
Fix logic to check for indent.pro

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agocrypto/cryptlib.c: make it indent-friendly.
Andy Polyakov [Tue, 20 Jan 2015 14:49:55 +0000 (15:49 +0100)]
crypto/cryptlib.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agobn/bntest.c: make it indent-friendly.
Andy Polyakov [Tue, 20 Jan 2015 14:22:42 +0000 (15:22 +0100)]
bn/bntest.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agobn/bn_recp.c: make it indent-friendly.
Andy Polyakov [Tue, 20 Jan 2015 14:12:07 +0000 (15:12 +0100)]
bn/bn_recp.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoengines/e_ubsec.c: make it indent-friendly.
Andy Polyakov [Tue, 20 Jan 2015 13:57:46 +0000 (14:57 +0100)]
engines/e_ubsec.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoapps/srp.c: make it indent-friendly.
Andy Polyakov [Tue, 20 Jan 2015 13:29:42 +0000 (14:29 +0100)]
apps/srp.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoapps/speed.c: make it indent-friendly.
Andy Polyakov [Tue, 20 Jan 2015 13:15:44 +0000 (14:15 +0100)]
apps/speed.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agobn/rsaz_exp.c: make it indent-friendly.
Andy Polyakov [Tue, 20 Jan 2015 11:55:04 +0000 (12:55 +0100)]
bn/rsaz_exp.c: make it indent-friendly.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoFix make errors
Matt Caswell [Wed, 14 Jan 2015 21:26:14 +0000 (21:26 +0000)]
Fix make errors

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoMake the script a little more location agnostic
Richard Levitte [Tue, 20 Jan 2015 15:18:23 +0000 (16:18 +0100)]
Make the script a little more location agnostic

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoProvide script for filtering data initialisers for structs/unions. indent just can...
Matt Caswell [Tue, 20 Jan 2015 12:37:42 +0000 (12:37 +0000)]
Provide script for filtering data initialisers for structs/unions. indent just can't handle it.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoScript fixes.
Dr. Stephen Henson [Tue, 20 Jan 2015 14:12:10 +0000 (14:12 +0000)]
Script fixes.

Don't use double newline for headers.
Don't interpret ASN1_PCTX as start of an ASN.1 module.

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoRun expand before perl, to make sure things are properly aligned
Richard Levitte [Tue, 20 Jan 2015 14:17:02 +0000 (15:17 +0100)]
Run expand before perl, to make sure things are properly aligned

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoForce the use of our indent profile
Richard Levitte [Tue, 20 Jan 2015 14:14:24 +0000 (15:14 +0100)]
Force the use of our indent profile

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoProvide source reformating script. Requires GNU indent to be
Tim Hudson [Mon, 5 Jan 2015 10:17:50 +0000 (10:17 +0000)]
Provide source reformating script. Requires GNU indent to be
available.

Script written by Tim Hudson, with amendments by Steve Henson, Rich Salz and
Matt Caswell

Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoFix source where indent will not be able to cope
Matt Caswell [Mon, 19 Jan 2015 12:42:01 +0000 (12:42 +0000)]
Fix source where indent will not be able to cope

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoYet more comments
Matt Caswell [Fri, 16 Jan 2015 15:52:31 +0000 (15:52 +0000)]
Yet more comments

Conflicts:
crypto/dsa/dsa_asn1.c
crypto/pem/pem_all.c
fips/dh/dh_gen.c
fips/dh/fips_dh_check.c
fips/dh/fips_dh_gen.c
ssl/ssl_ciph.c

Conflicts:
ssl/d1_clnt.c

Conflicts:
ssl/s2_pkt.c

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoMore comments
Matt Caswell [Fri, 16 Jan 2015 14:43:29 +0000 (14:43 +0000)]
More comments

Conflicts:
crypto/dsa/dsa_vrf.c
crypto/ec/ec2_smpl.c
crypto/ec/ecp_smpl.c

Conflicts:
demos/bio/saccept.c
ssl/d1_clnt.c

Conflicts:
bugs/dggccbug.c
demos/tunala/cb.c

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoFurther comment changes for reformat (master)
Matt Caswell [Fri, 16 Jan 2015 09:21:50 +0000 (09:21 +0000)]
Further comment changes for reformat (master)

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoCleanup OPENSSL_NO_xxx, part 1 master-pre-reformat
Rich Salz [Wed, 14 Jan 2015 20:57:28 +0000 (15:57 -0500)]
Cleanup OPENSSL_NO_xxx, part 1

OPENSSL_NO_RIPEMD160, OPENSSL_NO_RIPEMD merged into OPENSSL_NO_RMD160
OPENSSL_NO_FP_API merged into OPENSSL_NO_STDIO
Two typo's on #endif comments fixed:
OPENSSL_NO_ECB fixed to OPENSSL_NO_OCB
OPENSSL_NO_HW_SureWare fixed to OPENSSL_NO_HW_SUREWARE

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoAdd Broadwell performance results.
Andy Polyakov [Mon, 5 Jan 2015 22:40:10 +0000 (23:40 +0100)]
Add Broadwell performance results.

Reviewed-by: Emilia Käsper <emilia@openssl.org>
9 years agoRemove use of BN_init, BN_RECP_CTX_init from bntest
Dr. Stephen Henson [Tue, 13 Jan 2015 15:21:28 +0000 (15:21 +0000)]
Remove use of BN_init, BN_RECP_CTX_init from bntest

BN_init and BN_RECP_CTX_init are deprecated and are not exported
from shared libraries on some platforms (e.g. Windows) convert
bntest to use BN_new and BN_RECP_CTX_new instead.
Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoFor master windows build dsa.h is now needed.
Dr. Stephen Henson [Tue, 13 Jan 2015 15:20:34 +0000 (15:20 +0000)]
For master windows build dsa.h is now needed.

Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoMake output from openssl version -f consistent with previous versions
Matt Caswell [Tue, 13 Jan 2015 10:20:12 +0000 (10:20 +0000)]
Make output from openssl version -f consistent with previous versions

Reviewed-by: Andy Polyakov <appro@openssl.org>
9 years agoFix warning where BIO_FLAGS_UPLINK was being redefined.
Matt Caswell [Sat, 10 Jan 2015 23:36:28 +0000 (23:36 +0000)]
Fix warning where BIO_FLAGS_UPLINK was being redefined.
This warning breaks the build in 1.0.0 and 0.9.8

Reviewed-by: Andy Polyakov <appro@openssl.org>
9 years agoAvoid deprecation problems in Visual Studio 13
Matt Caswell [Fri, 9 Jan 2015 14:06:36 +0000 (14:06 +0000)]
Avoid deprecation problems in Visual Studio 13

Reviewed-by: Andy Polyakov <appro@openssl.org>
9 years agoEnsure internal header files are used from mk1mf based builds
Matt Caswell [Tue, 13 Jan 2015 00:01:39 +0000 (00:01 +0000)]
Ensure internal header files are used from mk1mf based builds

Reviewed-by: Richard Levitte: <levitte@openssl.org>
9 years agoRT3548: Remove unsupported platforms
Rich Salz [Mon, 12 Jan 2015 22:29:26 +0000 (17:29 -0500)]
RT3548: Remove unsupported platforms

This last one for this ticket.  Removes WIN16.
So long, MS_CALLBACK and MS_FAR.  We won't miss you.

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoAllow multiple IDN xn-- indicators
Rich Salz [Mon, 12 Jan 2015 17:39:00 +0000 (12:39 -0500)]
Allow multiple IDN xn-- indicators

Update the X509v3 name parsing to allow multiple xn-- international
domain name indicators in a name.  Previously, only allowed one at
the beginning of a name, which was wrong.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
9 years agoRT3548: Remove some unsupported platforms.
Rich Salz [Mon, 12 Jan 2015 15:40:00 +0000 (10:40 -0500)]
RT3548: Remove some unsupported platforms.

This commit removes NCR, Tandem, Cray.
Regenerates TABLE.
Removes another missing BEOS fluff.
The last platform remaining on this ticket is WIN16.

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoRT478: Add uninstall make target
Rich Salz [Mon, 12 Jan 2015 15:28:05 +0000 (10:28 -0500)]
RT478: Add uninstall make target

Add INSTALLDIRS variable, list of directories where things get
installed. Change install_html_docs to use perl mkdir-p script.

Add uninstall, uninstall_sw, uninstall_docs, uninstall_html_docs
to Makefile.org.  The actions of these targets were figured out
by "inverting" the install target.

Recurse into subdirs to do uninstall as needed.  Added uninstall
targets whose actions were similarly figured out by "inverting"
the install target.

Also remove some 'space before tab' complaints in Makefile.org

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoFix no-deprecated on Windows
Matt Caswell [Sun, 11 Jan 2015 00:22:41 +0000 (00:22 +0000)]
Fix no-deprecated on Windows

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agomake update
Matt Caswell [Sun, 11 Jan 2015 00:27:50 +0000 (00:27 +0000)]
make update

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoRemove redundant DSO_METHOD_beos declaration in dso.h. BEOS support has been
Matt Caswell [Sun, 11 Jan 2015 00:26:38 +0000 (00:26 +0000)]
Remove redundant DSO_METHOD_beos declaration in dso.h. BEOS support has been
removed.

Reviewed-by: Richard Levitte <levitte@openssl.org>
9 years agoMake build reproducible
Kurt Roeckx [Fri, 2 Jan 2015 11:27:57 +0000 (12:27 +0100)]
Make build reproducible

It contained a date on when it was build.

Reviewed-by: Rich Salz <rsalz@openssl.org>
9 years agoFurther windows specific .gitignore entries
Matt Caswell [Fri, 9 Jan 2015 23:01:20 +0000 (23:01 +0000)]
Further windows specific .gitignore entries

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoUpdate .gitignore with windows files to be excluded from git
Matt Caswell [Fri, 9 Jan 2015 10:19:10 +0000 (10:19 +0000)]
Update .gitignore with windows files to be excluded from git

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoFix build failure on Windows due to undefined cflags identifier
Matt Caswell [Thu, 8 Jan 2015 19:05:43 +0000 (19:05 +0000)]
Fix build failure on Windows due to undefined cflags identifier

Reviewed-by: Tim Hudson <tjh@openssl.org>
9 years agoA memory leak can occur in dtls1_buffer_record if either of the calls to
Matt Caswell [Wed, 7 Jan 2015 14:18:13 +0000 (14:18 +0000)]
A memory leak can occur in dtls1_buffer_record if either of the calls to
ssl3_setup_buffers or pqueue_insert fail. The former will fail if there is a
malloc failure, whilst the latter will fail if attempting to add a duplicate
record to the queue. This should never happen because duplicate records should
be detected and dropped before any attempt to add them to the queue.
Unfortunately records that arrive that are for the next epoch are not being
recorded correctly, and therefore replays are not being detected.
Additionally, these "should not happen" failures that can occur in
dtls1_buffer_record are not being treated as fatal and therefore an attacker
could exploit this by sending repeated replay records for the next epoch,
eventually causing a DoS through memory exhaustion.

Thanks to Chris Mueller for reporting this issue and providing initial
analysis and a patch. Further analysis and the final patch was performed by
Matt Caswell from the OpenSSL development team.

CVE-2015-0206

Reviewed-by: Dr Stephen Henson <steve@openssl.org>
9 years agoUnauthenticated DH client certificate fix.
Dr. Stephen Henson [Thu, 23 Oct 2014 19:36:17 +0000 (20:36 +0100)]
Unauthenticated DH client certificate fix.

Fix to prevent use of DH client certificates without sending
certificate verify message.

If we've used a client certificate to generate the premaster secret
ssl3_get_client_key_exchange returns 2 and ssl3_get_cert_verify is
never called.

We can only skip the certificate verify message in
ssl3_get_cert_verify if the client didn't send a certificate.

Thanks to Karthikeyan Bhargavan for reporting this issue.
CVE-2015-0205
Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoFix for CVE-2014-3570 (with minor bn_asm.c revamp).
Andy Polyakov [Mon, 5 Jan 2015 14:20:54 +0000 (15:20 +0100)]
Fix for CVE-2014-3570 (with minor bn_asm.c revamp).

Reviewed-by: Emilia Kasper <emilia@openssl.org>
9 years agoFollow on from CVE-2014-3571. This fixes the code that was the original source
Matt Caswell [Sat, 3 Jan 2015 00:54:35 +0000 (00:54 +0000)]
Follow on from CVE-2014-3571. This fixes the code that was the original source
of the crash due to p being NULL. Steve's fix prevents this situation from
occuring - however this is by no means obvious by looking at the code for
dtls1_get_record. This fix just makes things look a bit more sane.

Reviewed-by: Dr Stephen Henson <steve@openssl.org>
9 years agoFix crash in dtls1_get_record whilst in the listen state where you get two
Dr. Stephen Henson [Sat, 3 Jan 2015 00:45:13 +0000 (00:45 +0000)]
Fix crash in dtls1_get_record whilst in the listen state where you get two
separate reads performed - one for the header and one for the body of the
handshake record.

CVE-2014-3571

Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agofix error discrepancy
Dr. Stephen Henson [Wed, 7 Jan 2015 17:36:17 +0000 (17:36 +0000)]
fix error discrepancy

Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoFix irix-cc build.
Andy Polyakov [Mon, 5 Jan 2015 21:56:47 +0000 (22:56 +0100)]
Fix irix-cc build.

Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agouse correct credit in CHANGES
Dr. Stephen Henson [Tue, 6 Jan 2015 21:12:15 +0000 (21:12 +0000)]
use correct credit in CHANGES

Reviewed-by: Matt Caswell <matt@openssl.org>
9 years agoOnly inherit the session ID context in SSL_set_SSL_CTX if the existing
Emilia Kasper [Tue, 6 Jan 2015 14:41:04 +0000 (15:41 +0100)]
Only inherit the session ID context in SSL_set_SSL_CTX if the existing
context was also inherited (matches that of the existing SSL_CTX).

Reviewed-by: Tim Hudson <tjh@openssl.org>
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>