Andy Polyakov [Sat, 1 Feb 2014 20:07:16 +0000 (21:07 +0100)]
crypto/sha/asm/sha1-x86_64.pl update:
+5% on Atom Silvermont, up to +8% improvement of legacy code.
Harmonize sha1-586.pl and aesni-sha1-x86_86.p with sha1-x86_64.pl.
Dr. Stephen Henson [Wed, 29 Jan 2014 00:59:35 +0000 (00:59 +0000)]
Clarify docs.
Remove reference to ERR_TXT_MALLOCED in the error library as that is
only used internally. Indicate that returned error data must not be
freed.
(cherry picked from commit
f2d678e6e89b6508147086610e985d4e8416e867)
Dr. Stephen Henson [Tue, 28 Jan 2014 15:35:16 +0000 (15:35 +0000)]
typo
Dr. Stephen Henson [Tue, 28 Jan 2014 15:10:27 +0000 (15:10 +0000)]
Check i before r[i].
PR#3244
(cherry picked from commit
9614d2c676ffe74ce0c919d9e5c0d622a011cbed)
Dr. Stephen Henson [Tue, 28 Jan 2014 15:15:26 +0000 (15:15 +0000)]
Fix demo comment: 0.9.9 never released.
Dr. Stephen Henson [Tue, 28 Jan 2014 13:51:58 +0000 (13:51 +0000)]
Add loaded dynamic ENGINEs to list.
Always add a dynamically loaded ENGINE to list. Otherwise it can cause
problems when multiply loaded, especially if it adds new public key methods.
For all current engines we only want a single implementation anyway.
Dr. Stephen Henson [Mon, 27 Jan 2014 14:30:29 +0000 (14:30 +0000)]
New function to set compression methods so they can be safely freed.
Dr. Stephen Henson [Sun, 26 Jan 2014 16:28:27 +0000 (16:28 +0000)]
Compare encodings in X509_cmp as well as hash.
Dr. Stephen Henson [Sun, 26 Jan 2014 00:51:09 +0000 (00:51 +0000)]
Add cert callback retry test.
Dr. Stephen Henson [Sat, 25 Jan 2014 23:20:34 +0000 (23:20 +0000)]
Certificate callback doc.
Dr. Stephen Henson [Sat, 25 Jan 2014 13:31:07 +0000 (13:31 +0000)]
Support retries in certificate callback
Dr. Stephen Henson [Thu, 16 Jan 2014 14:06:19 +0000 (14:06 +0000)]
Add new function SSL_CTX_get_ssl_method().
Partial fix for PR#3183.
Kaspar Brand [Thu, 16 Jan 2014 13:46:31 +0000 (13:46 +0000)]
Omit initial status request callback check.
PR#3178
Dr. Stephen Henson [Sun, 12 Jan 2014 14:13:48 +0000 (14:13 +0000)]
typo
Dr. Stephen Henson [Wed, 25 Dec 2013 15:00:39 +0000 (15:00 +0000)]
Use rdrand as additional entropy source.
If available rdrand is used as an additional entropy source for the
PRNG and for additional input in FIPS mode.
Jeff Trawick [Fri, 10 Jan 2014 23:01:30 +0000 (23:01 +0000)]
typo
Jeff Trawick [Fri, 10 Jan 2014 23:00:50 +0000 (23:00 +0000)]
typo
Dr. Stephen Henson [Thu, 9 Jan 2014 22:47:22 +0000 (22:47 +0000)]
Fix bug in X509_V_FLAG_IGNORE_CRITICAL CRL handling.
Daniel Kahn Gillmor [Fri, 20 Dec 2013 07:56:54 +0000 (02:56 -0500)]
update remaining documentation to move from EDH to DHE
change documentation and comments to indicate that we prefer the
standard "DHE" naming scheme everywhere over the older "EDH"
Daniel Kahn Gillmor [Fri, 20 Dec 2013 07:28:10 +0000 (02:28 -0500)]
Replace EDH-RSA-DES-CBC-SHA, etc. with DHE-RSA-DES-CBC-SHA
Replace the full ciphersuites with "EDH-" in their labels with "DHE-"
so that all DHE ciphersuites are referred to in the same way.
Leave backward-compatible aliases for the ciphersuites in question so
that configurations which specify these explicitly will continue
working.
Daniel Kahn Gillmor [Fri, 20 Dec 2013 06:42:03 +0000 (01:42 -0500)]
change SSL3_CK_EDH_* to SSL_CK_DHE_* (with backward-compatibility)
This change normalizes the SSL_CK_DHE_ #defines to use the common term
"DHE", while permitting older code that uses the more uncommon "EDH"
constants to compile properly.
Daniel Kahn Gillmor [Thu, 19 Dec 2013 20:23:05 +0000 (15:23 -0500)]
documentation should use "DHE" instead of "EDH"
Daniel Kahn Gillmor [Thu, 19 Dec 2013 20:11:15 +0000 (15:11 -0500)]
use SSL_kDHE throughout instead of SSL_kEDH
DHE is the standard term used by the RFCs and by other TLS
implementations. It's useful to have the internal variables use the
standard terminology.
This patch leaves a synonym SSL_kEDH in place, though, so that older
code can still be built against it, since that has been the
traditional API. SSL_kEDH should probably be deprecated at some
point, though.
Daniel Kahn Gillmor [Thu, 19 Dec 2013 19:45:51 +0000 (14:45 -0500)]
emit "DHE" instead of "edh" for kX packet trace output
other parts of packet tracing emit the standard "DHE" label instead of
"edh". This change brings the output of ssl_print_client_keyex() and
ssl_print_server_keyex() into accordance with the standard term.
Daniel Kahn Gillmor [Thu, 19 Dec 2013 19:42:39 +0000 (14:42 -0500)]
Allow "DHE" and "kDHE" as synonyms of "EDH" and "kEDH" when specifiying ciphers
The standard terminology in https://tools.ietf.org/html/rfc5426 is
"DHE". "openssl ciphers" outputs "DHE" (for the most part). But
users of the library currently cannot specify "DHE", they must
currently specify "EDH".
This change allows users to specify the common term in cipher suite
strings without breaking backward compatibility.
Daniel Kahn Gillmor [Thu, 19 Dec 2013 18:57:49 +0000 (13:57 -0500)]
use SSL_kECDHE throughout instead of SSL_kEECDH
ECDHE is the standard term used by the RFCs and by other TLS
implementations. It's useful to have the internal variables use the
standard terminology.
This patch leaves a synonym SSL_kEECDH in place, though, so that older
code can still be built against it, since that has been the
traditional API. SSL_kEECDH should probably be deprecated at some
point, though.
Daniel Kahn Gillmor [Thu, 19 Dec 2013 18:55:00 +0000 (13:55 -0500)]
emit "ECDHE" instead of "EECDH" for kX packet trace output
other parts of packet tracing emit the standard "ECDHE" label instead
of "EECDH". This change brings the output of ssl_print_client_keyex()
and ssl_print_server_keyex() into accordance with the standard term.
Daniel Kahn Gillmor [Thu, 19 Dec 2013 18:18:30 +0000 (13:18 -0500)]
Allow "ECDHE" as a synonym of "EECDH" when specifiying ciphers
The standard terminology in https://tools.ietf.org/html/rfc4492 is
ECDHE. "openssl ciphers" outputs ECDHE. But users of the library
currently cannot specify ECDHE, they must specify EECDH.
This change allows users to specify the common term in cipher suite
strings without breaking backward compatibility.
Andy Polyakov [Thu, 9 Jan 2014 12:44:59 +0000 (13:44 +0100)]
bn/asm/x86_64-mont5.pl: fix compilation error on Solaris.
Dr. Stephen Henson [Wed, 8 Jan 2014 14:15:58 +0000 (14:15 +0000)]
update FAQ
Andy Polyakov [Tue, 7 Jan 2014 21:44:21 +0000 (22:44 +0100)]
PPC assembly pack: relax 64-bit requirement for little-endian support.
Andy Polyakov [Tue, 7 Jan 2014 15:46:25 +0000 (16:46 +0100)]
aes/asm/vpaes-ppc.pl: add little-endian support.
Dr. Stephen Henson [Tue, 7 Jan 2014 15:44:35 +0000 (15:44 +0000)]
update NEWS
Dr. Stephen Henson [Tue, 7 Jan 2014 15:37:35 +0000 (15:37 +0000)]
Add fix for CVE-2013-4353
(cherry picked from commit
6b42ed4e7104898f4b5b69337589719913b36404)
Dr. Stephen Henson [Mon, 6 Jan 2014 21:55:15 +0000 (21:55 +0000)]
Sync NEWS.
Andy Polyakov [Sat, 4 Jan 2014 17:04:53 +0000 (18:04 +0100)]
sha/asm/sha256-armv4.pl: add NEON code path.
(and shave off cycle even from integer-only code)
Andy Polyakov [Sat, 4 Jan 2014 16:11:49 +0000 (17:11 +0100)]
aesni-sha1-x86_64.pl: refine Atom-specific optimization.
(and update performance data, and fix typo)
Dr. Stephen Henson [Fri, 3 Jan 2014 23:13:40 +0000 (23:13 +0000)]
Add ServerInfoFile to SSL_CONF, update docs.
Dr. Stephen Henson [Fri, 3 Jan 2014 22:38:03 +0000 (22:38 +0000)]
Use algorithm specific chains for certificates.
Fix a limitation in SSL_CTX_use_certificate_chain_file(): use algorithm
specific chains instead of the shared chain.
Update docs.
Andy Polyakov [Fri, 3 Jan 2014 20:52:49 +0000 (21:52 +0100)]
ssl/t1_enc.c: optimize PRF (suggested by Intel).
Andy Polyakov [Fri, 3 Jan 2014 20:29:57 +0000 (21:29 +0100)]
aesni-sha1-x86_64.pl: add stiched decrypt procedure,
but keep it disabled, too little gain... Add some Atom-specific
optimization.
Dr. Stephen Henson [Tue, 24 Dec 2013 18:17:00 +0000 (18:17 +0000)]
Don't change version number if session established
When sending an invalid version number alert don't change the
version number to the client version if a session is already
established.
Thanks to Marek Majkowski for additional analysis of this issue.
PR#3191
Dr. Stephen Henson [Tue, 24 Dec 2013 18:15:28 +0000 (18:15 +0000)]
Update curve list size.
(cherry picked from commit
cfa86987a8d9d2b8cc5e5fea2d3260c46542cdb9)
Andy Polyakov [Sat, 28 Dec 2013 12:31:14 +0000 (13:31 +0100)]
sparcv9cap.c: omit random detection.
PR: 3202
Andy Polyakov [Sat, 28 Dec 2013 12:20:14 +0000 (13:20 +0100)]
FAQ: why SIGILL?
Andy Polyakov [Sat, 28 Dec 2013 11:17:08 +0000 (12:17 +0100)]
ARM assembly pack: make it work with older toolchain.
Dr. Stephen Henson [Sun, 22 Dec 2013 00:35:29 +0000 (00:35 +0000)]
Canonicalise input in CMS_verify.
If content is detached and not binary mode translate the input to
CRLF format. Before this change the input was verified verbatim
which lead to a discrepancy between sign and verify.
Dr. Stephen Henson [Fri, 20 Dec 2013 15:26:50 +0000 (15:26 +0000)]
Fix DTLS retransmission from previous session.
For DTLS we might need to retransmit messages from the previous session
so keep a copy of write context in DTLS retransmission buffers instead
of replacing it after sending CCS. CVE-2013-6450.
(cherry picked from commit
34628967f1e65dc8f34e000f0f5518e21afbfc7b)
Dr. Stephen Henson [Fri, 20 Dec 2013 15:12:26 +0000 (15:12 +0000)]
Ignore NULL parameter in EVP_MD_CTX_destroy.
(cherry picked from commit
a6c62f0c25a756c263a80ce52afbae888028e986)
Andy Polyakov [Wed, 18 Dec 2013 21:12:08 +0000 (22:12 +0100)]
sha1-x86_64.pl: harmonize Win64 SE handlers for SIMD code pathes.
(and ensure stack alignment in the process)
Andy Polyakov [Wed, 18 Dec 2013 20:42:46 +0000 (21:42 +0100)]
evp/e_[aes|camellia].c: fix typo in CBC subroutine.
It worked because it was never called.
Andy Polyakov [Wed, 18 Dec 2013 20:39:15 +0000 (21:39 +0100)]
PPC assembly pack update addendum.
Andy Polyakov [Wed, 18 Dec 2013 20:27:35 +0000 (21:27 +0100)]
sha512.c: fullfull implicit API contract in SHA512_Transform.
SHA512_Transform was initially added rather as tribute to tradition
than for practucal reasons. But use was recently found in ssl/s3_cbc.c
and it turned to be problematic on platforms that don't tolerate
misasligned references to memory and lack assembly subroutine.
Andy Polyakov [Wed, 18 Dec 2013 20:19:08 +0000 (21:19 +0100)]
PPC assembly pack: improve AIX support (enable vpaes-ppc).
Dr. Stephen Henson [Sat, 14 Dec 2013 13:55:48 +0000 (13:55 +0000)]
Check EVP errors for handshake digests.
Partial mitigation of PR#3200
(cherry picked from commit
0294b2be5f4c11e60620c0018674ff0e17b14238)
Dr. Stephen Henson [Wed, 18 Dec 2013 13:28:44 +0000 (13:28 +0000)]
Update demo.
Dr. Stephen Henson [Wed, 11 Dec 2013 14:28:57 +0000 (14:28 +0000)]
Add opaque ID structure.
Move the IP, email and host checking fields from the public
X509_VERIFY_PARAM structure into an opaque X509_VERIFY_PARAM_ID
structure. By doing this the structure can be modified in future
without risk of breaking any applications.
(cherry picked from commit
adc6bd73e3bd10ce6e76867482e8d137071298d7)
Conflicts:
crypto/x509/x509_vpm.c
Dr. Stephen Henson [Thu, 12 Dec 2013 03:21:06 +0000 (03:21 +0000)]
Update to pad extension.
Fix padding calculation for different SSL_METHOD types. Use the
standard name as used in draft-agl-tls-padding-02
Dr. Stephen Henson [Fri, 13 Dec 2013 14:05:32 +0000 (14:05 +0000)]
Fix for partial chain notification.
For consistency with other cases if we are performing
partial chain verification with just one certificate
notify the callback with ok==1.
(cherry picked from commit
852553d9005e13aed7feb986a5d71cb885b994c7)
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.