Check for FindNextFile when defining it rather than FindFirstFile
[oweals/openssl.git] / crypto / ec / ec_curve.c
index f14611fc6b679d360f81066db856ed126b4ffbf9..217b4fec42bfbea89e0e0c453132f21de773f92f 100644 (file)
  *
  */
 
+#ifdef OPENSSL_FIPS
+#include <openssl/fips.h>
+#endif
+
 #include <string.h>
 #include "ec_lcl.h"
 #include <openssl/err.h>
@@ -2291,11 +2295,15 @@ static const ec_list_element curve_list[] = {
        { NID_X9_62_prime239v1, &_EC_X9_62_PRIME_239V1.h, 0, "X9.62 curve over a 239 bit prime field" },
        { NID_X9_62_prime239v2, &_EC_X9_62_PRIME_239V2.h, 0, "X9.62 curve over a 239 bit prime field" },
        { NID_X9_62_prime239v3, &_EC_X9_62_PRIME_239V3.h, 0, "X9.62 curve over a 239 bit prime field" },
-#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
-       { NID_X9_62_prime256v1, &_EC_X9_62_PRIME_256V1.h, EC_GFp_nistp256_method, "X9.62/SECG curve over a 256 bit prime field" },
+       { NID_X9_62_prime256v1, &_EC_X9_62_PRIME_256V1.h,
+#if defined(ECP_NISTZ256_ASM)
+               EC_GFp_nistz256_method,
+#elif !defined(OPENSSL_NO_EC_NISTP_64_GCC_128)
+               EC_GFp_nistp256_method,
 #else
-       { NID_X9_62_prime256v1, &_EC_X9_62_PRIME_256V1.h, 0, "X9.62/SECG curve over a 256 bit prime field" },
+               0,
 #endif
+               "X9.62/SECG curve over a 256 bit prime field" },
 #ifndef OPENSSL_NO_EC2M
        /* characteristic two field curves */
        /* NIST/SECG curves */
@@ -2504,6 +2512,10 @@ EC_GROUP *EC_GROUP_new_by_curve_name(int nid)
        size_t i;
        EC_GROUP *ret = NULL;
 
+#ifdef OPENSSL_FIPS
+       if (FIPS_mode())
+               return FIPS_ec_group_new_by_curve_name(nid);
+#endif
        if (nid <= 0)
                return NULL;