From 30fafdebf34ba8823bc3e528e0a310fc0384b188 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Fri, 25 Mar 2011 09:29:46 +0000 Subject: [PATCH] * Configure, crypto/ec/ec.h, crypto/ec/ecp_nistp224.c, util/mkdef.pl: Have EC_NISTP224_64_GCC_128 treated like any algorithm, and have disabled by default. If we don't do it this way, it screws up libeay.num. * util/libeay.num: make update --- Configure | 3 ++- crypto/ec/ec.h | 2 +- crypto/ec/ecp_nistp224.c | 3 ++- util/libeay.num | 2 +- util/mkdef.pl | 2 ++ 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Configure b/Configure index ad3e51f01c..16fcadb600 100755 --- a/Configure +++ b/Configure @@ -696,6 +696,7 @@ my $fips=0; # All of the following is disabled by default (RC5 was enabled before 0.9.8): my %disabled = ( # "what" => "comment" [or special keyword "experimental"] + "ec-nistp224-64-gcc-218" => "default", "gmp" => "default", "jpake" => "experimental", "md2" => "default", @@ -1074,7 +1075,7 @@ foreach (sort (keys %disabled)) else { my ($ALGO, $algo); - ($ALGO = $algo = $_) =~ tr/[a-z]/[A-Z]/; + ($ALGO = $algo = $_) =~ tr/[\-a-z]/[_A-Z]/; if (/^asm$/ || /^err$/ || /^hw$/ || /^hw-/) { diff --git a/crypto/ec/ec.h b/crypto/ec/ec.h index 3ea033356e..69d78642cc 100644 --- a/crypto/ec/ec.h +++ b/crypto/ec/ec.h @@ -151,7 +151,7 @@ const EC_METHOD *EC_GFp_mont_method(void); */ const EC_METHOD *EC_GFp_nist_method(void); -#ifdef EC_NISTP224_64_GCC_128 +#ifndef OPENSSL_NO_EC_NISTP224_64_GCC_128 /** Returns 64-bit optimized methods for nistp224 * \return EC_METHOD object */ diff --git a/crypto/ec/ecp_nistp224.c b/crypto/ec/ecp_nistp224.c index e0ca2dca17..90c3589bdf 100644 --- a/crypto/ec/ecp_nistp224.c +++ b/crypto/ec/ecp_nistp224.c @@ -62,7 +62,8 @@ * Inspired by Daniel J. Bernstein's public domain nistp224 implementation * and Adam Langley's public domain 64-bit C implementation of curve25519 */ -#ifdef EC_NISTP224_64_GCC_128 +#include +#ifndef OPENSSL_NO_EC_NISTP224_64_GCC_128 #include #include #include diff --git a/util/libeay.num b/util/libeay.num index 9046bcab46..a23555333d 100755 --- a/util/libeay.num +++ b/util/libeay.num @@ -4218,7 +4218,7 @@ EVP_PKEY_meth_copy 4588 EXIST::FUNCTION: ERR_add_error_vdata 4589 EXIST::FUNCTION: EVP_aes_128_ctr 4590 EXIST::FUNCTION:AES EVP_aes_256_ctr 4591 EXIST::FUNCTION:AES -EC_GFp_nistp224_method 4592 EXIST:!WIN32:FUNCTION:EC +EC_GFp_nistp224_method 4592 EXIST:!WIN32:FUNCTION:EC,EC_NISTP224_64_GCC_128 FIPS_selftest 4593 EXIST:OPENSSL_FIPS:FUNCTION: FIPS_set_error_callbacks 4594 EXIST:OPENSSL_FIPS:FUNCTION: FIPS_corrupt_drbg 4595 EXIST:OPENSSL_FIPS:FUNCTION: diff --git a/util/mkdef.pl b/util/mkdef.pl index 4a01fcb1c8..9d53046278 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -86,6 +86,8 @@ my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF", "SHA256", "SHA512", "RIPEMD", "MDC2", "WHIRLPOOL", "RSA", "DSA", "DH", "EC", "ECDH", "ECDSA", "EC2M", "HMAC", "AES", "CAMELLIA", "SEED", "GOST", + # ECP_NISTP224 + "EC_NISTP224_64_GCC_128", # Envelope "algorithms" "EVP", "X509", "ASN1_TYPEDEFS", # Helper "algorithms"