Dr. Stephen Henson [Mon, 9 Jun 2014 07:04:45 +0000 (08:04 +0100)]
Partial warn unused for apps.
Dr. Stephen Henson [Sun, 8 Jun 2014 22:39:54 +0000 (23:39 +0100)]
Fix warn unused for ssl library...
Dr. Stephen Henson [Sun, 8 Jun 2014 22:04:19 +0000 (23:04 +0100)]
Fix all unused result warnings in libcrypto.
Dr. Stephen Henson [Sun, 8 Jun 2014 21:05:27 +0000 (22:05 +0100)]
Add __owur to several functions.
Dr. Stephen Henson [Sun, 8 Jun 2014 21:05:07 +0000 (22:05 +0100)]
Add -DDEBUG_UNUSED to debug-steve*
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.
Felix Laurie von Massenbach [Mon, 26 May 2014 23:33:42 +0000 (00:33 +0100)]
Run the prime speed tests for 10 seconds.
Felix Laurie von Massenbach [Mon, 26 May 2014 20:58:55 +0000 (21:58 +0100)]
Tidy up speed.c a little.
Felix Laurie von Massenbach [Mon, 26 May 2014 20:57:25 +0000 (21:57 +0100)]
Add speed test for prime trial division.
Felix Laurie von Massenbach [Mon, 26 May 2014 18:16:52 +0000 (19:16 +0100)]
Remove static from probable_prime_dh.
Felix Laurie von Massenbach [Mon, 26 May 2014 18:09:18 +0000 (19:09 +0100)]
Remove indentation from the goto targets.
Felix Laurie von Massenbach [Mon, 26 May 2014 16:19:28 +0000 (17:19 +0100)]
Strip trailing whitespace from Configure.
Felix Laurie von Massenbach [Mon, 26 May 2014 16:19:06 +0000 (17:19 +0100)]
Add a new target to Configure for me.
Dr. Stephen Henson [Sun, 1 Jun 2014 14:03:00 +0000 (15:03 +0100)]
Set default global mask to UTF8 only.
David Ramos [Sun, 1 Jun 2014 13:23:51 +0000 (14:23 +0100)]
Allocate extra space when NETSCAPE_HANG_BUG defined.
Make sure there is an extra 4 bytes for server done message when
NETSCAPE_HANG_BUG is defined.
PR#3361
David Ramos [Sun, 1 Jun 2014 12:03:05 +0000 (13:03 +0100)]
Initialise alg.
PR#3313
Dr. Stephen Henson [Fri, 30 May 2014 12:21:43 +0000 (13:21 +0100)]
Use correct digest when exporting keying material.
PR#3319
Dr. Stephen Henson [Fri, 30 May 2014 12:10:08 +0000 (13:10 +0100)]
Don't compile heartbeat test code on Windows (for now).
Hubert Kario [Thu, 12 Sep 2013 09:37:12 +0000 (11:37 +0200)]
add description of -attime to man page
the verify app man page didn't describe the usage of attime option
even though it was listed as a valid option in the -help message.
This patch fixes this omission.
Hubert Kario [Tue, 10 Sep 2013 13:59:13 +0000 (15:59 +0200)]
add description of -no_ecdhe option to s_server man page
While the -help message references this option, the man page
doesn't mention the -no_ecdhe option.
This patch fixes this omission.
Andy Polyakov [Thu, 29 May 2014 20:45:35 +0000 (22:45 +0200)]
aesv8-armx.pl: add CTR implementation.
Submitted by: Ard Biesheuvel.
Dr. Stephen Henson [Thu, 29 May 2014 13:07:49 +0000 (14:07 +0100)]
Set version number correctly.
PR#3249
František Bořánek [Thu, 29 May 2014 12:49:10 +0000 (13:49 +0100)]
Fix memory leak.
PR#3278
Martin Kaiser [Wed, 28 May 2014 09:16:06 +0000 (11:16 +0200)]
remove duplicate 0x for default RSASSA-PSS salt len
Andy Polyakov [Thu, 29 May 2014 13:10:12 +0000 (15:10 +0200)]
aesp8-ppc.pl: optimize CBC decrypt even further.
10-19% improvement depending on key length and endianness.
Peter Mosmans [Tue, 27 May 2014 22:26:11 +0000 (23:26 +0100)]
Fix for test_bn regular expression to work on Windows using MSYS. PR#3346
Matt Caswell [Mon, 26 May 2014 22:22:08 +0000 (23:22 +0100)]
Changed -strictpem to use PEM_read_bio
Matt Caswell [Mon, 26 May 2014 16:16:43 +0000 (17:16 +0100)]
Added -strictpem parameter to enable processing of PEM files with data prior to the BEGIN marker
Juli Mallett [Mon, 21 Apr 2014 21:30:09 +0000 (14:30 -0700)]
Fix cast of boolean where cast of LHS intended.
Closes #74.
Matt Caswell [Sun, 25 May 2014 22:37:53 +0000 (23:37 +0100)]
Fixed error in args for SSL_set_msg_callback and SSL_set_msg_callback_arg
Ben Laurie [Sun, 25 May 2014 16:25:56 +0000 (17:25 +0100)]
Make it build.
Closes #31.
Christian Heimes [Wed, 13 Nov 2013 00:46:42 +0000 (01:46 +0100)]
add test case to makefiles
Christian Heimes [Wed, 13 Nov 2013 00:42:48 +0000 (01:42 +0100)]
Implement tests for PKCS#5 PBKDF2 HMAC
Dr. Stephen Henson [Sat, 24 May 2014 22:55:19 +0000 (23:55 +0100)]
Don't use expired certificates if possible.
When looking for the issuer of a certificate, if current candidate is
expired, continue looking. Only return an expired certificate if no valid
certificates are found.
PR#3359
Dr. Stephen Henson [Sat, 24 May 2014 22:48:29 +0000 (23:48 +0100)]
Rename vpm_int.h to x509_lcl.h
Matt Caswell [Sat, 24 May 2014 22:55:27 +0000 (23:55 +0100)]
Fix for non compilation with TLS_DEBUG defined
Ben Laurie [Sat, 24 May 2014 14:42:18 +0000 (15:42 +0100)]
Only copy opensslconf.h at init time.
Martin Kaiser [Fri, 23 May 2014 23:04:25 +0000 (00:04 +0100)]
Modify the description of -noout to match the manpage. PR#3364
Martin Kaiser [Fri, 23 May 2014 23:02:24 +0000 (00:02 +0100)]
Add an NSS output format to sess_id to export to export the session id and the master key in NSS keylog format. PR#3352
Luiz Angelo Daros de Luca [Fri, 23 May 2014 22:05:38 +0000 (23:05 +0100)]
OpenSSL is able to generate a certificate with name constraints with any possible
subjectAltName field. The Name Contraint example in x509v3_config(5) even use IP
as an example:
nameConstraints=permitted;IP:192.168.0.0/255.255.0.0
However, until now, the verify code for IP name contraints did not exist. Any
check with a IP Address Name Constraint results in a "unsupported name constraint
type" error.
This patch implements support for IP Address Name Constraint (v4 and v6). This code
validaded correcly certificates with multiple IPv4/IPv6 address checking against
a CA certificate with these constraints:
permitted;IP.1=10.9.0.0/255.255.0.0
permitted;IP.2=10.48.0.0/255.255.0.0
permitted;IP.3=10.148.0.0/255.255.0.0
permitted;IP.4=fdc8:123f:e31f::/ffff:ffff:ffff::
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Andy Polyakov [Fri, 23 May 2014 18:15:06 +0000 (20:15 +0200)]
aesp8-ppc.pl: add optimized CBC decrypt.
Andy Polyakov [Fri, 23 May 2014 18:14:38 +0000 (20:14 +0200)]
vpaes-ppc.pl: comply with ABI.
Ben Laurie [Thu, 22 May 2014 21:00:17 +0000 (22:00 +0100)]
Merge branch 'heartbeat-test' of git://github.com/mbland/openssl
Mike Bland [Thu, 22 May 2014 18:41:47 +0000 (14:41 -0400)]
Fix heartbeat_test for -DOPENSSL_NO_HEARTBEATS
Replaces the entire test with a trivial implementation when
OPENSSL_NO_HEARTBEATS is defined.
Ben Laurie [Thu, 22 May 2014 09:11:40 +0000 (10:11 +0100)]
Check length first in BUF_strnlen().
Matt Caswell [Wed, 21 May 2014 23:07:35 +0000 (00:07 +0100)]
Fixed minor copy&paste error, and stray space causing rendering problem