Viktor Dukhovni [Mon, 23 Jun 2014 17:06:24 +0000 (13:06 -0400)]
One more typo when changing !result to result <= 0
Viktor Dukhovni [Mon, 23 Jun 2014 00:39:52 +0000 (20:39 -0400)]
Fix typo in last commit
Viktor Dukhovni [Sun, 22 Jun 2014 05:38:57 +0000 (01:38 -0400)]
Multiple verifier reference identities.
Implemented as STACK_OF(OPENSSL_STRING).
Viktor Dukhovni [Sun, 22 Jun 2014 08:24:40 +0000 (04:24 -0400)]
Implement sk_deep_copy.
Viktor Dukhovni [Mon, 23 Jun 2014 00:18:53 +0000 (20:18 -0400)]
More complete input validation of X509_check_mumble
Viktor Dukhovni [Mon, 23 Jun 2014 00:14:53 +0000 (20:14 -0400)]
X509_check_mumble() failure is <= 0, not just 0
Viktor Dukhovni [Sun, 22 Jun 2014 05:35:44 +0000 (01:35 -0400)]
Drop hostlen from X509_VERIFY_PARAM_ID.
Just store NUL-terminated strings. This works better when we add
support for multiple hostnames.
Viktor Dukhovni [Sun, 22 Jun 2014 05:31:00 +0000 (01:31 -0400)]
More complete X509_check_host documentation.
Miod Vallat [Wed, 4 Jun 2014 07:59:58 +0000 (03:59 -0400)]
Fix off-by-one errors in ssl_cipher_get_evp()
In the ssl_cipher_get_evp() function, fix off-by-one errors in index validation before accessing arrays.
Bug discovered and fixed by Miod Vallat from the OpenBSD team.
PR#3375
Matt Caswell [Sun, 22 Jun 2014 21:35:56 +0000 (22:35 +0100)]
Revert "Fix off-by-one errors in ssl_cipher_get_evp()"
This reverts commit
abfb989fe0b749ad61f1aa4cdb0ea4f952fc13e0.
Incorrect attribution
Matt Caswell [Mon, 26 May 2014 23:26:55 +0000 (00:26 +0100)]
Fixed Windows compilation failure
Matt Caswell [Thu, 19 Jun 2014 22:45:21 +0000 (23:45 +0100)]
Fix minor typos
Hubert Kario [Thu, 19 Jun 2014 13:34:49 +0000 (15:34 +0200)]
add references to verify(1) man page for args_verify() options
cms, ocsp, s_client, s_server and smime tools also use args_verify()
for parsing options, that makes them most of the same options
verify tool does. Add those options to man pages and reference
their explanation in the verify man page.
Hubert Kario [Thu, 19 Jun 2014 12:32:53 +0000 (14:32 +0200)]
sort the options in verify man page alphabetically
just making sure the options are listed in the alphabetical order
both in SYNOPSIS and DESCRIPTION, no text changes
Hubert Kario [Thu, 19 Jun 2014 12:17:26 +0000 (14:17 +0200)]
add description of missing options to verify man page
The options related to policy used for verification, verification
of subject names in certificate and certificate chain handling
were missing in the verify(1) man page. This fixes this issue.
Hubert Kario [Wed, 18 Jun 2014 17:58:01 +0000 (19:58 +0200)]
smime man page: add missing options in SYNOPSIS
-CAfile and -CApath is documented in OPTIONS but is missing
in SYNOPSIS, add them there
Hubert Kario [Wed, 18 Jun 2014 17:55:03 +0000 (19:55 +0200)]
Document -trusted_first option in man pages and help.
Add -trusted_first description to help messages and man pages
of tools that deal with certificate verification.
Matt Caswell [Tue, 17 Jun 2014 22:35:53 +0000 (23:35 +0100)]
Tidied up, added include to stdlib, removed "goto bad" usage
rfkrocktk [Tue, 3 Jun 2014 22:26:50 +0000 (15:26 -0700)]
Conform to whitespace conventions
rfkrocktk [Tue, 3 Jun 2014 22:24:49 +0000 (15:24 -0700)]
Added documentation for -iter for PKCS#8
Naftuli Tzvi Kay [Tue, 3 Jun 2014 19:48:06 +0000 (12:48 -0700)]
Added custom PBKDF2 iteration count to PKCS8 tool.
Felix Laurie von Massenbach [Sun, 15 Jun 2014 10:58:33 +0000 (11:58 +0100)]
Fix signed/unsigned comparisons.
Felix Laurie von Massenbach [Sun, 15 Jun 2014 10:52:06 +0000 (11:52 +0100)]
Fix shadow declaration.
Andy Polyakov [Mon, 16 Jun 2014 08:11:45 +0000 (10:11 +0200)]
aesni-sha[1|256]-x86_64.pl: fix logical error and MacOS X build.
Andy Polyakov [Mon, 16 Jun 2014 06:05:19 +0000 (08:05 +0200)]
aesp8-ppc.pl: add CTR mode.
Viktor Dukhovni [Sat, 14 Jun 2014 03:45:56 +0000 (23:45 -0400)]
Enforce _X509_CHECK_FLAG_DOT_SUBDOMAINS internal-only
Dr. Stephen Henson [Sat, 14 Jun 2014 21:24:08 +0000 (22:24 +0100)]
Accept CCS after sending finished.
Allow CCS after finished has been sent by client: at this point
keys have been correctly set up so it is OK to accept CCS from
server. Without this renegotiation can sometimes fail.
PR#3400
Andy Polyakov [Sat, 14 Jun 2014 21:15:39 +0000 (23:15 +0200)]
evp/e_aes_cbc_sha[1|256].c: fix -DPEDANTIC build.
Andy Polyakov [Sat, 14 Jun 2014 14:03:06 +0000 (16:03 +0200)]
aesni-sha256-x86_64.pl: add missing rex in shaext.
PR: 3405
Andy Polyakov [Sat, 14 Jun 2014 13:26:14 +0000 (15:26 +0200)]
sha1-x86_64.pl: add missing rex prefix in shaext.
PR: 3405
Matt Caswell [Tue, 10 Jun 2014 22:24:28 +0000 (23:24 +0100)]
Fixed incorrect return code handling in ssl3_final_finish_mac.
Based on an original patch by Joel Sing (OpenBSD) who also originally identified the issue.
Matt Caswell [Fri, 13 Jun 2014 14:35:20 +0000 (15:35 +0100)]
Revert "Fixed incorrect return code handling in ssl3_final_finish_mac"
This reverts commit
2f1dffa88e1b120add4f0b3a794fbca65aa7768d.
Missing attribution.
Viktor Dukhovni [Thu, 12 Jun 2014 05:56:31 +0000 (01:56 -0400)]
Client-side namecheck wildcards.
A client reference identity of ".example.com" matches a server
certificate presented identity that is any sub-domain of "example.com"
(e.g. "www.sub.example.com).
With the X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS flag, it matches
only direct child sub-domains (e.g. "www.sub.example.com").
Kurt Cancemi [Wed, 4 Jun 2014 07:59:58 +0000 (03:59 -0400)]
Fix off-by-one errors in ssl_cipher_get_evp()
In the ssl_cipher_get_evp() function, fix off-by-one errors in index validation before accessing arrays.
PR#3375
Andy Polyakov [Thu, 12 Jun 2014 19:45:41 +0000 (21:45 +0200)]
Facilitate back-porting of AESNI and SHA modules.
Fix SEH and stack handling in Win64 build.
Matt Caswell [Thu, 12 Jun 2014 19:38:45 +0000 (20:38 +0100)]
Added OPENSSL_assert check as per PR#3377 reported by Rainer Jung <rainer.jung@kippdata.de>
Dr. Stephen Henson [Thu, 12 Jun 2014 09:48:24 +0000 (10:48 +0100)]
Fix Windows build.
(cherry picked from commit
5f4c5a902b0508eab235adecb34b236cdc0048a5)
Andy Polyakov [Wed, 11 Jun 2014 18:40:51 +0000 (20:40 +0200)]
Enable multi-block support by default.
Dr. Stephen Henson [Wed, 11 Jun 2014 13:31:08 +0000 (14:31 +0100)]
Fix compilation with no-comp
Andy Polyakov [Wed, 11 Jun 2014 09:34:18 +0000 (11:34 +0200)]
ghash-x86_64.pl: optimize for upcoming Atom.
Andy Polyakov [Wed, 11 Jun 2014 08:27:45 +0000 (10:27 +0200)]
Add support for Intel SHA extension.
Rob Stradling [Mon, 12 May 2014 13:40:19 +0000 (14:40 +0100)]
Separate the SCT List parser from the SCT List viewer
Matt Caswell [Tue, 10 Jun 2014 22:24:28 +0000 (23:24 +0100)]
Fixed incorrect return code handling in ssl3_final_finish_mac
Andy Polyakov [Tue, 10 Jun 2014 21:08:06 +0000 (23:08 +0200)]
aesni-mb-x86_64.pl: add Win64 SEH.
Hubert Kario [Fri, 6 Jun 2014 13:23:19 +0000 (15:23 +0200)]
add ECC strings to ciphers(1), point out difference between DH and ECDH
* Make a clear distinction between DH and ECDH key exchange.
* Group all key exchange cipher suite identifiers, first DH then ECDH
* add descriptions for all supported *DH* identifiers
* add ECDSA authentication descriptions
* add example showing how to disable all suites that offer no
authentication or encryption
Mike Bland [Sat, 7 Jun 2014 17:05:50 +0000 (13:05 -0400)]
Create test/testutil.h for unit test helper macros
Defines SETUP_TEST_FIXTURE and EXECUTE_TEST, and updates ssl/heartbeat_test.c
using these macros. SETUP_TEST_FIXTURE makes use of the new TEST_CASE_NAME
macro, defined to use __func__ or __FUNCTION__ on platforms that support those
symbols, or to use the file name and line number otherwise. This should fix
several reported build problems related to lack of C99 support.
Dr. Stephen Henson [Tue, 10 Jun 2014 13:47:29 +0000 (14:47 +0100)]
Fix null pointer errors.
PR#3394
Dr. Stephen Henson [Mon, 9 Jun 2014 11:03:12 +0000 (12:03 +0100)]
SRP ciphersuite correction.
SRP ciphersuites do not have no authentication. They have authentication
based on SRP. Add new SRP authentication flag and cipher string.
Dr. Stephen Henson [Mon, 9 Jun 2014 07:55:37 +0000 (08:55 +0100)]
Update strength_bits for 3DES.
Fix strength_bits to 112 for 3DES.
Kurt Roeckx [Sat, 7 Jun 2014 11:32:23 +0000 (13:32 +0200)]
Link heartbeat_test with the static version of the libraries
It's using an internal API that that might not be available in the shared
library.
Jakub Wilk [Sat, 7 Jun 2014 12:37:17 +0000 (14:37 +0200)]
Create ~/.rnd with mode 0600 instead of 0666
Because of a missing include <fcntl.h> we don't have O_CREATE and don't create
the file with open() using mode 0600 but fall back to using fopen() with the
default umask followed by a chmod().
Problem found by Jakub Wilk <jwilk@debian.org>.
Dr. Stephen Henson [Sat, 7 Jun 2014 14:21:13 +0000 (15:21 +0100)]
Make tls_session_secret_cb work with CVE-2014-0224 fix.
If application uses tls_session_secret_cb for session resumption
set the CCS_OK flag.
Dr. Stephen Henson [Sat, 7 Jun 2014 13:17:44 +0000 (14:17 +0100)]
Add official extension value.
Encrypt then MAC now has an official extension value, see:
http://www.ietf.org/id/draft-ietf-tls-encrypt-then-mac-02.txt
Matt Caswell [Sat, 7 Jun 2014 11:30:18 +0000 (12:30 +0100)]
Fixed minor duplication in docs
Andy Polyakov [Fri, 6 Jun 2014 19:27:18 +0000 (21:27 +0200)]
ARM assembly pack: get ARMv7 instruction endianness right.
Pointer out and suggested by: Ard Biesheuvel.
Andy Polyakov [Fri, 6 Jun 2014 18:50:43 +0000 (20:50 +0200)]
sha[1|512]-armv8.pl: get instruction endianness right.
Submitted by: Ard Biesheuvel.
Andy Polyakov [Fri, 6 Jun 2014 18:48:35 +0000 (20:48 +0200)]
Engage GHASH for ARMv8.
Andy Polyakov [Fri, 6 Jun 2014 18:43:02 +0000 (20:43 +0200)]
Add GHASH for ARMv8 Crypto Extension.
Result of joint effort with Ard Biesheuvel.
Dr. Stephen Henson [Fri, 6 Jun 2014 13:33:24 +0000 (14:33 +0100)]
Update NEWS.
Andy Polyakov [Fri, 6 Jun 2014 10:18:51 +0000 (12:18 +0200)]
aesv8-armx.pl update:
- fix 32-bit build (submitted by Ard Biesheuvel);
- fix performance issue in CTR;
Dr. Stephen Henson [Thu, 5 Jun 2014 12:27:11 +0000 (13:27 +0100)]
Update value to use a free bit.
Dr. Stephen Henson [Tue, 13 May 2014 17:48:31 +0000 (18:48 +0100)]
Fix for CVE-2014-0195
A buffer overrun attack can be triggered by sending invalid DTLS fragments
to an OpenSSL DTLS client or server. This is potentially exploitable to
run arbitrary code on a vulnerable client or server.
Fixed by adding consistency check for DTLS fragments.
Thanks to Jüri Aedla for reporting this issue.
(cherry picked from commit
1632ef744872edc2aa2a53d487d3e79c965a4ad3)
Dr. Stephen Henson [Fri, 16 May 2014 11:49:48 +0000 (12:49 +0100)]
Fix for CVE-2014-0224
Only accept change cipher spec when it is expected instead of at any
time. This prevents premature setting of session keys before the master
secret is determined which an attacker could use as a MITM attack.
Thanks to KIKUCHI Masashi (Lepidum Co. Ltd.) for reporting this issue
and providing the initial fix this patch is based on.
(cherry picked from commit
bc8923b1ec9c467755cd86f7848c50ee8812e441)
Dr. Stephen Henson [Fri, 16 May 2014 11:55:16 +0000 (12:55 +0100)]
Additional CVE-2014-0224 protection.
Return a fatal error if an attempt is made to use a zero length
master secret.
(cherry picked from commit
006cd7083f76ed5cb0d9a914857e9231ef1bc317)
Dr. Stephen Henson [Fri, 16 May 2014 12:00:45 +0000 (13:00 +0100)]
Fix CVE-2014-0221
Unnecessary recursion when receiving a DTLS hello request can be used to
crash a DTLS client. Fixed by handling DTLS hello request without recursion.
Thanks to Imre Rad (Search-Lab Ltd.) for discovering this issue.
(cherry picked from commit
d3152655d5319ce883c8e3ac4b99f8de4c59d846)
Dr. Stephen Henson [Thu, 29 May 2014 14:00:05 +0000 (15:00 +0100)]
Fix CVE-2014-3470
Check session_cert is not NULL before dereferencing it.
(cherry picked from commit
8011cd56e39a433b1837465259a9bd24a38727fb)
Andy Polyakov [Wed, 4 Jun 2014 06:34:18 +0000 (08:34 +0200)]
aesp8-ppc.pl: fix typos.
Andy Polyakov [Wed, 4 Jun 2014 06:33:06 +0000 (08:33 +0200)]
evp/e_aes.c: add erroneously omitted break;
Libor Krystek [Tue, 3 Jun 2014 22:14:40 +0000 (23:14 +0100)]
Corrected OPENSSL_NO_EC_NISTP_64_GCC_128 usage in ec_lcl.h. PR#3370
David Benjamin [Mon, 2 Jun 2014 17:55:20 +0000 (18:55 +0100)]
Check there is enough room for extension.
zhu qun-ying [Mon, 2 Jun 2014 13:38:52 +0000 (14:38 +0100)]
Free up s->d1->buffered_app_data.q properly.
PR#3286
Andy Polyakov [Mon, 2 Jun 2014 19:48:02 +0000 (21:48 +0200)]
evp/e_aes.c: populate HWAES_* to remaning modes.
Submitted by: Ard Biesheuvel.
Dr. Stephen Henson [Mon, 2 Jun 2014 13:12:07 +0000 (14:12 +0100)]
Allow reordering of certificates when signing.
Add certificates if -nocerts and -certfile specified when signing
in smime application. This can be used this to specify the
order certificates appear in the PKCS#7 structure: some broken
applications require a certain ordering.
PR#3316
Sami Farin [Mon, 2 Jun 2014 11:24:19 +0000 (12:24 +0100)]
Typo: set i to -1 before goto.
PR#3302
Andy Polyakov [Sun, 1 Jun 2014 21:38:11 +0000 (23:38 +0200)]
Engage POWER8 AES support.
Matt Caswell [Sun, 1 Jun 2014 20:32:19 +0000 (21:32 +0100)]
Added SSLErr call for internal error in dtls1_buffer_record
David Ramos [Sun, 1 Jun 2014 20:28:41 +0000 (21:28 +0100)]
Delays the queue insertion until after the ssl3_setup_buffers() call due to use-after-free bug. PR#3362
Andy Polyakov [Sun, 1 Jun 2014 20:32:55 +0000 (22:32 +0200)]
armv4cpuid.S: switch to CNTVCT tick counter.
Andy Polyakov [Sun, 1 Jun 2014 20:29:50 +0000 (22:29 +0200)]
sha[1|256]-armv4: harmonize with arm_arch.h.
Andy Polyakov [Sun, 1 Jun 2014 20:20:37 +0000 (22:20 +0200)]
Engage ARMv8 AES support.
Dr. Stephen Henson [Sun, 1 Jun 2014 15:25:43 +0000 (16:25 +0100)]
Recognise padding extension.
Dr. Stephen Henson [Sun, 1 Jun 2014 15:08:18 +0000 (16:08 +0100)]
Option to disable padding extension.
Add TLS padding extension to SSL_OP_ALL so it is used with other
"bugs" options and can be turned off.
This replaces SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG which is an ancient
option referring to SSLv2 and SSLREF.
PR#3336
Andy Polyakov [Sun, 1 Jun 2014 16:03:51 +0000 (18:03 +0200)]
linux-aarch64: engage SHA modules.
Andy Polyakov [Sun, 1 Jun 2014 16:02:11 +0000 (18:02 +0200)]
Add SHA for ARMv8.
Andy Polyakov [Sun, 1 Jun 2014 15:21:06 +0000 (17:21 +0200)]
Add linux-aarch64 taget.
armcap.c is shared between 32- and 64-bit builds and features link-time
detection of getauxval.
Submitted by: Ard Biesheuvel.
Ben Laurie [Sun, 1 Jun 2014 14:37:08 +0000 (15:37 +0100)]
Merge branch 'erbridge-probable_primes'
Ben Laurie [Sun, 1 Jun 2014 14:30:01 +0000 (15:30 +0100)]
Credit to Felix.
Closes #116.
Ben Laurie [Sun, 1 Jun 2014 14:25:50 +0000 (15:25 +0100)]
Tidy up, don't exceed the number of requested bits.
Ben Laurie [Sat, 31 May 2014 17:26:37 +0000 (18:26 +0100)]
Constify and reduce coprime random bits to allow for multiplier.
Ben Laurie [Sat, 31 May 2014 17:24:55 +0000 (18:24 +0100)]
Zero prime doits.
Ben Laurie [Sat, 31 May 2014 17:20:03 +0000 (18:20 +0100)]
Add option to run all prime tests.
Felix Laurie von Massenbach [Tue, 27 May 2014 13:48:21 +0000 (14:48 +0100)]
Add a test to check we're really generating probable primes.
Felix Laurie von Massenbach [Tue, 27 May 2014 12:43:36 +0000 (13:43 +0100)]
Remove unused BIGNUMs.
Felix Laurie von Massenbach [Tue, 27 May 2014 12:38:59 +0000 (13:38 +0100)]
Only count successful generations.
Felix Laurie von Massenbach [Tue, 27 May 2014 12:23:21 +0000 (13:23 +0100)]
Refactor the first prime index.
Felix Laurie von Massenbach [Tue, 27 May 2014 11:55:20 +0000 (12:55 +0100)]
Try skipping over the adding and just picking a new random number.
Generates a number coprime to 2, 3, 5, 7, 11.
Speed:
Trial div (add) : trial div (retry) : coprime
1 : 0.42 : 0.84
Felix Laurie von Massenbach [Tue, 27 May 2014 11:41:20 +0000 (12:41 +0100)]
Remove editor barf on updating copyright.
Felix Laurie von Massenbach [Tue, 27 May 2014 01:13:33 +0000 (02:13 +0100)]
Add python script to generate the bits needed for the prime generator.
Felix Laurie von Massenbach [Tue, 27 May 2014 01:12:59 +0000 (02:12 +0100)]
Generate safe primes not divisible by 3, 5 or 7.
~2% speed improvement on trial division.
Felix Laurie von Massenbach [Mon, 26 May 2014 23:37:03 +0000 (00:37 +0100)]
Add a method to generate a prime that is guaranteed not to be divisible by 3 or 5.
Possibly some reduction in bias, but no speed gains.