Geoff Thorpe [Fri, 25 Apr 2014 18:27:02 +0000 (14:27 -0400)]
apps: constify some string parameters
There are certainly many more constifiable strings in the various
interfaces, which I hope to get to eventually.
Signed-off-by: Geoff Thorpe <geoff@openssl.org>
Geoff Thorpe [Fri, 25 Apr 2014 05:20:16 +0000 (01:20 -0400)]
util/mkerr.pl: fix perl warning
Gets rid of this;
defined(@array) is deprecated at ../util/mkerr.pl line 792.
(Maybe you should just omit the defined()?)
defined(@array) is deprecated at ../util/mkerr.pl line 800.
(Maybe you should just omit the defined()?)
Signed-off-by: Geoff Thorpe <geoff@openssl.org>
Mark J. Cox [Fri, 25 Apr 2014 07:12:13 +0000 (08:12 +0100)]
Remove latest version, it's pretty redundant and just one more thing
to keep up to date with releases. Reported because
http://www.openssl.org/support/faq.html#MISC1 was out of date
Geoff Thorpe [Fri, 25 Apr 2014 04:58:16 +0000 (00:58 -0400)]
util/mkdef.pl: o_time.h doesn't exist any more
o_time.h was removed in commit
ff49a94, which breaks "make update"
unless mkdir.pl is updated accordingly.
Signed-off-by: Geoff Thorpe <geoff@openssl.org>
Steve Marquess [Thu, 24 Apr 2014 11:13:05 +0000 (07:13 -0400)]
Add new sponsors
Andy Polyakov [Thu, 24 Apr 2014 08:16:58 +0000 (10:16 +0200)]
bn/asm/armv4-gf2m.pl, modes/asm/ghash-armv4.pl: faster multiplication
algorithm suggested in following paper:
Câmara, D.; Gouvêa, C. P. L.; López, J. & Dahab, R.: Fast Software
Polynomial Multiplication on ARM Processors using the NEON Engine.
http://conradoplg.cryptoland.net/files/2010/12/mocrysen13.pdf
Andy Polyakov [Thu, 24 Apr 2014 08:13:30 +0000 (10:13 +0200)]
aes/asm/bsaes-x86_64.pl: Atom-specific optimization.
Ben Laurie [Wed, 23 Apr 2014 06:24:03 +0000 (07:24 +0100)]
Fix use after free.
Ben Laurie [Tue, 22 Apr 2014 11:38:26 +0000 (12:38 +0100)]
Fix double frees.
Kaspar Brand [Mon, 21 Apr 2014 15:52:28 +0000 (16:52 +0100)]
Fix SSL_CTX_get{first,next}_certificate.
Fix typo that stopped SSL_CTX_get_{first,next}_certificate from working.
Dr. Stephen Henson [Wed, 16 Apr 2014 11:15:43 +0000 (12:15 +0100)]
Document -debug_decrypt option.
Dr. Stephen Henson [Tue, 15 Apr 2014 17:48:54 +0000 (18:48 +0100)]
Extension checking fixes.
When looking for an extension we need to set the last found
position to -1 to properly search all extensions.
PR#3309.
Dr. Stephen Henson [Tue, 15 Apr 2014 17:17:12 +0000 (18:17 +0100)]
Clarify CMS_decrypt behaviour.
Dr. Stephen Henson [Fri, 11 Apr 2014 01:50:51 +0000 (02:50 +0100)]
Add new key fingerprint.
Dr. Stephen Henson [Wed, 9 Apr 2014 14:42:40 +0000 (15:42 +0100)]
Fix free errors in ocsp utility.
Keep copy of any host, path and port values allocated by
OCSP_parse_url and free as necessary.
Dr. Stephen Henson [Wed, 9 Apr 2014 14:35:51 +0000 (15:35 +0100)]
ssleay_rand_add returns a value in 1.1.0
Dr. Stephen Henson [Sat, 5 Apr 2014 23:51:06 +0000 (00:51 +0100)]
Update NEWS
Dr. Stephen Henson [Sun, 6 Apr 2014 22:11:20 +0000 (23:11 +0100)]
Return if ssleay_rand_add called with zero num.
Treat a zero length passed to ssleay_rand_add a no op: the existing logic
zeroes the md value which is very bad. OpenSSL itself never does this
internally and the actual call doesn't make sense as it would be passing
zero bytes of entropy.
Thanks to Marcus Meissner <meissner@suse.de> for reporting this bug.
(cherry picked from commit
5be1ae28ef3c4bdec95b94f14e0e939157be550a)
Dr. Stephen Henson [Sat, 5 Apr 2014 23:51:06 +0000 (00:51 +0100)]
Add heartbeat extension bounds check.
A missing bounds check in the handling of the TLS heartbeat extension
can be used to reveal up to 64k of memory to a connected client or
server.
Thanks for Neel Mehta of Google Security for discovering this bug and to
Adam Langley <agl@chromium.org> and Bodo Moeller <bmoeller@acm.org> for
preparing the fix (CVE-2014-0160)
(cherry picked from commit
96db9023b881d7cd9f379b0c154650d6c108e9a3)
Dr. Stephen Henson [Mon, 7 Apr 2014 12:02:10 +0000 (13:02 +0100)]
Document -verify_return_error option.
Andy Polyakov [Sun, 6 Apr 2014 15:19:54 +0000 (17:19 +0200)]
crypto/modes/gcm128.c: more strict aliasing fixes.
Andy Polyakov [Sun, 6 Apr 2014 10:50:36 +0000 (12:50 +0200)]
vpaes-[x86_64|ppc].pl: fix typo, which for some reason triggers rkhunter.
Dr. Stephen Henson [Sat, 5 Apr 2014 19:43:54 +0000 (20:43 +0100)]
Set TLS padding extension value.
Enable TLS padding extension using official value from:
http://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml
Dr. Stephen Henson [Sat, 5 Apr 2014 12:39:35 +0000 (13:39 +0100)]
For more than 160 bits of security disable SHA1 HMAC
Dr. Stephen Henson [Sat, 5 Apr 2014 12:29:41 +0000 (13:29 +0100)]
Update security framework docs.
Dr. Stephen Henson [Fri, 4 Apr 2014 11:46:39 +0000 (12:46 +0100)]
Update FAQ.
Dr. Stephen Henson [Fri, 4 Apr 2014 11:44:43 +0000 (12:44 +0100)]
Use correct length when prompting for password.
Use bufsiz - 1 not BUFSIZ - 1 when prompting for a password in
the openssl utility.
Thanks to Rob Mackinnon, Leviathan Security for reporting this issue.
Dr. Stephen Henson [Thu, 3 Apr 2014 12:27:08 +0000 (13:27 +0100)]
Document new crl option.
Tim Hudson [Thu, 3 Apr 2014 12:23:51 +0000 (13:23 +0100)]
Add option to generate old hash format.
New -hash_old to generate CRL hashes using old
(before OpenSSL 1.0.0) algorithm.
Eric Young [Wed, 2 Apr 2014 18:50:33 +0000 (19:50 +0100)]
Fix base64 decoding bug.
A short PEM encoded sequence if passed to the BIO, and the file
had 2 \n following would fail.
PR#3289
Dr. Stephen Henson [Thu, 24 Jan 2013 13:30:42 +0000 (13:30 +0000)]
Don't try and verify signatures if key is NULL (CVE-2013-0166)
Add additional check to catch this in ASN1_item_verify too.
(cherry picked from commit
66e8211c0b1347970096e04b18aa52567c325200)
Ben Laurie [Sat, 29 Mar 2014 19:51:58 +0000 (19:51 +0000)]
Fix warning.
Dr. Stephen Henson [Fri, 28 Mar 2014 16:40:56 +0000 (16:40 +0000)]
Add initial security framework docs.
Dr. Stephen Henson [Tue, 18 Mar 2014 14:35:22 +0000 (14:35 +0000)]
Set security level in cipher string.
Allow setting of security level in cipher string using the
@SECLEVEL=N syntax.
Dr. Stephen Henson [Sun, 16 Feb 2014 12:50:18 +0000 (12:50 +0000)]
Set security level to zero is ssltest
Since ssltest needs to test low security ciphersuites and keys
set security level to zero so they aren't rejected.
Dr. Stephen Henson [Mon, 17 Feb 2014 00:10:00 +0000 (00:10 +0000)]
Security callback debug print out.
Add a debugging security callback option to s_client/s_server. This will
print out each security parameter as it is accepted or rejected.
Dr. Stephen Henson [Sun, 15 Dec 2013 13:32:24 +0000 (13:32 +0000)]
Security framework.
Security callback: selects which parameters are permitted including
sensible defaults based on bits of security.
The "parameters" which can be selected include: ciphersuites,
curves, key sizes, certificate signature algorithms, supported
signature algorithms, DH parameters, SSL/TLS version, session tickets
and compression.
In some cases prohibiting the use of a parameters will mean they are
not advertised to the peer: for example cipher suites and ECC curves.
In other cases it will abort the handshake: e.g DH parameters or the
peer key size.
Documentation to follow...
Dr. Stephen Henson [Tue, 18 Mar 2014 14:19:22 +0000 (14:19 +0000)]
Check return value of ssl3_output_cert_chain
Dr. Stephen Henson [Tue, 14 Jan 2014 14:55:21 +0000 (14:55 +0000)]
Allow return of supported ciphers.
New function ssl_cipher_disabled.
Check for disabled client ciphers using ssl_cipher_disabled.
New function to return only supported ciphers.
New option to ciphers utility to print only supported ciphers.
Dr. Stephen Henson [Wed, 22 Jan 2014 16:22:48 +0000 (16:22 +0000)]
Auto DH support.
Add auto DH parameter support. This is roughly equivalent to the
ECDH auto curve selection but for DH. An application can just call
SSL_CTX_set_auto_dh(ctx, 1);
and appropriate DH parameters will be used based on the size of the
server key.
Unlike ECDH there is no way a peer can indicate the range of DH parameters
it supports. Some peers cannot handle DH keys larger that 1024 bits for
example. In this case if you call:
SSL_CTX_set_auto_dh(ctx, 2);
Only 1024 bit DH parameters will be used.
If the server key is 7680 bits or more in size then 8192 bit DH parameters
will be used: these will be *very* slow.
The old export ciphersuites aren't supported but those are very
insecure anyway.
Dr. Stephen Henson [Sat, 18 Jan 2014 14:51:40 +0000 (14:51 +0000)]
Add functions returning security bits.
Add functions to return the "bits of security" for various public key
algorithms. Based on SP800-57.
Dr. Stephen Henson [Thu, 27 Mar 2014 16:10:50 +0000 (16:10 +0000)]
Fix memory leak with client auth.
(cherry picked from commit
bc5ec653ba65fedb1619c8182088497de8a97a70)
Dr. Stephen Henson [Thu, 27 Mar 2014 15:51:25 +0000 (15:51 +0000)]
Add -no_resumption_on_reneg to SSL_CONF.
(cherry picked from commit
1f44dac24d1cb752b1a06be9091bb03a88a8598e)
Dr. Stephen Henson [Thu, 27 Mar 2014 14:20:16 +0000 (14:20 +0000)]
Update chain building function.
Don't clear verification errors from the error queue unless
SSL_BUILD_CHAIN_FLAG_CLEAR_ERROR is set.
If errors occur during verification and SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR
is set return 2 so applications can issue warnings.
(cherry picked from commit
2dd6976f6d02f98b30c376951ac38f780a86b3b5)
Emilia Kasper [Mon, 24 Mar 2014 11:33:54 +0000 (12:33 +0100)]
Allow duplicate certs in ssl_build_cert_chain
Dr. Stephen Henson [Wed, 19 Mar 2014 17:28:01 +0000 (17:28 +0000)]
Workaround for some CMS signature formats.
Some CMS SignedData structure use a signature algorithm OID such
as SHA1WithRSA instead of the RSA algorithm OID. Workaround this
case by tolerating the signature if we recognise the OID.
Piotr Sikora [Tue, 18 Mar 2014 23:55:32 +0000 (23:55 +0000)]
Retry callback only after ClientHello received.
Dr. Stephen Henson [Wed, 12 Mar 2014 14:35:54 +0000 (14:35 +0000)]
Update ordinals.
Use a previously unused value as we will be updating multiple released
branches.
(cherry picked from commit
0737acd2a8cc688902b5151cab5dc6737b82fb96)
Dr. Stephen Henson [Wed, 12 Mar 2014 14:16:19 +0000 (14:16 +0000)]
Fix for CVE-2014-0076
Fix for the attack described in the paper "Recovering OpenSSL
ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack"
by Yuval Yarom and Naomi Benger. Details can be obtained from:
http://eprint.iacr.org/2014/140
Thanks to Yuval Yarom and Naomi Benger for discovering this
flaw and to Yuval Yarom for supplying a fix.
(cherry picked from commit
2198be3483259de374f91e57d247d0fc667aef29)
Conflicts:
CHANGES
Dr. Stephen Henson [Mon, 10 Mar 2014 15:45:30 +0000 (15:45 +0000)]
typo
Dr. Stephen Henson [Sun, 9 Mar 2014 16:12:20 +0000 (16:12 +0000)]
Simplify ssl_add_cert_chain logic.
Dr. Stephen Henson [Fri, 7 Mar 2014 19:04:45 +0000 (19:04 +0000)]
Remove -WX option from debug-VC-WIN32
(cherry picked from commit
7a3e67f029969620966b8a627b8485d83692cca5)
Andy Polyakov [Fri, 7 Mar 2014 10:02:25 +0000 (11:02 +0100)]
engines/ccgost/gosthash.c: simplify and avoid SEGV.
PR: 3275
Andy Polyakov [Fri, 7 Mar 2014 09:30:37 +0000 (10:30 +0100)]
SPARC T4 assembly pack: treat zero input length in CBC.
The problem is that OpenSSH calls EVP_Cipher, which is not as
protective as EVP_CipherUpdate. Formally speaking we ought to
do more checks in *_cipher methods, including rejecting
lengths not divisible by block size (unless ciphertext stealing
is in place). But for now I implement check for zero length in
low-level based on precedent.
PR: 3087, 2775
Andy Polyakov [Thu, 6 Mar 2014 13:19:37 +0000 (14:19 +0100)]
dh_check.c: check BN_CTX_get's return value.
Andy Polyakov [Thu, 6 Mar 2014 13:08:02 +0000 (14:08 +0100)]
test/Makefile: allow emulated test (e.g. under wine).
Submitted by: Roumen Petrov
Andy Polyakov [Thu, 6 Mar 2014 13:03:02 +0000 (14:03 +0100)]
bss_dgram.c,d1_lib.c: make it compile with mingw.
Submitted by: Roumen Petrov
Dr. Stephen Henson [Mon, 3 Mar 2014 23:33:51 +0000 (23:33 +0000)]
For self signed root only indicate one error.
(cherry picked from commit
bdfc0e284c89dd5781259cc19aa264aded538492)
Dr. Stephen Henson [Fri, 28 Feb 2014 17:23:54 +0000 (17:23 +0000)]
PKCS#8 support for alternative PRFs.
Add option to set an alternative to the default hmacWithSHA1 PRF
for PKCS#8 private key encryptions. This is used automatically
by PKCS8_encrypt if the nid specified is a PRF.
Add option to pkcs8 utility.
Update docs.
(cherry picked from commit
b60272b01fcb4f69201b3e1659b4f7e9e9298dfb)
Dr. Stephen Henson [Fri, 28 Feb 2014 17:00:38 +0000 (17:00 +0000)]
Fix memory leak.
(cherry picked from commit
124d218889dfca33d277404612f1319afe04107e)
Dr. Stephen Henson [Fri, 28 Feb 2014 18:37:08 +0000 (18:37 +0000)]
Add function to free compression methods.
Although the memory allocated by compression methods is fixed and
cannot grow over time it can cause warnings in some leak checking
tools. The function SSL_COMP_free_compression_methods() will free
and zero the list of supported compression methods. This should
*only* be called in a single threaded context when an application
is shutting down to avoid interfering with existing contexts
attempting to look up compression methods.
(cherry picked from commit
976c58302b13d085edb3ab822f5eac4b2f1bff95)
Andy Polyakov [Fri, 28 Feb 2014 21:54:40 +0000 (22:54 +0100)]
Makefile.org: fix syntax error on Solaris.
PR: 3271
Andy Polyakov [Thu, 27 Feb 2014 13:27:15 +0000 (14:27 +0100)]
Configure: mark unixware target as elf-1.
Andy Polyakov [Thu, 27 Feb 2014 13:26:12 +0000 (14:26 +0100)]
perlasm/x86asm.pl: recognize elf-1 denoting old ELF platforms.
Andy Polyakov [Thu, 27 Feb 2014 13:22:13 +0000 (14:22 +0100)]
perlasm/x86gas.pl: limit special OPENSSL_ia32cap_P treatment to ELF.
Andy Polyakov [Thu, 27 Feb 2014 13:19:19 +0000 (14:19 +0100)]
rc4/asm/rc4-586.pl: allow for 386-only build.
Andy Polyakov [Thu, 27 Feb 2014 13:17:43 +0000 (14:17 +0100)]
des/asm/des-586.pl: shortcut reference to DES_SPtrans.
Rob Stradling [Tue, 25 Feb 2014 15:49:20 +0000 (15:49 +0000)]
CABForum EV OIDs for Subject Jurisdiction of Incorporation or Registration.
Dr. Stephen Henson [Wed, 26 Feb 2014 15:28:20 +0000 (15:28 +0000)]
Fix for WIN32 builds with KRB5
(cherry picked from commit
3eddd1706a30cdf3dc9278692d8ee9038eac8a0d)
Andy Polyakov [Wed, 26 Feb 2014 09:22:13 +0000 (10:22 +0100)]
sha/asm/sha256-586.pl: don't try to compile SIMD with no-sse2.
Andy Polyakov [Wed, 26 Feb 2014 08:30:03 +0000 (09:30 +0100)]
sha/asm/sha512-x86_64.pl: fix compilation error on Solaris.
Andy Polyakov [Wed, 26 Feb 2014 08:28:22 +0000 (09:28 +0100)]
Configure: blended processor target in solaris-x86-cc.
Andy Polyakov [Tue, 25 Feb 2014 21:21:54 +0000 (22:21 +0100)]
ssl/t1_enc.c: check EVP_MD_CTX_copy return value.
PR: 3201
Andy Polyakov [Tue, 25 Feb 2014 19:11:34 +0000 (20:11 +0100)]
aes/asm/vpaes-ppc.pl: fix traceback info.
Dr. Stephen Henson [Tue, 25 Feb 2014 15:05:08 +0000 (15:05 +0000)]
Don't use BN_ULLONG in n2l8 use SCTS_TIMESTAMP.
(cherry picked from commit
3678161d717d0f46c5b5b052a6d6a33438b1df00)
Dr. Stephen Henson [Tue, 25 Feb 2014 14:54:09 +0000 (14:54 +0000)]
Fix for v3_scts.c
Not all platforms define BN_ULLONG. Define SCTS_TIMESTAMP as a type
which should work on all platforms.
(cherry picked from commit
6634416732b94627eba1c47de3c3a6321a5458f0)
Dr. Stephen Henson [Tue, 25 Feb 2014 14:05:22 +0000 (14:05 +0000)]
Add -show_chain option to print out verified chain.
Dr. Stephen Henson [Tue, 25 Feb 2014 12:11:22 +0000 (12:11 +0000)]
Avoid Windows 8 Getversion deprecated errors.
Windows 8 SDKs complain that GetVersion() is deprecated.
We only use GetVersion like this:
(GetVersion() < 0x80000000)
which checks if the Windows version is NT based. Use a macro check_winnt()
which uses GetVersion() on older SDK versions and true otherwise.
Rob Stradling [Tue, 25 Feb 2014 10:14:51 +0000 (10:14 +0000)]
Parse non-v1 SCTs less awkwardly.
Andy Polyakov [Mon, 24 Feb 2014 18:29:49 +0000 (19:29 +0100)]
ms/do_win64a.bat: forward to NUL, not NUL:.
Allegedly formwarding to NUL: sometimes creates NUL file in file
system.
PR: 3250
Andy Polyakov [Mon, 24 Feb 2014 15:42:40 +0000 (16:42 +0100)]
BC-32.pl: refresh Borland C support.
PR: 3251
Suggested by: Thorsten Schöning
Andy Polyakov [Mon, 24 Feb 2014 14:16:56 +0000 (15:16 +0100)]
x509/by_dir.c: fix run-away pointer (and potential SEGV)
when adding duplicates in add_cert_dir.
PR: 3261
Reported by: Marian Done
Andy Polyakov [Mon, 24 Feb 2014 12:18:40 +0000 (13:18 +0100)]
config: recognize ARMv8/AArch64 target.
Dr. Stephen Henson [Sun, 23 Feb 2014 13:46:52 +0000 (13:46 +0000)]
Only set current certificate to valid values.
When setting the current certificate check that it has a corresponding
private key.
Dr. Stephen Henson [Sun, 23 Feb 2014 12:00:18 +0000 (12:00 +0000)]
New chain building flags.
New flags to build certificate chains. The can be used to rearrange
the chain so all an application needs to do is add all certificates
in arbitrary order and then build the chain to check and correct them.
Add verify error code when building chain.
Update docs.
Dr. Stephen Henson [Fri, 21 Feb 2014 19:42:03 +0000 (19:42 +0000)]
Option to set current cert to server certificate.
Andy Polyakov [Fri, 21 Feb 2014 11:14:04 +0000 (12:14 +0100)]
aes/asm/aesni-x86[_64].pl: minor Atom-specific performance tweak.
Dr. Stephen Henson [Thu, 20 Feb 2014 22:37:33 +0000 (22:37 +0000)]
fix WIN32 warnings
(cherry picked from commit
b709f8ef54b1c9ad513878ba0213aa651a9acef8)
Dr. Stephen Henson [Thu, 20 Feb 2014 18:41:52 +0000 (18:41 +0000)]
make depend
Dr. Stephen Henson [Thu, 20 Feb 2014 18:24:11 +0000 (18:24 +0000)]
Move CT viewer extension code to crypto/x509v3
Dr. Stephen Henson [Wed, 19 Feb 2014 20:09:08 +0000 (20:09 +0000)]
make depend
Dr. Stephen Henson [Wed, 19 Feb 2014 20:06:13 +0000 (20:06 +0000)]
Remove references to o_time.h
Ben Laurie [Wed, 19 Feb 2014 18:02:04 +0000 (18:02 +0000)]
Move gmtime functions to crypto.h.
Ben Laurie [Wed, 19 Feb 2014 17:57:44 +0000 (17:57 +0000)]
Make i2r_sctlist static.
Ben Laurie [Wed, 19 Feb 2014 17:57:07 +0000 (17:57 +0000)]
Reverse export of o_time.h.
Ben Laurie [Wed, 19 Feb 2014 17:17:14 +0000 (17:17 +0000)]
Merge branch 'sct-viewer-master' of https://github.com/robstradling/openssl into sct-viewer
Rob Stradling [Wed, 19 Feb 2014 13:12:46 +0000 (13:12 +0000)]
Move the SCT List extension parser into libssl.
Add the extension parser in the s_client, ocsp and x509 apps.
Dr. Stephen Henson [Tue, 18 Feb 2014 22:20:30 +0000 (22:20 +0000)]
Don't use CRYPTO_AES_CTR if it isn't defined.
Dr. Stephen Henson [Sat, 4 Jan 2014 13:50:52 +0000 (13:50 +0000)]
Restore SSL_OP_MSIE_SSLV2_RSA_PADDING
The flag SSL_OP_MSIE_SSLV2_RSA_PADDING hasn't done anything since OpenSSL
0.9.7h but deleting it will break source compatibility with any software
that references it. Restore it but #define to zero.
(cherry picked from commit
b17d6b8d1d49fa4732deff17cfd1833616af0d9c)
Dr. Stephen Henson [Sat, 15 Feb 2014 19:48:05 +0000 (19:48 +0000)]
Don't use getcwd in non-copy builds.