7 years agoSet security level to zero is ssltest
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.

7 years agoSecurity callback debug print out.
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.

7 years agoSecurity framework.
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...

7 years agoCheck return value of ssl3_output_cert_chain
Dr. Stephen Henson [Tue, 18 Mar 2014 14:19:22 +0000 (14:19 +0000)]
Check return value of ssl3_output_cert_chain

7 years agoAllow return of supported ciphers.
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.

7 years agoAuto DH support.
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.

7 years agoAdd functions returning security bits.
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.

7 years agoFix memory leak with client auth.
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)

7 years agoAdd -no_resumption_on_reneg to SSL_CONF.
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)

7 years agoUpdate chain building function.
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

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)

7 years agoAllow duplicate certs in ssl_build_cert_chain
Emilia Kasper [Mon, 24 Mar 2014 11:33:54 +0000 (12:33 +0100)]
Allow duplicate certs in ssl_build_cert_chain

7 years agoWorkaround for some CMS signature formats.
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.

7 years agoRetry callback only after ClientHello received.
Piotr Sikora [Tue, 18 Mar 2014 23:55:32 +0000 (23:55 +0000)]
Retry callback only after ClientHello received.

7 years agoUpdate ordinals.
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
(cherry picked from commit 0737acd2a8cc688902b5151cab5dc6737b82fb96)

7 years agoFix for CVE-2014-0076
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:

Thanks to Yuval Yarom and Naomi Benger for discovering this
flaw and to Yuval Yarom for supplying a fix.
(cherry picked from commit 2198be3483259de374f91e57d247d0fc667aef29)



7 years agotypo
Dr. Stephen Henson [Mon, 10 Mar 2014 15:45:30 +0000 (15:45 +0000)]

7 years agoSimplify ssl_add_cert_chain logic.
Dr. Stephen Henson [Sun, 9 Mar 2014 16:12:20 +0000 (16:12 +0000)]
Simplify ssl_add_cert_chain logic.

7 years agoRemove -WX option from debug-VC-WIN32
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)

7 years agoengines/ccgost/gosthash.c: simplify and avoid SEGV.
Andy Polyakov [Fri, 7 Mar 2014 10:02:25 +0000 (11:02 +0100)]
engines/ccgost/gosthash.c: simplify and avoid SEGV.

PR: 3275

7 years agoSPARC T4 assembly pack: treat zero input length in CBC.
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

7 years agodh_check.c: check BN_CTX_get's return value.
Andy Polyakov [Thu, 6 Mar 2014 13:19:37 +0000 (14:19 +0100)]
dh_check.c: check BN_CTX_get's return value.

7 years agotest/Makefile: allow emulated test (e.g. under wine).
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

7 years agobss_dgram.c,d1_lib.c: make it compile with mingw.
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

7 years agoFor self signed root only indicate one error.
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)

7 years agoPKCS#8 support for alternative PRFs.
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)

7 years agoFix memory leak.
Dr. Stephen Henson [Fri, 28 Feb 2014 17:00:38 +0000 (17:00 +0000)]
Fix memory leak.
(cherry picked from commit 124d218889dfca33d277404612f1319afe04107e)

7 years agoAdd function to free compression methods.
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)

7 years fix syntax error on Solaris.
Andy Polyakov [Fri, 28 Feb 2014 21:54:40 +0000 (22:54 +0100)] fix syntax error on Solaris.

PR: 3271

7 years agoConfigure: mark unixware target as elf-1.
Andy Polyakov [Thu, 27 Feb 2014 13:27:15 +0000 (14:27 +0100)]
Configure: mark unixware target as elf-1.

7 years agoperlasm/ recognize elf-1 denoting old ELF platforms.
Andy Polyakov [Thu, 27 Feb 2014 13:26:12 +0000 (14:26 +0100)]
perlasm/ recognize elf-1 denoting old ELF platforms.

7 years agoperlasm/ limit special OPENSSL_ia32cap_P treatment to ELF.
Andy Polyakov [Thu, 27 Feb 2014 13:22:13 +0000 (14:22 +0100)]
perlasm/ limit special OPENSSL_ia32cap_P treatment to ELF.

7 years agorc4/asm/ allow for 386-only build.
Andy Polyakov [Thu, 27 Feb 2014 13:19:19 +0000 (14:19 +0100)]
rc4/asm/ allow for 386-only build.

7 years agodes/asm/ shortcut reference to DES_SPtrans.
Andy Polyakov [Thu, 27 Feb 2014 13:17:43 +0000 (14:17 +0100)]
des/asm/ shortcut reference to DES_SPtrans.

7 years agoCABForum EV OIDs for Subject Jurisdiction of Incorporation or Registration.
Rob Stradling [Tue, 25 Feb 2014 15:49:20 +0000 (15:49 +0000)]
CABForum EV OIDs for Subject Jurisdiction of Incorporation or Registration.

7 years agoFix for WIN32 builds with KRB5
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)

7 years agosha/asm/ don't try to compile SIMD with no-sse2.
Andy Polyakov [Wed, 26 Feb 2014 09:22:13 +0000 (10:22 +0100)]
sha/asm/ don't try to compile SIMD with no-sse2.

7 years agosha/asm/ fix compilation error on Solaris.
Andy Polyakov [Wed, 26 Feb 2014 08:30:03 +0000 (09:30 +0100)]
sha/asm/ fix compilation error on Solaris.

7 years agoConfigure: blended processor target in solaris-x86-cc.
Andy Polyakov [Wed, 26 Feb 2014 08:28:22 +0000 (09:28 +0100)]
Configure: blended processor target in solaris-x86-cc.

7 years agossl/t1_enc.c: check EVP_MD_CTX_copy return value.
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

7 years agoaes/asm/ fix traceback info.
Andy Polyakov [Tue, 25 Feb 2014 19:11:34 +0000 (20:11 +0100)]
aes/asm/ fix traceback info.

7 years agoDon't use BN_ULLONG in n2l8 use SCTS_TIMESTAMP.
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)

7 years agoFix for v3_scts.c
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)

7 years agoAdd -show_chain option to print out verified chain.
Dr. Stephen Henson [Tue, 25 Feb 2014 14:05:22 +0000 (14:05 +0000)]
Add -show_chain option to print out verified chain.

7 years agoAvoid Windows 8 Getversion deprecated errors.
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.

7 years agoParse non-v1 SCTs less awkwardly.
Rob Stradling [Tue, 25 Feb 2014 10:14:51 +0000 (10:14 +0000)]
Parse non-v1 SCTs less awkwardly.

7 years agoms/do_win64a.bat: forward to NUL, not NUL:.
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

PR: 3250

7 years refresh Borland C support.
Andy Polyakov [Mon, 24 Feb 2014 15:42:40 +0000 (16:42 +0100)] refresh Borland C support.

PR: 3251
Suggested by: Thorsten Schöning

7 years agox509/by_dir.c: fix run-away pointer (and potential SEGV)
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

7 years agoconfig: recognize ARMv8/AArch64 target.
Andy Polyakov [Mon, 24 Feb 2014 12:18:40 +0000 (13:18 +0100)]
config: recognize ARMv8/AArch64 target.

7 years agoOnly set current certificate to valid values.
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.

7 years agoNew chain building flags.
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.

7 years agoOption to set current cert to server certificate.
Dr. Stephen Henson [Fri, 21 Feb 2014 19:42:03 +0000 (19:42 +0000)]
Option to set current cert to server certificate.

7 years agoaes/asm/aesni-x86[_64].pl: minor Atom-specific performance tweak.
Andy Polyakov [Fri, 21 Feb 2014 11:14:04 +0000 (12:14 +0100)]
aes/asm/aesni-x86[_64].pl: minor Atom-specific performance tweak.

7 years agofix WIN32 warnings
Dr. Stephen Henson [Thu, 20 Feb 2014 22:37:33 +0000 (22:37 +0000)]
fix WIN32 warnings
(cherry picked from commit b709f8ef54b1c9ad513878ba0213aa651a9acef8)

7 years agomake depend
Dr. Stephen Henson [Thu, 20 Feb 2014 18:41:52 +0000 (18:41 +0000)]
make depend

7 years agoMove CT viewer extension code to crypto/x509v3
Dr. Stephen Henson [Thu, 20 Feb 2014 18:24:11 +0000 (18:24 +0000)]
Move CT viewer extension code to crypto/x509v3

7 years agomake depend
Dr. Stephen Henson [Wed, 19 Feb 2014 20:09:08 +0000 (20:09 +0000)]
make depend

7 years agoRemove references to o_time.h
Dr. Stephen Henson [Wed, 19 Feb 2014 20:06:13 +0000 (20:06 +0000)]
Remove references to o_time.h

7 years agoMove gmtime functions to crypto.h.
Ben Laurie [Wed, 19 Feb 2014 18:02:04 +0000 (18:02 +0000)]
Move gmtime functions to crypto.h.

7 years agoMake i2r_sctlist static.
Ben Laurie [Wed, 19 Feb 2014 17:57:44 +0000 (17:57 +0000)]
Make i2r_sctlist static.

7 years agoReverse export of o_time.h.
Ben Laurie [Wed, 19 Feb 2014 17:57:07 +0000 (17:57 +0000)]
Reverse export of o_time.h.

7 years agoMerge branch 'sct-viewer-master' of into...
Ben Laurie [Wed, 19 Feb 2014 17:17:14 +0000 (17:17 +0000)]
Merge branch 'sct-viewer-master' of into sct-viewer

7 years agoMove the SCT List extension parser into libssl.
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.

7 years agoDon't use CRYPTO_AES_CTR if it isn't defined.
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.

7 years agoRestore SSL_OP_MSIE_SSLV2_RSA_PADDING
Dr. Stephen Henson [Sat, 4 Jan 2014 13:50:52 +0000 (13:50 +0000)]

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)

7 years agoDon't use getcwd in non-copy builds.
Dr. Stephen Henson [Sat, 15 Feb 2014 19:48:05 +0000 (19:48 +0000)]
Don't use getcwd in non-copy builds.

7 years agoRemove duplicate statement.
Dr. Stephen Henson [Sat, 15 Feb 2014 01:27:56 +0000 (01:27 +0000)]
Remove duplicate statement.

7 years agoAdd support for aes-128/192/256-ctr to the cryptodev engine.
Klaus-Peter Junghanns [Tue, 28 Jan 2014 21:16:22 +0000 (22:16 +0100)]
Add support for aes-128/192/256-ctr to the cryptodev engine.
This can be used to speed up SRTP with libsrtp, e.g. on TI omap/sitara based devices.

7 years agoShow the contents of the RFC6962 Signed Certificate Timestamp List Certificate/OCSP...
Rob Stradling [Fri, 14 Feb 2014 23:24:35 +0000 (23:24 +0000)]
Show the contents of the RFC6962 Signed Certificate Timestamp List Certificate/OCSP Extensions.
Add the RFC6962 OIDs to the objects table.

7 years agoUse defaults bits in req when not given
Kurt Roeckx [Mon, 23 Dec 2013 18:45:26 +0000 (19:45 +0100)]
Use defaults bits in req when not given

If you use "-newkey rsa" it's supposed to read the default number of bits from the
config file.  However the value isn't used to generate the key, but it does
print it's generating such a key.  The set_keygen_ctx() doesn't call
EVP_PKEY_CTX_set_rsa_keygen_bits() and you end up with the default set in
pkey_rsa_init() (1024).  Afterwards the number of bits gets read from the config
file, but nothing is done with that anymore.

We now read the config first and use the value from the config file when no size
is given.

PR: 2592

7 years agoFix additional pod errors with numbered items.
Kurt Roeckx [Mon, 23 Dec 2013 18:41:28 +0000 (19:41 +0100)]
Fix additional pod errors with numbered items.

7 years agoFix various spelling errors
Scott Schaefer [Mon, 23 Dec 2013 18:28:30 +0000 (19:28 +0100)]
Fix various spelling errors

7 years agoDocument pkcs12 -password behavior
Scott Schaefer [Mon, 23 Dec 2013 18:01:38 +0000 (19:01 +0100)]
Document pkcs12 -password behavior

apps/pkcs12.c accepts -password as an argument.  The document author
almost certainly meant to write "-password, -passin".

However, that is not correct, either.  Actually the code treats
-password as equivalent to -passin, EXCEPT when -export is also
specified, in which case -password as equivalent to -passout.

7 years agossl/s3_pkt.c: detect RAND_bytes error in multi-block.
Andy Polyakov [Fri, 14 Feb 2014 16:43:31 +0000 (17:43 +0100)]
ssl/s3_pkt.c: detect RAND_bytes error in multi-block.

7 years agox86[_64] add low-level RDSEED.
Andy Polyakov [Fri, 14 Feb 2014 16:24:12 +0000 (17:24 +0100)]
x86[_64] add low-level RDSEED.

7 years agoaes/asm/ further optimization for Atom Silvermont.
Andy Polyakov [Fri, 14 Feb 2014 16:06:15 +0000 (17:06 +0100)]
aes/asm/ further optimization for Atom Silvermont.

Improve CBC decrypt and CTR by ~13/16%, which adds up to ~25/33%
improvement over "pre-Silvermont" version. [Add performance table to].

7 years agoInclude TA in checks/callback with partial chains.
Dr. Stephen Henson [Fri, 14 Feb 2014 15:07:01 +0000 (15:07 +0000)]
Include TA in checks/callback with partial chains.

When a chain is complete and ends in a trusted root checks are also
performed on the TA and the callback notified with ok==1. For
consistency do the same for chains where the TA is not self signed.

7 years agoDon't do loop detection for self signed check.
Dr. Stephen Henson [Fri, 14 Feb 2014 14:52:23 +0000 (14:52 +0000)]
Don't do loop detection for self signed check.

7 years agoAdd suppot for ASCII with CRLF canonicalisation.
Dr. Stephen Henson [Wed, 12 Feb 2014 15:15:55 +0000 (15:15 +0000)]
Add suppot for ASCII with CRLF canonicalisation.

7 years agofix error discrepancy
Dr. Stephen Henson [Sun, 9 Feb 2014 21:12:12 +0000 (21:12 +0000)]
fix error discrepancy
(cherry picked from commit a2317c3ffde3f1f73bd7fa3f08e420fb09043905)

7 years agoevp/e_aes_cbc_hmac_sha*.c: improve cache locality.
Andy Polyakov [Thu, 13 Feb 2014 13:39:55 +0000 (14:39 +0100)]
evp/e_aes_cbc_hmac_sha*.c: improve cache locality.

7 years agoghash-x86[_64].pl: ~15% improvement on Atom Silvermont
Andy Polyakov [Thu, 13 Feb 2014 13:36:02 +0000 (14:36 +0100)]
ghash-x86[_64].pl: ~15% improvement on Atom Silvermont
(other processors unaffected).

7 years agoFix warning.
Ben Laurie [Wed, 29 Jan 2014 16:57:32 +0000 (17:57 +0100)]
Fix warning.

7 years agoBuild on MacOS.
Ben Laurie [Sun, 20 Oct 2013 20:54:46 +0000 (21:54 +0100)]
Build on MacOS.

7 years agoReturn previous compression methods when setting them.
Dr. Stephen Henson [Thu, 6 Feb 2014 13:57:26 +0000 (13:57 +0000)]
Return previous compression methods when setting them.

7 years agoOops, get selection logic right.
Dr. Stephen Henson [Wed, 5 Feb 2014 18:55:37 +0000 (18:55 +0000)]
Oops, get selection logic right.

7 years agoFix warnings.
Ben Laurie [Wed, 5 Feb 2014 18:25:06 +0000 (18:25 +0000)]
Fix warnings.

7 years agoDon't break out of the custom extension callback loop - continue instead
Scott Deboy [Wed, 5 Feb 2014 02:48:59 +0000 (18:48 -0800)]
Don't break out of the custom extension callback loop - continue instead
The contract for custom extension callbacks has changed - all custom extension callbacks are triggered

7 years agoFix whitespace, new-style comments.
Ben Laurie [Tue, 4 Feb 2014 23:16:46 +0000 (23:16 +0000)]
Fix whitespace, new-style comments.

7 years agoRe-add alert variables removed during rebase
Scott Deboy [Tue, 4 Feb 2014 21:08:43 +0000 (13:08 -0800)]
Re-add alert variables removed during rebase
Whitespace fixes

7 years agoUpdating DTCP authorization type to expected value
Scott Deboy [Thu, 7 Nov 2013 09:08:29 +0000 (01:08 -0800)]
Updating DTCP authorization type to expected value

7 years agoUpdate custom TLS extension and supplemental data 'generate' callbacks to support...
Scott Deboy [Thu, 12 Sep 2013 19:03:40 +0000 (12:03 -0700)]
Update custom TLS extension and supplemental data 'generate' callbacks to support sending an alert.

If multiple TLS extensions are expected but not received, the TLS extension and supplemental data 'generate' callbacks are the only chance for the receive-side to trigger a specific TLS alert during the handshake.

Removed logic which no-op'd TLS extension generate callbacks (as the generate callbacks need to always be called in order to trigger alerts), and updated the serverinfo-specific custom TLS extension callbacks to track which custom TLS extensions were received by the client, where no-ops for 'generate' callbacks are appropriate.

7 years agoReturn per-certificate chain if extra chain is NULL.
Dr. Stephen Henson [Wed, 5 Feb 2014 16:56:58 +0000 (16:56 +0000)]
Return per-certificate chain if extra chain is NULL.

If an application calls the macro SSL_CTX_get_extra_chain_certs
return either the old "shared" extra certificates or those associated
with the current certificate.

This means applications which call SSL_CTX_use_certificate_chain_file
and retrieve the additional chain using SSL_CTX_get_extra_chain_certs
will still work. An application which only wants to check the shared
extra certificates can call the new macro

7 years agoe_aes_cbc_hmac_sha[1|256].c: fix compiler warning.
Andy Polyakov [Wed, 5 Feb 2014 15:38:22 +0000 (16:38 +0100)]
e_aes_cbc_hmac_sha[1|256].c: fix compiler warning.

7 years agossl/s3_pkt.c: move multi-block processing to ssl3_write_bytes.
Andy Polyakov [Wed, 5 Feb 2014 13:08:44 +0000 (14:08 +0100)]
ssl/s3_pkt.c: move multi-block processing to ssl3_write_bytes.

This allows to process multiple fragmets of maximum fragment size,
as opposite to chopping maximum-sized fragments to multiple smaller
ones. This approach relies on dynamic allocation of larger buffers,
which we trade for performance improvement, for several *times* in
some situations.

7 years agoevp/e_aes_cbc_hmac_sha*.c: additional CTRL to query buffer requirements.
Andy Polyakov [Wed, 5 Feb 2014 13:05:08 +0000 (14:05 +0100)]
evp/e_aes_cbc_hmac_sha*.c: additional CTRL to query buffer requirements.

7 years ago[aesni|sha*] add data prefetching.
Andy Polyakov [Wed, 5 Feb 2014 13:03:35 +0000 (14:03 +0100)]
[aesni|sha*] add data prefetching.

7 years agos3_pkt.c: move ssl3_release_write_buffer to ssl3_write_bytes.
Andy Polyakov [Wed, 5 Feb 2014 12:57:10 +0000 (13:57 +0100)]
s3_pkt.c: move ssl3_release_write_buffer to ssl3_write_bytes.

If application has more data than maximum fragment, hold to buffer
for whole write, as opposite to per-fragment strategy.

7 years agoAdd quotes as CC can contain spaces.
Dr. Stephen Henson [Mon, 3 Feb 2014 14:10:24 +0000 (14:10 +0000)]
Add quotes as CC can contain spaces.


7 years agoNew ctrl to set current certificate.
Dr. Stephen Henson [Sun, 2 Feb 2014 02:51:30 +0000 (02:51 +0000)]
New ctrl to set current certificate.

New ctrl sets current certificate based on certain criteria. Currently
two options: set the first valid certificate as current and set the
next valid certificate as current. Using these an application can
iterate over all certificates in an SSL_CTX or SSL structure.