From cea30df3a69b2a9da3cdc7b4375d5fe7f11ae5ac Mon Sep 17 00:00:00 2001 From: William Bright Date: Thu, 22 Apr 2021 13:57:16 -0400 Subject: [PATCH 01/17] changed include/*.h to "*.h" for headers --- src/valgrind_ctime_test.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/valgrind_ctime_test.c b/src/valgrind_ctime_test.c index cfca5a196e..44c15c5fcf 100644 --- a/src/valgrind_ctime_test.c +++ b/src/valgrind_ctime_test.c @@ -7,24 +7,24 @@ #include #include -#include "include/secp256k1.h" +#include "secp256k1.h" #include "assumptions.h" #include "util.h" #ifdef ENABLE_MODULE_ECDH -# include "include/secp256k1_ecdh.h" +# include "secp256k1_ecdh.h" #endif #ifdef ENABLE_MODULE_RECOVERY -# include "include/secp256k1_recovery.h" +# include "secp256k1_recovery.h" #endif #ifdef ENABLE_MODULE_EXTRAKEYS -# include "include/secp256k1_extrakeys.h" +# include "secp256k1_extrakeys.h" #endif #ifdef ENABLE_MODULE_SCHNORRSIG -#include "include/secp256k1_schnorrsig.h" +#include "secp256k1_schnorrsig.h" #endif void run_tests(secp256k1_context *ctx, unsigned char *key); From b0271887695e2464421a2c01a3dbf14991aa8ecc Mon Sep 17 00:00:00 2001 From: William Bright Date: Fri, 23 Apr 2021 13:08:43 -0400 Subject: [PATCH 02/17] ran include-what-you-use" and fixed based on those results. Added flag in Makefile.am for standardizing of secp256k1.h statements --- Makefile.am | 13 ++--- src/bench_ecdh.c | 4 +- src/bench_ecmult.c | 14 +++-- src/bench_internal.c | 14 +++-- src/bench_recover.c | 6 ++- src/bench_schnorrsig.c | 12 ++--- src/bench_sign.c | 4 +- src/bench_verify.c | 13 +++-- src/ecmult_gen_impl.h | 2 + src/gen_context.c | 2 +- src/modules/ecdh/main_impl.h | 2 +- src/modules/extrakeys/main_impl.h | 4 +- src/modules/extrakeys/tests_exhaustive_impl.h | 2 +- src/modules/recovery/main_impl.h | 2 +- src/modules/recovery/tests_exhaustive_impl.h | 2 +- src/modules/schnorrsig/main_impl.h | 4 +- .../schnorrsig/tests_exhaustive_impl.h | 2 +- src/secp256k1.c | 21 +++++--- src/testrand_impl.h | 7 +-- src/tests.c | 54 +++++++++++++------ src/tests_exhaustive.c | 29 +++++++--- 21 files changed, 137 insertions(+), 76 deletions(-) diff --git a/Makefile.am b/Makefile.am index 58c9635e53..65a3d13ecd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,5 @@ ACLOCAL_AMFLAGS = -I build-aux/m4 +AM_CPPFLAGS = -Iinclude/ lib_LTLIBRARIES = libsecp256k1.la include_HEADERS = include/secp256k1.h @@ -81,15 +82,15 @@ noinst_PROGRAMS += bench_verify bench_sign bench_internal bench_ecmult bench_verify_SOURCES = src/bench_verify.c bench_verify_LDADD = libsecp256k1.la $(SECP_LIBS) $(SECP_TEST_LIBS) $(COMMON_LIB) # SECP_TEST_INCLUDES are only used here for CRYPTO_CPPFLAGS -bench_verify_CPPFLAGS = -DSECP256K1_BUILD $(SECP_TEST_INCLUDES) +bench_verify_CPPFLAGS = -DSECP256K1_BUILD $(SECP_TEST_INCLUDES) $(AM_CPPFLAGS) bench_sign_SOURCES = src/bench_sign.c bench_sign_LDADD = libsecp256k1.la $(SECP_LIBS) $(SECP_TEST_LIBS) $(COMMON_LIB) bench_internal_SOURCES = src/bench_internal.c bench_internal_LDADD = $(SECP_LIBS) $(COMMON_LIB) -bench_internal_CPPFLAGS = -DSECP256K1_BUILD $(SECP_INCLUDES) +bench_internal_CPPFLAGS = -DSECP256K1_BUILD $(SECP_INCLUDES) $(AM_CPPFLAGS) bench_ecmult_SOURCES = src/bench_ecmult.c bench_ecmult_LDADD = $(SECP_LIBS) $(COMMON_LIB) -bench_ecmult_CPPFLAGS = -DSECP256K1_BUILD $(SECP_INCLUDES) +bench_ecmult_CPPFLAGS = -DSECP256K1_BUILD $(SECP_INCLUDES) $(AM_CPPFLAGS) endif TESTS = @@ -114,7 +115,7 @@ endif if USE_EXHAUSTIVE_TESTS noinst_PROGRAMS += exhaustive_tests exhaustive_tests_SOURCES = src/tests_exhaustive.c -exhaustive_tests_CPPFLAGS = -DSECP256K1_BUILD -I$(top_srcdir)/src $(SECP_INCLUDES) +exhaustive_tests_CPPFLAGS = -DSECP256K1_BUILD -I$(top_srcdir)/src $(SECP_INCLUDES) $(AM_CPPFLAGS) if !ENABLE_COVERAGE exhaustive_tests_CPPFLAGS += -DVERIFY endif @@ -129,10 +130,10 @@ CPPFLAGS_FOR_BUILD +=-I$(top_srcdir) -I$(builddir)/src gen_context_OBJECTS = gen_context.o gen_context_BIN = gen_context$(BUILD_EXEEXT) gen_%.o: src/gen_%.c src/libsecp256k1-config.h - $(CC_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) -c $< -o $@ + $(CC_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(AM_CPPFLAGS) $(CFLAGS_FOR_BUILD) -c $< -o $@ $(gen_context_BIN): $(gen_context_OBJECTS) - $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $^ -o $@ + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(AM_CPPFLAGS) $(LDFLAGS_FOR_BUILD) $^ -o $@ $(libsecp256k1_la_OBJECTS): src/ecmult_static_context.h $(tests_OBJECTS): src/ecmult_static_context.h diff --git a/src/bench_ecdh.c b/src/bench_ecdh.c index ab4b8f4244..92dfe73705 100644 --- a/src/bench_ecdh.c +++ b/src/bench_ecdh.c @@ -6,8 +6,8 @@ #include -#include "include/secp256k1.h" -#include "include/secp256k1_ecdh.h" +#include "secp256k1.h" +#include "secp256k1_ecdh.h" #include "util.h" #include "bench.h" diff --git a/src/bench_ecmult.c b/src/bench_ecmult.c index 204e85a5dd..bf0ead2b62 100644 --- a/src/bench_ecmult.c +++ b/src/bench_ecmult.c @@ -3,18 +3,22 @@ * Distributed under the MIT software license, see the accompanying * * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ -#include - -#include "include/secp256k1.h" +#include "secp256k1.h" #include "util.h" #include "hash_impl.h" -#include "field_impl.h" #include "group_impl.h" -#include "scalar_impl.h" #include "ecmult_impl.h" #include "bench.h" #include "secp256k1.c" +#include "group.h" +#include "hash.h" +#include "scalar_4x64.h" +#include "scalar_4x64_impl.h" + +#include +#include +#include #define POINTS 32768 diff --git a/src/bench_internal.c b/src/bench_internal.c index 73b8a24ccb..40245d2cd2 100644 --- a/src/bench_internal.c +++ b/src/bench_internal.c @@ -3,11 +3,8 @@ * Distributed under the MIT software license, see the accompanying * * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ -#include - -#include "include/secp256k1.h" -#include "assumptions.h" +#include "secp256k1.h" #include "util.h" #include "hash_impl.h" #include "field_impl.h" @@ -17,6 +14,15 @@ #include "ecmult_impl.h" #include "bench.h" #include "secp256k1.c" +#include "field_5x52.h" +#include "field_5x52_impl.h" +#include "group.h" +#include "hash.h" +#include "scalar_4x64.h" +#include "scalar_4x64_impl.h" + +#include +#include typedef struct { secp256k1_scalar scalar[2]; diff --git a/src/bench_recover.c b/src/bench_recover.c index 3f6270ce84..0cc7be7ef7 100644 --- a/src/bench_recover.c +++ b/src/bench_recover.c @@ -4,11 +4,13 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ -#include "include/secp256k1.h" -#include "include/secp256k1_recovery.h" +#include "secp256k1.h" +#include "secp256k1_recovery.h" #include "util.h" #include "bench.h" +#include + typedef struct { secp256k1_context *ctx; unsigned char msg[32]; diff --git a/src/bench_schnorrsig.c b/src/bench_schnorrsig.c index f7f591c41d..584b1fbd38 100644 --- a/src/bench_schnorrsig.c +++ b/src/bench_schnorrsig.c @@ -4,14 +4,14 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ -#include -#include - - -#include "include/secp256k1.h" -#include "include/secp256k1_schnorrsig.h" +#include "secp256k1.h" +#include "secp256k1_schnorrsig.h" #include "util.h" #include "bench.h" +#include "secp256k1_extrakeys.h" + +#include +#include typedef struct { secp256k1_context *ctx; diff --git a/src/bench_sign.c b/src/bench_sign.c index 933f367c4b..b3cffc4770 100644 --- a/src/bench_sign.c +++ b/src/bench_sign.c @@ -4,10 +4,12 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ -#include "include/secp256k1.h" +#include "secp256k1.h" #include "util.h" #include "bench.h" +#include + typedef struct { secp256k1_context* ctx; unsigned char msg[32]; diff --git a/src/bench_verify.c b/src/bench_verify.c index c56aefd369..5b78a7c4b5 100644 --- a/src/bench_verify.c +++ b/src/bench_verify.c @@ -4,20 +4,19 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ -#include -#include - -#include "include/secp256k1.h" +#include "secp256k1.h" #include "util.h" #include "bench.h" +#include "libsecp256k1-config.h" + +#include #ifdef ENABLE_OPENSSL_TESTS -#include -#include #include +#include +#include #endif - typedef struct { secp256k1_context *ctx; unsigned char msg[32]; diff --git a/src/ecmult_gen_impl.h b/src/ecmult_gen_impl.h index 384a67faed..74d31ce690 100644 --- a/src/ecmult_gen_impl.h +++ b/src/ecmult_gen_impl.h @@ -12,6 +12,8 @@ #include "group.h" #include "ecmult_gen.h" #include "hash_impl.h" +#include "field_impl.h" + #ifdef USE_ECMULT_STATIC_PRECOMPUTATION #include "ecmult_static_context.h" #endif diff --git a/src/gen_context.c b/src/gen_context.c index 024c557261..a1fa885b25 100644 --- a/src/gen_context.c +++ b/src/gen_context.c @@ -13,7 +13,7 @@ /* We can't require the precomputed tables when creating them. */ #undef USE_ECMULT_STATIC_PRECOMPUTATION -#include "include/secp256k1.h" +#include "secp256k1.h" #include "assumptions.h" #include "util.h" #include "field_impl.h" diff --git a/src/modules/ecdh/main_impl.h b/src/modules/ecdh/main_impl.h index 1ac67086be..2d7084b61f 100644 --- a/src/modules/ecdh/main_impl.h +++ b/src/modules/ecdh/main_impl.h @@ -7,7 +7,7 @@ #ifndef SECP256K1_MODULE_ECDH_MAIN_H #define SECP256K1_MODULE_ECDH_MAIN_H -#include "include/secp256k1_ecdh.h" +#include "secp256k1_ecdh.h" #include "ecmult_const_impl.h" static int ecdh_hash_function_sha256(unsigned char *output, const unsigned char *x32, const unsigned char *y32, void *data) { diff --git a/src/modules/extrakeys/main_impl.h b/src/modules/extrakeys/main_impl.h index 7390b22718..62d0447401 100644 --- a/src/modules/extrakeys/main_impl.h +++ b/src/modules/extrakeys/main_impl.h @@ -7,8 +7,8 @@ #ifndef SECP256K1_MODULE_EXTRAKEYS_MAIN_H #define SECP256K1_MODULE_EXTRAKEYS_MAIN_H -#include "include/secp256k1.h" -#include "include/secp256k1_extrakeys.h" +#include "secp256k1.h" +#include "secp256k1_extrakeys.h" static SECP256K1_INLINE int secp256k1_xonly_pubkey_load(const secp256k1_context* ctx, secp256k1_ge *ge, const secp256k1_xonly_pubkey *pubkey) { return secp256k1_pubkey_load(ctx, ge, (const secp256k1_pubkey *) pubkey); diff --git a/src/modules/extrakeys/tests_exhaustive_impl.h b/src/modules/extrakeys/tests_exhaustive_impl.h index 0aca4fb72d..92cc186bf8 100644 --- a/src/modules/extrakeys/tests_exhaustive_impl.h +++ b/src/modules/extrakeys/tests_exhaustive_impl.h @@ -8,7 +8,7 @@ #define SECP256K1_MODULE_EXTRAKEYS_TESTS_EXHAUSTIVE_H #include "src/modules/extrakeys/main_impl.h" -#include "include/secp256k1_extrakeys.h" +#include "secp256k1_extrakeys.h" static void test_exhaustive_extrakeys(const secp256k1_context *ctx, const secp256k1_ge* group) { secp256k1_keypair keypair[EXHAUSTIVE_TEST_ORDER - 1]; diff --git a/src/modules/recovery/main_impl.h b/src/modules/recovery/main_impl.h index 7a440a729b..d6feb1e4d8 100644 --- a/src/modules/recovery/main_impl.h +++ b/src/modules/recovery/main_impl.h @@ -7,7 +7,7 @@ #ifndef SECP256K1_MODULE_RECOVERY_MAIN_H #define SECP256K1_MODULE_RECOVERY_MAIN_H -#include "include/secp256k1_recovery.h" +#include "secp256k1_recovery.h" static void secp256k1_ecdsa_recoverable_signature_load(const secp256k1_context* ctx, secp256k1_scalar* r, secp256k1_scalar* s, int* recid, const secp256k1_ecdsa_recoverable_signature* sig) { (void)ctx; diff --git a/src/modules/recovery/tests_exhaustive_impl.h b/src/modules/recovery/tests_exhaustive_impl.h index 0ba9409c69..a1aa253482 100644 --- a/src/modules/recovery/tests_exhaustive_impl.h +++ b/src/modules/recovery/tests_exhaustive_impl.h @@ -8,7 +8,7 @@ #define SECP256K1_MODULE_RECOVERY_EXHAUSTIVE_TESTS_H #include "src/modules/recovery/main_impl.h" -#include "include/secp256k1_recovery.h" +#include "secp256k1_recovery.h" void test_exhaustive_recovery_sign(const secp256k1_context *ctx, const secp256k1_ge *group) { int i, j, k; diff --git a/src/modules/schnorrsig/main_impl.h b/src/modules/schnorrsig/main_impl.h index 22e1b33a5a..b4867415d1 100644 --- a/src/modules/schnorrsig/main_impl.h +++ b/src/modules/schnorrsig/main_impl.h @@ -7,8 +7,8 @@ #ifndef SECP256K1_MODULE_SCHNORRSIG_MAIN_H #define SECP256K1_MODULE_SCHNORRSIG_MAIN_H -#include "include/secp256k1.h" -#include "include/secp256k1_schnorrsig.h" +#include "secp256k1.h" +#include "secp256k1_schnorrsig.h" #include "hash.h" /* Initializes SHA256 with fixed midstate. This midstate was computed by applying diff --git a/src/modules/schnorrsig/tests_exhaustive_impl.h b/src/modules/schnorrsig/tests_exhaustive_impl.h index b4a428729f..564d1fb033 100644 --- a/src/modules/schnorrsig/tests_exhaustive_impl.h +++ b/src/modules/schnorrsig/tests_exhaustive_impl.h @@ -7,7 +7,7 @@ #ifndef SECP256K1_MODULE_SCHNORRSIG_TESTS_EXHAUSTIVE_H #define SECP256K1_MODULE_SCHNORRSIG_TESTS_EXHAUSTIVE_H -#include "include/secp256k1_schnorrsig.h" +#include "secp256k1_schnorrsig.h" #include "src/modules/schnorrsig/main_impl.h" static const unsigned char invalid_pubkey_bytes[][32] = { diff --git a/src/secp256k1.c b/src/secp256k1.c index aef3f99ac3..7fa2ea0f07 100644 --- a/src/secp256k1.c +++ b/src/secp256k1.c @@ -4,22 +4,31 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ -#include "include/secp256k1.h" -#include "include/secp256k1_preallocated.h" +#include "secp256k1.h" -#include "assumptions.h" +#include "secp256k1_preallocated.h" #include "util.h" -#include "field_impl.h" #include "scalar_impl.h" #include "group_impl.h" #include "ecmult_impl.h" -#include "ecmult_const_impl.h" #include "ecmult_gen_impl.h" #include "ecdsa_impl.h" #include "eckey_impl.h" #include "hash_impl.h" #include "scratch_impl.h" #include "selftest.h" +#include "ecmult.h" +#include "ecmult_gen.h" +#include "field_5x52.h" +#include "field_5x52_impl.h" +#include "group.h" +#include "hash.h" +#include "libsecp256k1-config.h" +#include "scalar_4x64.h" +#include "scalar_4x64_impl.h" + +#include +#include #if defined(VALGRIND) # include @@ -39,8 +48,8 @@ } while(0) #ifndef USE_EXTERNAL_DEFAULT_CALLBACKS -#include #include + static void secp256k1_default_illegal_callback_fn(const char* str, void* data) { (void)data; fprintf(stderr, "[libsecp256k1] illegal argument: %s\n", str); diff --git a/src/testrand_impl.h b/src/testrand_impl.h index e643778f36..b01541c0b2 100644 --- a/src/testrand_impl.h +++ b/src/testrand_impl.h @@ -7,12 +7,13 @@ #ifndef SECP256K1_TESTRAND_IMPL_H #define SECP256K1_TESTRAND_IMPL_H +#include "testrand.h" +#include "hash.h" + #include #include #include - -#include "testrand.h" -#include "hash.h" +#include static secp256k1_rfc6979_hmac_sha256 secp256k1_test_rng; static uint32_t secp256k1_test_rng_precomputed[8]; diff --git a/src/tests.c b/src/tests.c index a146394305..5bf109ccac 100644 --- a/src/tests.c +++ b/src/tests.c @@ -4,39 +4,61 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ + #if defined HAVE_CONFIG_H #include "libsecp256k1-config.h" #endif -#include -#include -#include - -#include - #include "secp256k1.c" -#include "include/secp256k1.h" -#include "include/secp256k1_preallocated.h" +#include "secp256k1.h" +#include "contrib/lax_der_parsing.c" +#include "contrib/lax_der_privatekey_parsing.c" +#include "ecdsa_impl.h" +#include "eckey_impl.h" +#include "ecmult_const_impl.h" +#include "ecmult_gen.h" +#include "ecmult_gen_impl.h" +#include "ecmult_impl.h" +#include "field_5x52.h" +#include "field_5x52_impl.h" +#include "field_impl.h" +#include "group.h" +#include "group_impl.h" +#include "hash.h" +#include "hash_impl.h" +#include "modinv32.h" +#include "modinv32_impl.h" +#include "modinv64.h" +#ifdef SECP256K1_WIDEMUL_INT128 +#include "modinv64_impl.h" +#endif +#include "scalar_4x64.h" +#include "scalar_4x64_impl.h" +#include "scalar_impl.h" +#include "scratch.h" +#include "scratch_impl.h" #include "testrand_impl.h" #include "util.h" + +#include +#include +#include +#include +#include + #ifdef ENABLE_OPENSSL_TESTS #include #include -#include #include +#include +#include + # if OPENSSL_VERSION_NUMBER < 0x10100000L void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) {*pr = sig->r; *ps = sig->s;} # endif #endif -#include "contrib/lax_der_parsing.c" -#include "contrib/lax_der_privatekey_parsing.c" - -#include "modinv32_impl.h" -#ifdef SECP256K1_WIDEMUL_INT128 -#include "modinv64_impl.h" -#endif static int count = 64; static secp256k1_context *ctx = NULL; diff --git a/src/tests_exhaustive.c b/src/tests_exhaustive.c index 2bb5381446..2ec0dffa5e 100644 --- a/src/tests_exhaustive.c +++ b/src/tests_exhaustive.c @@ -8,11 +8,6 @@ #include "libsecp256k1-config.h" #endif -#include -#include - -#include - #undef USE_ECMULT_STATIC_PRECOMPUTATION #ifndef EXHAUSTIVE_TEST_ORDER @@ -20,11 +15,29 @@ #define EXHAUSTIVE_TEST_ORDER 13 #endif -#include "include/secp256k1.h" -#include "assumptions.h" -#include "group.h" #include "secp256k1.c" +#include "secp256k1.h" +#include "ecmult_const_impl.h" +#include "ecmult_gen_impl.h" +#include "ecmult_impl.h" +#include "field_5x52.h" +#include "field_5x52_impl.h" +#include "field_impl.h" +#include "group.h" +#include "group_impl.h" +#include "scalar_impl.h" +#include "scalar_low.h" +#include "scalar_low_impl.h" +#include "scratch.h" +#include "scratch_impl.h" #include "testrand_impl.h" +#include "util.h" + +#include +#include +#include +#include + static int count = 2; From 70dd316df457ef003f6afbf65e0a8a7dd1cceff3 Mon Sep 17 00:00:00 2001 From: William Bright Date: Fri, 23 Apr 2021 15:20:13 -0400 Subject: [PATCH 03/17] added missing valgrind/valgrind.h include and removed assumptions.h unused header --- src/valgrind_ctime_test.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/valgrind_ctime_test.c b/src/valgrind_ctime_test.c index 44c15c5fcf..199bb76050 100644 --- a/src/valgrind_ctime_test.c +++ b/src/valgrind_ctime_test.c @@ -4,13 +4,13 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ -#include -#include - #include "secp256k1.h" -#include "assumptions.h" #include "util.h" +#include +#include +#include + #ifdef ENABLE_MODULE_ECDH # include "secp256k1_ecdh.h" #endif From 79c01aa9a8f325555e1d82f6de23de55b744ba76 Mon Sep 17 00:00:00 2001 From: William Bright Date: Fri, 23 Apr 2021 15:43:02 -0400 Subject: [PATCH 04/17] removed include of libsecp256-config header --- src/bench_verify.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/bench_verify.c b/src/bench_verify.c index 5b78a7c4b5..d0ca5eab8e 100644 --- a/src/bench_verify.c +++ b/src/bench_verify.c @@ -7,7 +7,6 @@ #include "secp256k1.h" #include "util.h" #include "bench.h" -#include "libsecp256k1-config.h" #include From c228fde405005f4a6b281dc87063eb99761546b0 Mon Sep 17 00:00:00 2001 From: William Bright Date: Fri, 23 Apr 2021 15:46:25 -0400 Subject: [PATCH 05/17] moved order of imports --- src/testrand_impl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/testrand_impl.h b/src/testrand_impl.h index b01541c0b2..8faa220779 100644 --- a/src/testrand_impl.h +++ b/src/testrand_impl.h @@ -7,14 +7,14 @@ #ifndef SECP256K1_TESTRAND_IMPL_H #define SECP256K1_TESTRAND_IMPL_H -#include "testrand.h" -#include "hash.h" - #include #include #include #include +#include "testrand.h" +#include "hash.h" + static secp256k1_rfc6979_hmac_sha256 secp256k1_test_rng; static uint32_t secp256k1_test_rng_precomputed[8]; static int secp256k1_test_rng_precomputed_used = 8; From bd8da4096ab68b3f5190ea52de2c8d479a655318 Mon Sep 17 00:00:00 2001 From: William Bright Date: Fri, 23 Apr 2021 15:50:07 -0400 Subject: [PATCH 06/17] moved order of imports back to somewhat original --- src/tests.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/tests.c b/src/tests.c index 5bf109ccac..e4a3e93d73 100644 --- a/src/tests.c +++ b/src/tests.c @@ -4,15 +4,18 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ - #if defined HAVE_CONFIG_H #include "libsecp256k1-config.h" #endif +#include +#include +#include +#include +#include + #include "secp256k1.c" #include "secp256k1.h" -#include "contrib/lax_der_parsing.c" -#include "contrib/lax_der_privatekey_parsing.c" #include "ecdsa_impl.h" #include "eckey_impl.h" #include "ecmult_const_impl.h" @@ -27,11 +30,7 @@ #include "hash.h" #include "hash_impl.h" #include "modinv32.h" -#include "modinv32_impl.h" #include "modinv64.h" -#ifdef SECP256K1_WIDEMUL_INT128 -#include "modinv64_impl.h" -#endif #include "scalar_4x64.h" #include "scalar_4x64_impl.h" #include "scalar_impl.h" @@ -41,12 +40,6 @@ #include "util.h" -#include -#include -#include -#include -#include - #ifdef ENABLE_OPENSSL_TESTS #include #include @@ -59,6 +52,13 @@ void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) # endif #endif +#include "contrib/lax_der_parsing.c" +#include "contrib/lax_der_privatekey_parsing.c" + +#include "modinv32_impl.h" +#ifdef SECP256K1_WIDEMUL_INT128 +#include "modinv64_impl.h" +#endif static int count = 64; static secp256k1_context *ctx = NULL; From 94372629aa0bb08308863ee8a9f5afc5772b9b56 Mon Sep 17 00:00:00 2001 From: William Bright Date: Fri, 23 Apr 2021 15:52:04 -0400 Subject: [PATCH 07/17] moved order of imports back to somewhat original --- src/tests_exhaustive.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/tests_exhaustive.c b/src/tests_exhaustive.c index 2ec0dffa5e..1d159f97bc 100644 --- a/src/tests_exhaustive.c +++ b/src/tests_exhaustive.c @@ -8,6 +8,11 @@ #include "libsecp256k1-config.h" #endif +#include +#include +#include +#include + #undef USE_ECMULT_STATIC_PRECOMPUTATION #ifndef EXHAUSTIVE_TEST_ORDER @@ -33,12 +38,6 @@ #include "testrand_impl.h" #include "util.h" -#include -#include -#include -#include - - static int count = 2; /** stolen from tests.c */ From a506177e9b82b7bf51afd2e6021a470842c9ec1f Mon Sep 17 00:00:00 2001 From: William Bright Date: Fri, 23 Apr 2021 16:14:11 -0400 Subject: [PATCH 08/17] moved order of imports back to somewhat original --- src/bench_internal.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/bench_internal.c b/src/bench_internal.c index 40245d2cd2..85db7838e6 100644 --- a/src/bench_internal.c +++ b/src/bench_internal.c @@ -4,25 +4,26 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ +#include +#include + #include "secp256k1.h" -#include "util.h" -#include "hash_impl.h" -#include "field_impl.h" +#include "group.h" #include "group_impl.h" -#include "scalar_impl.h" #include "ecmult_const_impl.h" #include "ecmult_impl.h" #include "bench.h" -#include "secp256k1.c" #include "field_5x52.h" #include "field_5x52_impl.h" -#include "group.h" +#include "field_impl.h" #include "hash.h" +#include "hash_impl.h" #include "scalar_4x64.h" #include "scalar_4x64_impl.h" +#include "scalar_impl.h" +#include "secp256k1.c" +#include "util.h" -#include -#include typedef struct { secp256k1_scalar scalar[2]; From f2df8ad3685ceae83540cdb1d3ac49c897a0c97b Mon Sep 17 00:00:00 2001 From: William Bright Date: Fri, 23 Apr 2021 16:15:28 -0400 Subject: [PATCH 09/17] moved order of imports back to somewhat original --- src/bench_schnorrsig.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bench_schnorrsig.c b/src/bench_schnorrsig.c index 584b1fbd38..e55bcd1023 100644 --- a/src/bench_schnorrsig.c +++ b/src/bench_schnorrsig.c @@ -4,15 +4,15 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ +#include +#include + #include "secp256k1.h" #include "secp256k1_schnorrsig.h" #include "util.h" #include "bench.h" #include "secp256k1_extrakeys.h" -#include -#include - typedef struct { secp256k1_context *ctx; int n; From a2ab1ee6e8884792d66359341d770b1eae003eea Mon Sep 17 00:00:00 2001 From: William Bright Date: Sat, 24 Apr 2021 15:38:56 -0400 Subject: [PATCH 10/17] moved order of imports back to somewhat original --- src/secp256k1.c | 8 +++++--- src/valgrind_ctime_test.c | 6 +++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/secp256k1.c b/src/secp256k1.c index 7fa2ea0f07..99203687ec 100644 --- a/src/secp256k1.c +++ b/src/secp256k1.c @@ -4,9 +4,13 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ -#include "secp256k1.h" +#include +#include +#include "secp256k1.h" #include "secp256k1_preallocated.h" + +#include "assumptions.h" #include "util.h" #include "scalar_impl.h" #include "group_impl.h" @@ -27,8 +31,6 @@ #include "scalar_4x64.h" #include "scalar_4x64_impl.h" -#include -#include #if defined(VALGRIND) # include diff --git a/src/valgrind_ctime_test.c b/src/valgrind_ctime_test.c index 199bb76050..1ce0044c82 100644 --- a/src/valgrind_ctime_test.c +++ b/src/valgrind_ctime_test.c @@ -4,13 +4,13 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ -#include "secp256k1.h" -#include "util.h" - #include #include #include +#include "secp256k1.h" +#include "util.h" + #ifdef ENABLE_MODULE_ECDH # include "secp256k1_ecdh.h" #endif From e21b43436c46c9ed942e5530bbb560bacda50362 Mon Sep 17 00:00:00 2001 From: William Bright Date: Sat, 24 Apr 2021 15:40:25 -0400 Subject: [PATCH 11/17] moved order of imports back to somewhat original --- src/bench_sign.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bench_sign.c b/src/bench_sign.c index b3cffc4770..587432049f 100644 --- a/src/bench_sign.c +++ b/src/bench_sign.c @@ -4,12 +4,12 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ +#include + #include "secp256k1.h" #include "util.h" #include "bench.h" -#include - typedef struct { secp256k1_context* ctx; unsigned char msg[32]; From 4bcf3393777a895c6d433fa310563d1976d9a53e Mon Sep 17 00:00:00 2001 From: William Bright Date: Sat, 24 Apr 2021 15:53:19 -0400 Subject: [PATCH 12/17] added back assumptions.h inclusion --- src/bench_internal.c | 2 ++ src/tests_exhaustive.c | 1 + src/valgrind_ctime_test.c | 1 + 3 files changed, 4 insertions(+) diff --git a/src/bench_internal.c b/src/bench_internal.c index 85db7838e6..117dfded24 100644 --- a/src/bench_internal.c +++ b/src/bench_internal.c @@ -8,6 +8,8 @@ #include #include "secp256k1.h" + +#include "assumptions.h" #include "group.h" #include "group_impl.h" #include "ecmult_const_impl.h" diff --git a/src/tests_exhaustive.c b/src/tests_exhaustive.c index 1d159f97bc..ccce6e021d 100644 --- a/src/tests_exhaustive.c +++ b/src/tests_exhaustive.c @@ -22,6 +22,7 @@ #include "secp256k1.c" #include "secp256k1.h" +#include "assumptions.h" #include "ecmult_const_impl.h" #include "ecmult_gen_impl.h" #include "ecmult_impl.h" diff --git a/src/valgrind_ctime_test.c b/src/valgrind_ctime_test.c index 1ce0044c82..2a4a4fc9c9 100644 --- a/src/valgrind_ctime_test.c +++ b/src/valgrind_ctime_test.c @@ -9,6 +9,7 @@ #include #include "secp256k1.h" +#include "assumptions.h" #include "util.h" #ifdef ENABLE_MODULE_ECDH From fae3e21e17fb35f290f1a55ce06ddff33e243236 Mon Sep 17 00:00:00 2001 From: William Bright Date: Sat, 24 Apr 2021 16:14:40 -0400 Subject: [PATCH 13/17] cleaned up the includes, mostly back to the original state --- src/secp256k1.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/secp256k1.c b/src/secp256k1.c index 99203687ec..8417254c22 100644 --- a/src/secp256k1.c +++ b/src/secp256k1.c @@ -12,6 +12,7 @@ #include "assumptions.h" #include "util.h" +#include "field_impl.h" #include "scalar_impl.h" #include "group_impl.h" #include "ecmult_impl.h" @@ -21,15 +22,6 @@ #include "hash_impl.h" #include "scratch_impl.h" #include "selftest.h" -#include "ecmult.h" -#include "ecmult_gen.h" -#include "field_5x52.h" -#include "field_5x52_impl.h" -#include "group.h" -#include "hash.h" -#include "libsecp256k1-config.h" -#include "scalar_4x64.h" -#include "scalar_4x64_impl.h" #if defined(VALGRIND) From 3a6a1a2877efd97a048d7830cc3c58df3b8019c6 Mon Sep 17 00:00:00 2001 From: William Bright Date: Sat, 24 Apr 2021 16:15:09 -0400 Subject: [PATCH 14/17] removed whitespace --- src/secp256k1.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/secp256k1.c b/src/secp256k1.c index 8417254c22..0d5d4c9929 100644 --- a/src/secp256k1.c +++ b/src/secp256k1.c @@ -23,7 +23,6 @@ #include "scratch_impl.h" #include "selftest.h" - #if defined(VALGRIND) # include #endif From 0afe52cc50955c21b4a06c3703c9075dcd39d9e4 Mon Sep 17 00:00:00 2001 From: William Bright Date: Sat, 24 Apr 2021 16:31:35 -0400 Subject: [PATCH 15/17] removed scalar_* specific and added scalar_impl.h --- src/bench_ecmult.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/bench_ecmult.c b/src/bench_ecmult.c index bf0ead2b62..b278a039a5 100644 --- a/src/bench_ecmult.c +++ b/src/bench_ecmult.c @@ -4,21 +4,22 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ +#include +#include +#include + #include "secp256k1.h" + #include "util.h" #include "hash_impl.h" #include "group_impl.h" #include "ecmult_impl.h" +#include "scalar_impl.h" #include "bench.h" #include "secp256k1.c" #include "group.h" #include "hash.h" -#include "scalar_4x64.h" -#include "scalar_4x64_impl.h" -#include -#include -#include #define POINTS 32768 From 9c810e8de93ad0e8257690d5c122623cda1155aa Mon Sep 17 00:00:00 2001 From: William Bright Date: Sat, 24 Apr 2021 16:34:56 -0400 Subject: [PATCH 16/17] restored back basic 'header_impl' includes' --- src/bench_internal.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/bench_internal.c b/src/bench_internal.c index 117dfded24..c2f413ab4e 100644 --- a/src/bench_internal.c +++ b/src/bench_internal.c @@ -3,25 +3,20 @@ * Distributed under the MIT software license, see the accompanying * * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ - #include #include #include "secp256k1.h" #include "assumptions.h" +#include "bench.h" #include "group.h" #include "group_impl.h" #include "ecmult_const_impl.h" #include "ecmult_impl.h" -#include "bench.h" -#include "field_5x52.h" -#include "field_5x52_impl.h" #include "field_impl.h" #include "hash.h" #include "hash_impl.h" -#include "scalar_4x64.h" -#include "scalar_4x64_impl.h" #include "scalar_impl.h" #include "secp256k1.c" #include "util.h" From b9b02ae96bdb8e16f19b8f3cdba08d310e0761bd Mon Sep 17 00:00:00 2001 From: William Bright Date: Sat, 24 Apr 2021 16:43:20 -0400 Subject: [PATCH 17/17] mostly restored include statements as they were if they were of the '_impl.h' type --- src/bench_schnorrsig.c | 4 ++-- src/bench_verify.c | 4 ++-- src/tests.c | 7 +------ src/tests_exhaustive.c | 2 -- 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/bench_schnorrsig.c b/src/bench_schnorrsig.c index e55bcd1023..1df88a5b31 100644 --- a/src/bench_schnorrsig.c +++ b/src/bench_schnorrsig.c @@ -9,9 +9,9 @@ #include "secp256k1.h" #include "secp256k1_schnorrsig.h" -#include "util.h" -#include "bench.h" #include "secp256k1_extrakeys.h" +#include "bench.h" +#include "util.h" typedef struct { secp256k1_context *ctx; diff --git a/src/bench_verify.c b/src/bench_verify.c index d0ca5eab8e..9da761ab6e 100644 --- a/src/bench_verify.c +++ b/src/bench_verify.c @@ -4,12 +4,12 @@ * file COPYING or https://www.opensource.org/licenses/mit-license.php.* ***********************************************************************/ +#include + #include "secp256k1.h" #include "util.h" #include "bench.h" -#include - #ifdef ENABLE_OPENSSL_TESTS #include #include diff --git a/src/tests.c b/src/tests.c index e4a3e93d73..8cb55f2aa9 100644 --- a/src/tests.c +++ b/src/tests.c @@ -22,17 +22,12 @@ #include "ecmult_gen.h" #include "ecmult_gen_impl.h" #include "ecmult_impl.h" -#include "field_5x52.h" -#include "field_5x52_impl.h" #include "field_impl.h" #include "group.h" #include "group_impl.h" #include "hash.h" #include "hash_impl.h" -#include "modinv32.h" -#include "modinv64.h" -#include "scalar_4x64.h" -#include "scalar_4x64_impl.h" + #include "scalar_impl.h" #include "scratch.h" #include "scratch_impl.h" diff --git a/src/tests_exhaustive.c b/src/tests_exhaustive.c index ccce6e021d..f42121af40 100644 --- a/src/tests_exhaustive.c +++ b/src/tests_exhaustive.c @@ -26,8 +26,6 @@ #include "ecmult_const_impl.h" #include "ecmult_gen_impl.h" #include "ecmult_impl.h" -#include "field_5x52.h" -#include "field_5x52_impl.h" #include "field_impl.h" #include "group.h" #include "group_impl.h"