Dr. Stephen Henson [Fri, 13 Dec 2013 13:59:53 +0000 (13:59 +0000)]
Verify parameter retrieval functions.
New functions to retrieve internal pointers to X509_VERIFY_PARAM
for SSL_CTX and SSL structures.
(cherry picked from commit
be0c9270690ed9c1799900643cab91de146de857)
Dr. Stephen Henson [Wed, 11 Dec 2013 14:45:12 +0000 (14:45 +0000)]
Don't use rdrand engine as default unless explicitly requested.
(cherry picked from commit
16898401bd47a153fbf799127ff57fdcfcbd324f)
Dr. Stephen Henson [Tue, 10 Dec 2013 00:09:57 +0000 (00:09 +0000)]
remove obsolete STATUS file
Dr. Stephen Henson [Tue, 10 Dec 2013 00:02:04 +0000 (00:02 +0000)]
Add release dates to NEWS
Andy Polyakov [Mon, 9 Dec 2013 20:23:19 +0000 (21:23 +0100)]
x86_64-xlate.pl: minor update.
Andy Polyakov [Mon, 9 Dec 2013 20:02:24 +0000 (21:02 +0100)]
bn/asm/x86_64-mont5.pl: add MULX/AD*X code path.
This also eliminates code duplication between x86_64-mont and x86_64-mont
and optimizes even original non-MULX code.
Andy Polyakov [Wed, 4 Dec 2013 21:37:49 +0000 (22:37 +0100)]
bn/asm/armv4-mont.pl: add NEON code path.
Andy Polyakov [Wed, 4 Dec 2013 21:01:31 +0000 (22:01 +0100)]
perlasm/ppc-xlate.pl: add support for AltiVec/VMX and VSX.
Suggested by: Marcello Cerri
Andy Polyakov [Wed, 4 Dec 2013 20:47:43 +0000 (21:47 +0100)]
perlasm/ppc-xlate.pl: improve linux64le support.
Suggested by: Marcello Cerri
Andy Polyakov [Wed, 4 Dec 2013 20:46:40 +0000 (21:46 +0100)]
aes/asm/vpaes-ppc.pl: comply with ABI.
Andy Polyakov [Wed, 4 Dec 2013 20:43:46 +0000 (21:43 +0100)]
Configure: remove vpaes-ppc from aix targets.
AIX assembler doesn't hanle .align, which is essential for vpaes module.
Andy Polyakov [Tue, 3 Dec 2013 22:59:55 +0000 (23:59 +0100)]
bn/asm/x86_64-mont5.pl: comply with Win64 ABI.
PR: 3189
Submitted by: Oscar Ciurana
Andy Polyakov [Tue, 3 Dec 2013 21:28:48 +0000 (22:28 +0100)]
crypto/bn/asm/rsaz-x86_64.pl: make it work on Win64.
Andy Polyakov [Tue, 3 Dec 2013 21:05:17 +0000 (22:05 +0100)]
crypto/bn/rsaz*: fix licensing note.
rsaz_exp.c: harmonize line terminating;
asm/rsaz-*.pl: minor optimizations.
Andy Polyakov [Tue, 3 Dec 2013 08:43:06 +0000 (09:43 +0100)]
bn/asm/rsaz-x86_64.pl: fix prototype.
Dr. Stephen Henson [Wed, 27 Nov 2013 15:31:24 +0000 (15:31 +0000)]
Simplify and update openssl.spec
Andy Polyakov [Fri, 29 Nov 2013 13:40:51 +0000 (14:40 +0100)]
vpaes-ppc.pl: fix bug in IV handling and comply with ABI.
Andy Polyakov [Wed, 27 Nov 2013 21:50:00 +0000 (22:50 +0100)]
ppc64-mont.pl: eliminate dependency on GPRs' upper halves.
Andy Polyakov [Wed, 27 Nov 2013 21:39:13 +0000 (22:39 +0100)]
Take vpaes-ppc module into loop.
Andy Polyakov [Wed, 27 Nov 2013 21:32:56 +0000 (22:32 +0100)]
Add Vector Permutation AES for PPC.
Dr. Stephen Henson [Mon, 18 Nov 2013 18:49:46 +0000 (18:49 +0000)]
New functions to retrieve certificate from SSL_CTX
New functions to retrieve current certificate or private key
from an SSL_CTX.
Constify SSL_get_private_key().
Dr. Stephen Henson [Mon, 18 Nov 2013 16:52:10 +0000 (16:52 +0000)]
Don't define SSL_select_next_proto if OPENSSL_NO_TLSEXT set
Dr. Stephen Henson [Sun, 17 Nov 2013 17:48:18 +0000 (17:48 +0000)]
Use correct header length in ssl3_send_certifcate_request
Dr. Stephen Henson [Thu, 14 Nov 2013 21:00:40 +0000 (21:00 +0000)]
Piotr Sikora [Wed, 13 Nov 2013 23:20:22 +0000 (15:20 -0800)]
Fix compilation with no-nextprotoneg.
PR#3106
Dr. Stephen Henson [Wed, 13 Nov 2013 14:33:57 +0000 (14:33 +0000)]
Flag to disable automatic copying of contexts.
Some functions such as EVP_VerifyFinal only finalise a copy of the passed
context in case an application wants to digest more data. Doing this when
it is not needed is inefficient and many applications don't require it.
For compatibility the default is to still finalise a copy unless the
flag EVP_MD_CTX_FLAG_FINALISE is set in which case the passed
context is finalised an *no* further data can be digested after
finalisation.
Dr. Stephen Henson [Wed, 13 Nov 2013 22:57:11 +0000 (22:57 +0000)]
Allow match selecting of current certificate.
If pointer comparison for current certificate fails check
to see if a match using X509_cmp succeeds for the current
certificate: this is useful for cases where the certificate
pointer is not available.
Rob Stradling [Mon, 11 Nov 2013 17:04:24 +0000 (18:04 +0100)]
Additional "chain_cert" functions.
PR#3169
This patch, which currently applies successfully against master and
1_0_2, adds the following functions:
SSL_[CTX_]select_current_cert() - set the current certificate without
disturbing the existing structure.
SSL_[CTX_]get0_chain_certs() - get the current certificate's chain.
SSL_[CTX_]clear_chain_certs() - clear the current certificate's chain.
The patch also adds these functions to, and fixes some existing errors
in, SSL_CTX_add1_chain_cert.pod.
Krzysztof Kwiatkowski [Wed, 13 Nov 2013 22:45:16 +0000 (22:45 +0000)]
Delete duplicate entry.
PR#3172
Andy Polyakov [Tue, 12 Nov 2013 21:36:24 +0000 (22:36 +0100)]
Configure: add linux-ppc64le target.
Submitted by: Marcelo Cerri
Andy Polyakov [Tue, 12 Nov 2013 21:09:55 +0000 (22:09 +0100)]
srp/srp_grps.h: make it Compaq C-friendly.
PR: 3165
Submitted by: Daniel Richard G.
Andy Polyakov [Tue, 12 Nov 2013 20:52:18 +0000 (21:52 +0100)]
modes/asm/ghash-alpha.pl: fix typo.
Andy Polyakov [Tue, 12 Nov 2013 20:49:15 +0000 (21:49 +0100)]
Make Makefiles OSF-make-friendly.
PR: 3165
Dr. Stephen Henson [Mon, 11 Nov 2013 22:39:40 +0000 (22:39 +0000)]
Fix memory leak.
Dr. Stephen Henson [Mon, 11 Nov 2013 14:40:55 +0000 (14:40 +0000)]
Support setting of "no purpose" for trust.
If the oid parameter is set to NULL in X509_add1_trust_object
create an empty list of trusted purposes corresponding to
"no purpose" if trust is checked.
Dr. Stephen Henson [Mon, 11 Nov 2013 14:40:07 +0000 (14:40 +0000)]
Update FAQ
Andy Polyakov [Sun, 10 Nov 2013 22:09:22 +0000 (23:09 +0100)]
Makfile.org: make FIPS build work with BSD make.
Dr. Stephen Henson [Sun, 10 Nov 2013 16:46:54 +0000 (16:46 +0000)]
Update FAQ with PGP note.
Dr. Stephen Henson [Fri, 8 Nov 2013 18:59:26 +0000 (18:59 +0000)]
Fix for some platforms where "char" is unsigned.
Dr. Stephen Henson [Thu, 7 Nov 2013 17:27:07 +0000 (17:27 +0000)]
Document RSAPublicKey_{in,out} options.
Dr. Stephen Henson [Thu, 7 Nov 2013 03:55:49 +0000 (03:55 +0000)]
Add CMS_SignerInfo_get0_signature function.
Add function to retrieve the signature from a CMS_SignerInfo structure:
applications can then read or modify it.
Dr. Stephen Henson [Thu, 7 Nov 2013 15:15:20 +0000 (15:15 +0000)]
Check for missing components in RSA_check.
Andy Polyakov [Sat, 9 Nov 2013 10:41:59 +0000 (11:41 +0100)]
modes/asm/ghash-alpha.pl: make it work with older assembler for real.
PR: 3165
Andy Polyakov [Fri, 8 Nov 2013 22:00:35 +0000 (23:00 +0100)]
engines/ccgost/gost89.h: make word32 defintion unconditional.
Original definition depended on __LONG_MAX__ that is not guaranteed to
be present. As we don't support platforms with int narrower that 32 bits
it's appropriate to make defition inconditional.
PR: 3165
Andy Polyakov [Fri, 8 Nov 2013 21:56:44 +0000 (22:56 +0100)]
modes/asm/ghash-alpha.pl: make it work with older assembler.
PR: 3165
Dr. Stephen Henson [Wed, 6 Nov 2013 20:45:12 +0000 (20:45 +0000)]
Experimental workaround TLS filler (WTF) extension.
Based on a suggested workaround for the "TLS hang bug" (see FAQ and PR#2771):
if the TLS Client Hello record length value would otherwise be > 255 and less
that 512 pad with a dummy extension containing zeroes so it is at least 512.
To enable it use an unused extension number (for example 0x4242) using
e.g. -DTLSEXT_TYPE_wtf=0x4242
WARNING: EXPERIMENTAL, SUBJECT TO CHANGE.
Dr. Stephen Henson [Wed, 6 Nov 2013 14:38:28 +0000 (14:38 +0000)]
Enable PSK in FIPS mode.
Enable PSK ciphersuites with AES or DES3 in FIPS mode.
Dr. Stephen Henson [Wed, 6 Nov 2013 14:18:41 +0000 (14:18 +0000)]
Sync error codes with 1.0.2-stable
Dr. Stephen Henson [Wed, 6 Nov 2013 13:16:50 +0000 (13:16 +0000)]
Initialise context before using it.
(cherry picked from commit
a4947e4e064d2d5bb622ac64cf13edc4a46ed196)
Ben Laurie [Sun, 3 Nov 2013 17:23:50 +0000 (17:23 +0000)]
PBKDF2 should be efficient. Contributed by Christian Heimes
<christian@python.org>.
Dr. Stephen Henson [Sat, 2 Nov 2013 14:07:21 +0000 (14:07 +0000)]
Add brainpool curves to trace output.
(cherry picked from commit
bd80d0229c9a154f569b046365bc85d76b59cfc5)
Robin Seggelmann [Wed, 9 May 2012 17:28:44 +0000 (19:28 +0200)]
DTLS/SCTP struct authchunks Bug
PR: 2809
DTLS/SCTP requires DATA and FORWARD-TSN chunks to be protected with
SCTP-AUTH. It is checked if this has been activated successfully for
the local and remote peer. Due to a bug, however, the
gauth_number_of_chunks field of the authchunks struct is missing on
FreeBSD, and was therefore not considered in the OpenSSL implementation.
This patch sets the corresponding pointer for the check correctly
whether or not this bug is present.
(cherry picked from commit
f596e3c491035fe80db5fc0c3ff6b647662b0003)
Robin Seggelmann [Wed, 9 May 2012 17:28:41 +0000 (19:28 +0200)]
DTLS/SCTP Finished Auth Bug
PR: 2808
With DTLS/SCTP the SCTP extension SCTP-AUTH is used to protect DATA and
FORWARD-TSN chunks. The key for this extension is derived from the
master secret and changed with the next ChangeCipherSpec, whenever a new
key has been negotiated. The following Finished then already uses the
new key. Unfortunately, the ChangeCipherSpec and Finished are part of
the same flight as the ClientKeyExchange, which is necessary for the
computation of the new secret. Hence, these messages are sent
immediately following each other, leaving the server very little time to
compute the new secret and pass it to SCTP before the finished arrives.
So the Finished is likely to be discarded by SCTP and a retransmission
becomes necessary. To prevent this issue, the Finished of the client is
still sent with the old key.
(cherry picked from commit
9fb523adce6fd6015b68da2ca8e4ac4900ac2be2)
Piotr Sikora [Fri, 1 Nov 2013 21:35:46 +0000 (21:35 +0000)]
Fix SSL_OP_SINGLE_ECDH_USE
Don't require a public key in tls1_set_ec_id if compression status is
not needed. This fixes a bug where SSL_OP_SINGLE_ECDH_USE wouldn't work.
(cherry picked from commit
5ff68e8f6dac3b0d8997b8bc379f9111c2bab74f)
Dr. Stephen Henson [Fri, 1 Nov 2013 21:35:00 +0000 (21:35 +0000)]
Add -ecdh_single option.
Add -ecdh_single option to set SSL_OP_SINGLE_ECDH_USE on the command line.
(cherry picked from commit
f14a4a861d2d221ed565a75441a218f85b8db530)
Dr. Stephen Henson [Fri, 1 Nov 2013 21:39:56 +0000 (21:39 +0000)]
Fix warning.
Dr. Stephen Henson [Fri, 1 Nov 2013 21:39:34 +0000 (21:39 +0000)]
Fix warning.
Andy Polyakov [Thu, 31 Oct 2013 19:21:54 +0000 (20:21 +0100)]
sha/asm/sha512-ppc.pl: fix typo.
Submitted by: Marcelo Cerri
Andy Polyakov [Thu, 31 Oct 2013 10:58:50 +0000 (11:58 +0100)]
perlas/ppc-xlate.pl: fix typo.
Andy Polyakov [Thu, 31 Oct 2013 10:41:26 +0000 (11:41 +0100)]
aes/asm/aes-ppc.pl: add little-endian support.
Submitted by: Marcelo Cerri
Andy Polyakov [Thu, 31 Oct 2013 10:08:51 +0000 (11:08 +0100)]
perlasm/ppc-xlate.pl: add .quad directive
sha/asm/sha512-ppc.pl: add little-endian support.
Submitted by: Marcelo Cerri
Andy Polyakov [Thu, 31 Oct 2013 10:07:38 +0000 (11:07 +0100)]
sha/asm/sha1-ppc.pl: add little-endian support.
Submitted by: Marcelo Cerri
Andy Polyakov [Mon, 28 Oct 2013 21:18:48 +0000 (22:18 +0100)]
engines/e_aep.c: make it BN_ULONG-size and endian "neutral".
Andy Polyakov [Fri, 25 Oct 2013 08:12:17 +0000 (10:12 +0200)]
bn/asm/x86_64-mont.pl: minor optimization [for Decoded ICache].
Lubomir Rintel [Mon, 21 Oct 2013 09:03:02 +0000 (11:03 +0200)]
POD: Fix list termination
This fixes problems in POD list formatting: extra or missing =back
sequences.
doc/ssl/SSL_CTX_set1_curves.pod around line 90: =back without =over
doc/ssl/SSL_CTX_set1_verify_cert_store.pod around line 73: =back without =over
doc/ssl/SSL_CTX_add1_chain_cert.pod around line 82: =back without =over
doc/crypto/evp.pod around line 40: '=item' outside of any '=over'
crypto/des/des.pod around line 184: You forgot a '=back' before '=head1'
PR#3147
Lubomir Rintel [Mon, 21 Oct 2013 09:03:01 +0000 (11:03 +0200)]
POD: Fix item numbering
Newer pod2man considers =item [1-9] part of a numbered list, while =item
0 starts an unnumbered list. Add a zero effect formatting mark to override
this.
doc/apps/smime.pod around line 315: Expected text after =item, not a
number
...
PR#3146
Dr. Stephen Henson [Tue, 22 Oct 2013 04:37:43 +0000 (05:37 +0100)]
Update test server details.
Dr. Stephen Henson [Tue, 22 Oct 2013 06:35:22 +0000 (07:35 +0100)]
Add SSL_CONF command to set DH Parameters.
Dr. Stephen Henson [Tue, 22 Oct 2013 04:37:10 +0000 (05:37 +0100)]
Fix argument processing.
Dr. Stephen Henson [Mon, 21 Oct 2013 06:19:01 +0000 (07:19 +0100)]
Constification.
Dr. Stephen Henson [Sun, 20 Oct 2013 21:34:14 +0000 (22:34 +0100)]
Update demos/bio/README
Ben Laurie [Mon, 21 Oct 2013 02:34:00 +0000 (03:34 +0100)]
Remove unused variable.
Nick Mathewson [Sun, 20 Oct 2013 22:08:58 +0000 (15:08 -0700)]
Fix another gmt_unix_time case in server_random
Nick Mathewson [Sun, 20 Oct 2013 22:03:24 +0000 (15:03 -0700)]
Do not include a timestamp in the Client/ServerHello Random field.
Instead, send random bytes, unless SSL_SEND_{CLIENT,SERVER}RANDOM_MODE
is set.
This is a forward-port of commits:
4af793036f6ef4f0a1078e5d7155426a98d50e37
f4c93b46edb51da71f09eda99e83eaf193a33c08
3da721dac9382c48812c8eba455528fd59af2eef
2583270191a8b27eed303c03ece1da97b9b69fd3
While the gmt_unix_time record was added in an ostensible attempt to
mitigate the dangers of a bad RNG, its presence leaks the host's view
of the current time in the clear. This minor leak can help
fingerprint TLS instances across networks and protocols... and what's
worse, it's doubtful thet the gmt_unix_time record does any good at
all for its intended purpose, since:
* It's quite possible to open two TLS connections in one second.
* If the PRNG output is prone to repeat itself, ephemeral
handshakes (and who knows what else besides) are broken.
Dr. Stephen Henson [Sun, 20 Oct 2013 21:31:00 +0000 (22:31 +0100)]
Fix various typos.
Dr. Stephen Henson [Sun, 20 Oct 2013 21:21:09 +0000 (22:21 +0100)]
Modify sample accept.cnf
Steve Marquess [Tue, 15 Oct 2013 12:03:12 +0000 (08:03 -0400)]
Remove gratuitous patent references
Dr. Stephen Henson [Fri, 18 Oct 2013 15:28:38 +0000 (16:28 +0100)]
Add demo for SSL server using SSL_CONF.
Dr. Stephen Henson [Fri, 18 Oct 2013 15:09:12 +0000 (16:09 +0100)]
Extend SSL_CONF
Extend SSL_CONF to return command value types.
Add certificate and key options.
Update documentation.
Dr. Stephen Henson [Thu, 17 Oct 2013 15:07:27 +0000 (16:07 +0100)]
Typo.
Dr. Stephen Henson [Wed, 16 Oct 2013 13:27:55 +0000 (14:27 +0100)]
Time value for various platforms.
The function gettimeofday() is not supported on all platforms. Use
more portable versions. Adapted from FIPS code.
Dr. Stephen Henson [Tue, 15 Oct 2013 12:37:01 +0000 (13:37 +0100)]
Prevent use of RSA+MD5 in TLS 1.2 by default.
Removing RSA+MD5 from the default signature algorithm list
prevents its use by default.
If a broken implementation attempts to use RSA+MD5 anyway the sanity
checking of signature algorithms will cause a fatal alert.
Ben Laurie [Sun, 20 Oct 2013 12:10:25 +0000 (13:10 +0100)]
Add clang debug target.
Andy Polyakov [Tue, 15 Oct 2013 21:40:12 +0000 (23:40 +0200)]
PPC assembly pack: make new .size directives profiler-friendly.
Suggested by: Anton Blanchard
Dr. Stephen Henson [Tue, 15 Oct 2013 11:08:47 +0000 (12:08 +0100)]
Add brainpool curves to NID table too.
Dr. Stephen Henson [Tue, 15 Oct 2013 00:17:40 +0000 (01:17 +0100)]
Fix warning.
Dr. Stephen Henson [Tue, 15 Oct 2013 00:17:15 +0000 (01:17 +0100)]
Add test vectors from RFC7027
Dr. Stephen Henson [Mon, 14 Oct 2013 17:44:44 +0000 (18:44 +0100)]
RFC7027 (Brainpool for TLS) support.
Dr. Stephen Henson [Mon, 30 Sep 2013 11:44:18 +0000 (12:44 +0100)]
Sync OID numbers with 1.0.2 branch.
Andy Polyakov [Mon, 14 Oct 2013 22:14:39 +0000 (00:14 +0200)]
PPC assembly pack: add .size directives.
Andy Polyakov [Mon, 14 Oct 2013 20:41:00 +0000 (22:41 +0200)]
bn/asm/*x86_64*.pl: correct assembler requirement for ad*x.
Andy Polyakov [Sun, 13 Oct 2013 17:15:15 +0000 (19:15 +0200)]
Initial aarch64 bits.
Andy Polyakov [Sun, 13 Oct 2013 11:14:52 +0000 (13:14 +0200)]
MIPS assembly pack: get rid of deprecated instructions.
Latest MIPS ISA specification declared 'branch likely' instructions
obsolete. To makes code future-proof replace them with equivalent.
Andy Polyakov [Sat, 12 Oct 2013 20:10:28 +0000 (22:10 +0200)]
evp/e_aes_cbc_hmac_sha*.c: limit multi-block fragmentation to 1KB.
Excessive fragmentation put additional burden (of addtional MAC
calculations) on the other size and limiting fragments it to 1KB
limits the overhead to ~6%.
Andy Polyakov [Sat, 12 Oct 2013 19:37:55 +0000 (21:37 +0200)]
aes/asm/bsaes-x86_64.pl: fix Windows-specific bug in XTS.
PR: 3139
Andy Polyakov [Thu, 10 Oct 2013 21:06:43 +0000 (23:06 +0200)]
bn/asm/rsax-avx2.pl: minor optimization [for Decoded ICache].
Andy Polyakov [Wed, 9 Oct 2013 09:08:52 +0000 (11:08 +0200)]
bn/bn_exp.c: prefer MULX/AD*X over AVX2.
Andy Polyakov [Tue, 8 Oct 2013 21:41:31 +0000 (23:41 +0200)]
Configure: recognize experimental-multiblock.
Andy Polyakov [Tue, 8 Oct 2013 21:40:09 +0000 (23:40 +0200)]
ssl/s3_pkt.c: add initial multi-block encrypt.
Andy Polyakov [Tue, 8 Oct 2013 21:39:26 +0000 (23:39 +0200)]
evp/e_aes_cbc_hmac_sha*.c: harmonize names, fix bugs.