oweals/openssl.git
11 years agocrypto/evp/e_aes.c: fix logical pre-processor bug and formatting.
Andy Polyakov [Sat, 3 Aug 2013 14:56:58 +0000 (16:56 +0200)]
crypto/evp/e_aes.c: fix logical pre-processor bug and formatting.

Bug would emerge when XTS is added to bsaes-armv7.pl. Pointed out by
Ard Biesheuvel of Linaro.

11 years agocrypto/bn/asm/rsax-x86_64.pl: make it work on Darwin.
Andy Polyakov [Sat, 3 Aug 2013 14:28:50 +0000 (16:28 +0200)]
crypto/bn/asm/rsax-x86_64.pl: make it work on Darwin.

11 years agocrypto/sha/asm/sha*-x86_64.pl: comply with Win64 ABI.
Andy Polyakov [Wed, 31 Jul 2013 21:50:15 +0000 (23:50 +0200)]
crypto/sha/asm/sha*-x86_64.pl: comply with Win64 ABI.

11 years agoVarious custom extension fixes.
Trevor Perrin [Sun, 28 Jul 2013 06:10:14 +0000 (23:10 -0700)]
Various custom extension fixes.

Force no SSL2 when custom extensions in use.
Don't clear extension state when cert is set.
Clear on renegotiate.

11 years agoAdd tests for ALPN functionality.
Adam Langley [Mon, 15 Jul 2013 19:57:16 +0000 (15:57 -0400)]
Add tests for ALPN functionality.

Conflicts:
ssl/ssltest.c

11 years agoAdd a no-opt 64-bit target.
Ben Laurie [Fri, 12 Jul 2013 16:23:27 +0000 (17:23 +0100)]
Add a no-opt 64-bit target.

11 years agoSupport ALPN.
Adam Langley [Mon, 15 Apr 2013 22:07:47 +0000 (18:07 -0400)]
Support ALPN.

This change adds support for ALPN[1] in OpenSSL. ALPN is the IETF
blessed version of NPN and we'll be supporting both ALPN and NPN for
some time yet.

[1] https://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-00

Conflicts:
ssl/ssl3.h
ssl/t1_lib.c

11 years agoMake ecdsatest work with nonces.
Dr. Stephen Henson [Fri, 19 Jul 2013 13:11:43 +0000 (14:11 +0100)]
Make ecdsatest work with nonces.

Update ecdsatest to use ECDSA_sign_setup and ECDSA_sign_ex, this
avoids the nonce generation which would otherwise break the test.

Reinstate ecdsatest.

11 years agoTemporarily disable ECDSA test.
Dr. Stephen Henson [Fri, 19 Jul 2013 12:46:48 +0000 (13:46 +0100)]
Temporarily disable ECDSA test.

Disable ECDSA test temporarily: it is incompatible with ECDSA nonces.

11 years agoNew CMS tests.
Dr. Stephen Henson [Wed, 17 Jul 2013 17:20:29 +0000 (18:20 +0100)]
New CMS tests.

Add some ECDH CMS tests.

11 years agoScripts to recreate S/MIME test certificates.
Dr. Stephen Henson [Wed, 17 Jul 2013 15:30:04 +0000 (16:30 +0100)]
Scripts to recreate S/MIME test certificates.

Add a script to generate keys and certificates for the S/MIME and CMS
tests.

Update certificates and add EC examples.

11 years agoCustom key wrap option for cms utility.
Dr. Stephen Henson [Wed, 17 Jul 2013 14:21:31 +0000 (15:21 +0100)]
Custom key wrap option for cms utility.

11 years agoReturn correct enveloped data type in ASN1 methods.
Dr. Stephen Henson [Wed, 17 Jul 2013 14:18:01 +0000 (15:18 +0100)]
Return correct enveloped data type in ASN1 methods.

For RSA and DSA keys return an appropriate RecipientInfo type. By setting
CMS_RECIPINFO_NONE for DSA keys an appropriate error is returned if
an attempt is made to use DSA with enveloped data.

11 years agoAdd support for ECDH KARI.
Dr. Stephen Henson [Wed, 17 Jul 2013 14:13:37 +0000 (15:13 +0100)]
Add support for ECDH KARI.

Add support for ECDH in enveloped data. The CMS ctrls for the EC ASN1
method decode/encode the appropriate parameters from the CMS ASN1 data
and send appropriate data to the EC public key method.

11 years agoAdd support for X9.62 KDF.
Dr. Stephen Henson [Wed, 17 Jul 2013 14:01:08 +0000 (15:01 +0100)]
Add support for X9.62 KDF.

Add X9.62 KDF to EC EVP_PKEY_METHOD.

11 years agoAdd new OIDs from RFC5753
Dr. Stephen Henson [Wed, 17 Jul 2013 13:54:00 +0000 (14:54 +0100)]
Add new OIDs from RFC5753

Add OIDs for KDF schemes from RFC5753 and add cross references for
each type and the appropriate digest to use.

11 years agoCMS support for key agreeement recipient info.
Dr. Stephen Henson [Wed, 17 Jul 2013 13:36:39 +0000 (14:36 +0100)]
CMS support for key agreeement recipient info.

Add hooks to support key agreement recipient info type (KARI) using
algorithm specific code in the relevant public key ASN1 method.

11 years agoSet CMS EnvelopedData version correctly.
Dr. Stephen Henson [Wed, 10 Jul 2013 17:36:37 +0000 (18:36 +0100)]
Set CMS EnvelopedData version correctly.

11 years agoEVP support for wrapping algorithms.
Dr. Stephen Henson [Wed, 17 Jul 2013 13:05:19 +0000 (14:05 +0100)]
EVP support for wrapping algorithms.

Add support for key wrap algorithms via EVP interface.

Generalise AES wrap algorithm and add to modes, making existing
AES wrap algorithm a special case.

Move test code to evptests.txt

11 years agoTypo.
Dr. Stephen Henson [Wed, 17 Jul 2013 13:19:40 +0000 (14:19 +0100)]
Typo.

11 years agoAvoid need to change function code.
Dr. Stephen Henson [Wed, 17 Jul 2013 17:05:43 +0000 (18:05 +0100)]
Avoid need to change function code.

Keep original function names for nonce versions so we don't have to change
error function codes.

11 years agoMake `safe' (EC)DSA nonces the default.
Adam Langley [Mon, 15 Jul 2013 11:42:15 +0000 (12:42 +0100)]
Make `safe' (EC)DSA nonces the default.

This change updates 8a99cb29 to make the generation of (EC)DSA nonces
using the message digest the default. It also reverts the changes to
(EC)DSA_METHOD structure.

In addition to making it the default, removing the flag from EC_KEY
means that FIPS modules will no longer have an ABI mismatch.

11 years agobn/asm/rsaz-avx2.pl: Windows-specific fix.
Andy Polyakov [Fri, 12 Jul 2013 16:59:17 +0000 (18:59 +0200)]
bn/asm/rsaz-avx2.pl: Windows-specific fix.

11 years agoFix verify loop with CRL checking.
Dr. Stephen Henson [Fri, 12 Jul 2013 16:35:08 +0000 (17:35 +0100)]
Fix verify loop with CRL checking.

PR #3090
Reported by: Franck Youssef <fry@open.ch>

If no new reason codes are obtained after checking a CRL exit with an
error to avoid repeatedly checking the same CRL.

This will only happen if verify errors such as invalid CRL scope are
overridden in a callback.

11 years agoClarify FIXME.
Ben Laurie [Fri, 12 Jul 2013 14:03:43 +0000 (15:03 +0100)]
Clarify FIXME.

11 years agoNote non-export of CC.
Ben Laurie [Fri, 12 Jul 2013 13:48:13 +0000 (14:48 +0100)]
Note non-export of CC.

11 years agoSupport new rsaz asm stuff.
Ben Laurie [Fri, 12 Jul 2013 11:48:24 +0000 (12:48 +0100)]
Support new rsaz asm stuff.

11 years agos/rsaz_eligible/rsaz_avx2_eligible/.
Ben Laurie [Fri, 12 Jul 2013 11:47:39 +0000 (12:47 +0100)]
s/rsaz_eligible/rsaz_avx2_eligible/.

11 years agosha512-586.pl: fix typo.
Andy Polyakov [Wed, 10 Jul 2013 07:59:25 +0000 (09:59 +0200)]
sha512-586.pl: fix typo.

Submitted by: Gisle Vanem

11 years agoRemove RSAX engine, superseded by RSAZ module.
Andy Polyakov [Fri, 5 Jul 2013 20:11:28 +0000 (22:11 +0200)]
Remove RSAX engine, superseded by RSAZ module.

11 years agoTake RSAZ modules into build loop, add glue and engage.
Andy Polyakov [Fri, 5 Jul 2013 19:39:47 +0000 (21:39 +0200)]
Take RSAZ modules into build loop, add glue and engage.

RT: 2582, 2850

11 years agoAdd RSAZ assembly modules.
Andy Polyakov [Fri, 5 Jul 2013 19:30:18 +0000 (21:30 +0200)]
Add RSAZ assembly modules.

RT: 2582, 2850

11 years agobn/asm/x86_86-mont.pl: optimize reduction for Intel Core family.
Andy Polyakov [Fri, 5 Jul 2013 19:10:56 +0000 (21:10 +0200)]
bn/asm/x86_86-mont.pl: optimize reduction for Intel Core family.

11 years agobn/bn_exp.c: harmonize.
Andy Polyakov [Fri, 5 Jul 2013 18:52:58 +0000 (20:52 +0200)]
bn/bn_exp.c: harmonize.

11 years agoFix multiple cosmetic typos.
Jeff Walton [Wed, 5 Jun 2013 11:46:49 +0000 (07:46 -0400)]
Fix multiple cosmetic typos.

11 years agoInitialise CMS signature buffer length properly.
Dr. Stephen Henson [Tue, 2 Jul 2013 21:11:27 +0000 (22:11 +0100)]
Initialise CMS signature buffer length properly.

11 years agoconfig: fix executable format detection on latest FreeBSD.
Andy Polyakov [Sun, 30 Jun 2013 21:55:55 +0000 (23:55 +0200)]
config: fix executable format detection on latest FreeBSD.

Submitted by: Bryan Drewery
PR: 3075

11 years agobn/bn_exp.c: Solaris-specific fix, T4 MONTMUL relies on alloca.
Andy Polyakov [Sun, 30 Jun 2013 21:09:09 +0000 (23:09 +0200)]
bn/bn_exp.c: Solaris-specific fix, T4 MONTMUL relies on alloca.

11 years agox86_64-xlate.pl: Windows fixes.
Andy Polyakov [Sun, 30 Jun 2013 21:07:33 +0000 (23:07 +0200)]
x86_64-xlate.pl: Windows fixes.

11 years agoaesni-sha256-x86_64.pl: fix typo in Windows SEH.
Andy Polyakov [Sun, 30 Jun 2013 21:06:28 +0000 (23:06 +0200)]
aesni-sha256-x86_64.pl: fix typo in Windows SEH.

11 years agoCosmetic touchups.
Trevor [Mon, 24 Jun 2013 22:59:05 +0000 (15:59 -0700)]
Cosmetic touchups.

11 years agoFix duplicate error code.
Dr. Stephen Henson [Fri, 28 Jun 2013 13:21:48 +0000 (14:21 +0100)]
Fix duplicate error code.

11 years agoUpdate CHANGES
Dr. Stephen Henson [Fri, 21 Jun 2013 22:35:02 +0000 (23:35 +0100)]
Update CHANGES

11 years agoUpdate cms docs.
Dr. Stephen Henson [Fri, 21 Jun 2013 22:24:25 +0000 (23:24 +0100)]
Update cms docs.

Document use of -keyopt to use RSA-PSS and RSA-OAEP modes.

11 years agoAdd new CMS tests.
Dr. Stephen Henson [Wed, 19 Jun 2013 17:26:27 +0000 (18:26 +0100)]
Add new CMS tests.

Add new tests to cms-test.pl covering PSS and OAEP.

11 years agoAdd -keyopt option to cms utility.
Dr. Stephen Henson [Wed, 19 Jun 2013 17:24:00 +0000 (18:24 +0100)]
Add -keyopt option to cms utility.

Add support for custom public key parameters in the cms utility using
the -keyopt switch. Works for -sign and also -encrypt if -recip is used.

11 years agoCMS RSA-OAEP and RSA-PSS support.
Dr. Stephen Henson [Wed, 19 Jun 2013 17:21:37 +0000 (18:21 +0100)]
CMS RSA-OAEP and RSA-PSS support.

Extend RSA ASN1 method to support CMS PSS signatures for both sign
and verify.

For signing the EVP_PKEY_CTX parameters are read and the appropriate
CMS structures set up.

For verification the CMS structures are analysed and the corresponding
parameters in the EVP_PKEY_CTX set.

Also add RSA-OAEP support.

For encrypt the EVP_PKEY_CTX parameters are used.

For decrypt the CMS structure is uses to set the appropriate EVP_PKEY_CTX
parameters.

11 years agoCMS public key parameter support.
Dr. Stephen Henson [Wed, 19 Jun 2013 17:17:14 +0000 (18:17 +0100)]
CMS public key parameter support.

Add support for customisation of CMS handling of signed and enveloped
data from custom public key parameters.

This will provide support for RSA-PSS and RSA-OAEP but could also be
applied to other algorithms.

11 years agoUpdate to OAEP support.
Dr. Stephen Henson [Thu, 20 Jun 2013 16:02:14 +0000 (17:02 +0100)]
Update to OAEP support.

Add OAEP ctrls to retrieve MD and label. Return errors if
an attempt is made to set or retrieve OAEP parameters when
padding mode is not OAEP.

11 years agoAdd control to retrieve signature MD.
Dr. Stephen Henson [Wed, 19 Jun 2013 17:20:03 +0000 (18:20 +0100)]
Add control to retrieve signature MD.

11 years agoAdd new OID to pSpecified from PKCS#1
Dr. Stephen Henson [Fri, 21 Jun 2013 10:59:04 +0000 (11:59 +0100)]
Add new OID to pSpecified from PKCS#1

11 years agoCleanup of custom extension stuff.
Trevor [Fri, 14 Jun 2013 05:36:45 +0000 (22:36 -0700)]
Cleanup of custom extension stuff.

serverinfo rejects non-empty extensions.

Omit extension if no relevant serverinfo data.

Improve error-handling in serverinfo callback.

Cosmetic cleanups.

s_client documentation.

s_server documentation.

SSL_CTX_serverinfo documentation.

Cleaup -1 and NULL callback handling for custom extensions, add tests.

Cleanup ssl_rsa.c serverinfo code.

Whitespace cleanup.

Improve comments in ssl.h for serverinfo.

Whitespace.

Cosmetic cleanup.

Reject non-zero-len serverinfo extensions.

Whitespace.

Make it build.

11 years agoSPARC T4 DES support: fix typo.
Andy Polyakov [Tue, 18 Jun 2013 08:42:08 +0000 (10:42 +0200)]
SPARC T4 DES support: fix typo.

11 years agoOptimize SPARC T4 MONTMUL support.
Andy Polyakov [Tue, 18 Jun 2013 08:39:38 +0000 (10:39 +0200)]
Optimize SPARC T4 MONTMUL support.

Improve RSA sing performance by 20-30% by:
- switching from floating-point to integer conditional moves;
- daisy-chaining sqr-sqr-sqr-sqr-sqr-mul sequences;
- using MONTMUL even during powers table setup;

11 years agoPA-RISC assembler pack: switch to bve in 64-bit builds.
Andy Polyakov [Tue, 18 Jun 2013 08:37:00 +0000 (10:37 +0200)]
PA-RISC assembler pack: switch to bve in 64-bit builds.

PR: 3074

11 years agoAdd secure DSA nonce flag.
Adam Langley [Thu, 24 Jan 2013 21:27:28 +0000 (16:27 -0500)]
Add secure DSA nonce flag.

This change adds the option to calculate (EC)DSA nonces by hashing the
message and private key along with entropy to avoid leaking the private
key if the PRNG fails.

11 years agoLimit the number of empty records that will be processed consecutively
Adam Langley [Wed, 20 Feb 2013 17:42:09 +0000 (12:42 -0500)]
Limit the number of empty records that will be processed consecutively
in order to prevent ssl3_get_record from never returning.

Reported by "oftc_must_be_destroyed" and George Kadianakis.

11 years agoDon't SEGFAULT when trying to export a public DSA key as a private key.
Adam Langley [Thu, 21 Feb 2013 22:11:55 +0000 (17:11 -0500)]
Don't SEGFAULT when trying to export a public DSA key as a private key.

11 years agoThis change alters the processing of invalid, RSA pre-master secrets so
Adam Langley [Wed, 24 Apr 2013 18:45:44 +0000 (14:45 -0400)]
This change alters the processing of invalid, RSA pre-master secrets so
that bad encryptions are treated like random session keys in constant
time.

11 years agoIgnore one-makefile stuff.
Ben Laurie [Thu, 13 Jun 2013 14:39:23 +0000 (15:39 +0100)]
Ignore one-makefile stuff.

11 years agoDocument updates from wiki.
Matt Caswell [Wed, 12 Jun 2013 22:42:08 +0000 (23:42 +0100)]
Document updates from wiki.

PR#3071

The primary changes made are:
- Updates to the "NAME" section of many pages to correctly reflect the
functions defined on those pages. This section is automatically parsed
by the util/extract-names.pl script, so if it is not correct then
running "man" will not correctly locate the right manual pages.
- Updates to take account of where functions are now deprecated
- Full documentation of the ec sub-library
- A number of other typo corrections and other minor tweaks

11 years agoExetended OAEP support.
Dr. Stephen Henson [Tue, 21 May 2013 22:55:50 +0000 (23:55 +0100)]
Exetended OAEP support.

Extend OAEP support. Generalise the OAEP padding functions to support
arbitrary digests. Extend EVP_PKEY RSA method to handle the new OAEP
padding functions and add ctrls to set the additional parameters.

11 years agoTypo.
Dr. Stephen Henson [Tue, 21 May 2013 22:48:12 +0000 (23:48 +0100)]
Typo.

11 years agoAdd support for arbitrary TLS extensions.
Trevor [Mon, 13 May 2013 01:55:27 +0000 (18:55 -0700)]
Add support for arbitrary TLS extensions.

Contributed by Trevor Perrin.

11 years agoAdd aesni-sha256-x86_64.
Ben Laurie [Wed, 12 Jun 2013 13:18:33 +0000 (14:18 +0100)]
Add aesni-sha256-x86_64.

11 years agoaesni-sha1-x86_64.pl: update performance data.
Andy Polyakov [Mon, 10 Jun 2013 20:35:22 +0000 (22:35 +0200)]
aesni-sha1-x86_64.pl: update performance data.

11 years agoaesni-sha256-x86_64.pl: harmonize with latest sha512-x86_64.pl.
Andy Polyakov [Mon, 10 Jun 2013 20:34:06 +0000 (22:34 +0200)]
aesni-sha256-x86_64.pl: harmonize with latest sha512-x86_64.pl.

11 years agosha1-x86_64.pl: add AVX2+BMI code path.
Andy Polyakov [Mon, 10 Jun 2013 20:30:34 +0000 (22:30 +0200)]
sha1-x86_64.pl: add AVX2+BMI code path.

11 years agosha512-x86_64.pl: upcoming-Atom-specific optimization.
Andy Polyakov [Mon, 10 Jun 2013 20:29:01 +0000 (22:29 +0200)]
sha512-x86_64.pl: upcoming-Atom-specific optimization.

11 years agosha[256|512]-586.pl: add more SIMD code paths.
Andy Polyakov [Mon, 10 Jun 2013 20:26:53 +0000 (22:26 +0200)]
sha[256|512]-586.pl: add more SIMD code paths.

11 years agoghash-x86_64.pl: add Haswell performance data.
Andy Polyakov [Mon, 10 Jun 2013 20:25:12 +0000 (22:25 +0200)]
ghash-x86_64.pl: add Haswell performance data.

11 years agox86cpuid.pl: fix extended feature flags detection.
Andy Polyakov [Mon, 10 Jun 2013 20:20:46 +0000 (22:20 +0200)]
x86cpuid.pl: fix extended feature flags detection.

11 years agoFix PSS signature printing.
Dr. Stephen Henson [Sun, 5 May 2013 12:34:03 +0000 (13:34 +0100)]
Fix PSS signature printing.

Fix PSS signature printing: consistently use 0x prefix for hex values for
padding length and trailer fields.

11 years agoReencode with X509_CRL_ctx_sign too.
Dr. Stephen Henson [Fri, 3 May 2013 11:31:47 +0000 (12:31 +0100)]
Reencode with X509_CRL_ctx_sign too.

11 years agoEnsure that, when generating small primes, the result is actually of the
Adam Langley [Tue, 23 Apr 2013 18:36:06 +0000 (14:36 -0400)]
Ensure that, when generating small primes, the result is actually of the
requested size. Fixes OpenSSL #2701.

This change does not address the cases of generating safe primes, or
where the |add| parameter is non-NULL.

Conflicts:
crypto/bn/bn.h
crypto/bn/bn_err.c

11 years agoEnsure that x**0 mod 1 = 0.
Adam Langley [Tue, 23 Apr 2013 16:13:51 +0000 (12:13 -0400)]
Ensure that x**0 mod 1 = 0.

11 years agoAdd volatile qualifications to two blocks of inline asm to stop GCC from
Adam Langley [Mon, 3 Jun 2013 19:45:11 +0000 (15:45 -0400)]
Add volatile qualifications to two blocks of inline asm to stop GCC from
eliminating them as dead code.

Both volatile and "memory" are used because of some concern that the compiler
may still cache values across the asm block without it, and because this was
such a painful debugging session that I wanted to ensure that it's never
repeated.

11 years agoRemove added ;.
Ben Laurie [Tue, 4 Jun 2013 14:05:18 +0000 (15:05 +0100)]
Remove added ;.

11 years agoMissing prototypes.
Ben Laurie [Tue, 4 Jun 2013 14:14:18 +0000 (15:14 +0100)]
Missing prototypes.

11 years agocrypto/bn/bn_exp.c: SPARC portability fix.
Andy Polyakov [Sat, 1 Jun 2013 07:58:07 +0000 (09:58 +0200)]
crypto/bn/bn_exp.c: SPARC portability fix.

11 years agoaesni-x86_64.pl: optimize XTS.
Andy Polyakov [Sat, 25 May 2013 17:23:09 +0000 (19:23 +0200)]
aesni-x86_64.pl: optimize XTS.

PR: 3042

11 years agoaesni-sha1-x86_64.pl: Atom-specific optimization.
Andy Polyakov [Sat, 25 May 2013 17:08:39 +0000 (19:08 +0200)]
aesni-sha1-x86_64.pl: Atom-specific optimization.

11 years agosha512-x86_64.pl: +16% optimization for Atom.
Andy Polyakov [Sat, 25 May 2013 17:02:57 +0000 (19:02 +0200)]
sha512-x86_64.pl: +16% optimization for Atom.

(and pending AVX2 changes).

11 years agovpaes-x86[_64].pl: minor Atom-specific optimization.
Andy Polyakov [Sat, 25 May 2013 16:57:03 +0000 (18:57 +0200)]
vpaes-x86[_64].pl: minor Atom-specific optimization.

11 years agoAdd AES-SHA256 stitch.
Andy Polyakov [Mon, 13 May 2013 20:49:58 +0000 (22:49 +0200)]
Add AES-SHA256 stitch.

11 years agox86_64-xlate.pl: minor size/performance improvement.
Andy Polyakov [Mon, 13 May 2013 14:06:25 +0000 (16:06 +0200)]
x86_64-xlate.pl: minor size/performance improvement.

11 years agoaesni-x86_64.pl: minor CTR performance improvement.
Andy Polyakov [Mon, 13 May 2013 13:49:03 +0000 (15:49 +0200)]
aesni-x86_64.pl: minor CTR performance improvement.

11 years agoTests pass!
Ben Laurie [Sun, 5 May 2013 15:15:34 +0000 (16:15 +0100)]
Tests pass!

11 years agoUgly hack to avoid recompiling the same thing multiple times in parallel.
Ben Laurie [Sun, 5 May 2013 14:06:33 +0000 (15:06 +0100)]
Ugly hack to avoid recompiling the same thing multiple times in parallel.

11 years agoReencode certificates in X509_sign_ctx.
Dr. Stephen Henson [Thu, 2 May 2013 11:18:46 +0000 (12:18 +0100)]
Reencode certificates in X509_sign_ctx.

Reencode certificates in X509_sign_ctx as well as X509_sign.

This was causing a problem in the x509 application when it modified an
existing certificate.

11 years agobsaes-armv7.pl: add bsaes_cbc_encrypt and bsaes_ctr32_encrypt_blocks.
Andy Polyakov [Tue, 23 Apr 2013 15:52:14 +0000 (17:52 +0200)]
bsaes-armv7.pl: add bsaes_cbc_encrypt and bsaes_ctr32_encrypt_blocks.

Submitted by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

Contributor claims ~50% improvement in CTR and ~9% in CBC decrypt
on Cortex-A15.

11 years agobsaes-armv7.pl: take it into build loop.
Andy Polyakov [Tue, 23 Apr 2013 15:49:54 +0000 (17:49 +0200)]
bsaes-armv7.pl: take it into build loop.

11 years agoTypo.
Dr. Stephen Henson [Sun, 14 Apr 2013 00:19:07 +0000 (01:19 +0100)]
Typo.

11 years agoFix Windows linking error in GOST test case.
Andy Polyakov [Sat, 13 Apr 2013 21:03:31 +0000 (23:03 +0200)]
Fix Windows linking error in GOST test case.

11 years agocrypto/modes/modes_lcl.h: let STRICT_ALIGNMENT be on ARMv7.
Andy Polyakov [Sat, 13 Apr 2013 18:57:37 +0000 (20:57 +0200)]
crypto/modes/modes_lcl.h: let STRICT_ALIGNMENT be on ARMv7.

While ARMv7 in general is capable of unaligned access, not all instructions
actually are. And trouble is that compiler doesn't seem to differentiate
those capable and incapable of unaligned access. Side effect is that kernel
goes into endless loop retrying same instruction triggering unaligned trap.
Problem was observed in xts128.c and ccm128.c modules. It's possible to
resolve it by using (volatile u32*) casts, but letting STRICT_ALIGNMENT
be feels more appropriate.

11 years agoSuite B support for DTLS 1.2
Dr. Stephen Henson [Tue, 9 Apr 2013 14:57:39 +0000 (15:57 +0100)]
Suite B support for DTLS 1.2

Check for Suite B support using method flags instead of version numbers:
anything supporting TLS 1.2 cipher suites will also support Suite B.

Return an error if an attempt to use DTLS 1.0 is made in Suite B mode.

11 years agoAlways return errors in ssl3_get_client_hello
Dr. Stephen Henson [Tue, 9 Apr 2013 14:53:38 +0000 (15:53 +0100)]
Always return errors in ssl3_get_client_hello

If we successfully match a cookie don't set return value to 2 as this
results in other error conditions returning 2 as well.

Instead set return value to -2 which can be checked later if everything
else is OK.

11 years agoDual DTLS version methods.
Dr. Stephen Henson [Sat, 6 Apr 2013 14:50:12 +0000 (15:50 +0100)]
Dual DTLS version methods.

Add new methods DTLS_*_method() which support both DTLS 1.0 and DTLS 1.2 and
pick the highest version the peer supports during negotiation.

As with SSL/TLS options can change this behaviour specifically
SSL_OP_NO_DTLSv1 and SSL_OP_NO_DTLSv1_2.

11 years agoSet s->d1 to NULL after freeing it.
Dr. Stephen Henson [Mon, 8 Apr 2013 17:03:12 +0000 (18:03 +0100)]
Set s->d1 to NULL after freeing it.

11 years agoAsm build portability.
Dr. Stephen Henson [Mon, 8 Apr 2013 13:53:54 +0000 (14:53 +0100)]
Asm build portability.

Don't use Win32 specific options in mk1mf.pl to build assembly language
files.