[RFC] Remove OpenSSL testing support #983

pull sipa wants to merge 1 commits into bitcoin-core:master from sipa:202109_no_openssl changing 6 files +0 −275
  1. sipa commented at 8:45 PM on September 28, 2021: contributor

    This removes the ability to test against OpenSSL, as well as the OpenSSL verification benchmark.

    The motivation is that OpenSSL 3 is deprecating part of the API used here (see #869), and I'm not sure it's worth maintaining. We do lose the fact that this is the only test that verifies randomly-generated cases against an independent implementation. On the other hand, there are tons of existing fixed tests now that test all kinds of edge cases already.

  2. real-or-random commented at 11:32 PM on September 28, 2021: contributor

    Hm yeah, this has a history. I'd probably be fine with removing this but when we last wanted to get rid of the OpenSSL tests (https://github.com/bitcoin-core/secp256k1/pull/635), the conclusion was that we rather want to replace it by some other implementation (https://github.com/bitcoin-core/secp256k1/issues/691). @elichai has two old PRs with different implementations (https://github.com/bitcoin-core/secp256k1/pull/738 and #641). Now there's also https://github.com/LLFourn/secp256kfun by @LLFourn, which would be another good option (but needs Rust).

    I also suggested removing the benchmarks in #736. This issue didn't get a lot of feedback but I assume removing the benchmark is not controversial.

  3. real-or-random changes_requested
  4. real-or-random commented at 7:58 AM on October 1, 2021: contributor

    Concept ACK

    Now with #984, the tests even fail. This means that not only the API of OpenSSL has changed v3 but also the behavior. This makes the tests unsuitable for us.

    This PR should also remove this change to Makefile.am https://github.com/bitcoin-core/secp256k1/pull/735/files#diff-0462e381b2fb3286568215681c8983490a37ac9ae0f0c5ee304df7fa6426d4af

  5. fanquake commented at 2:15 AM on October 4, 2021: member

    Concept ACK

  6. jonasnick commented at 9:04 PM on October 4, 2021: contributor

    I agree that cross-testing is useful. I don't see such a problem with adapting the code calling into a library after a major release. But fine with me to remove it for now. Since the alternatives for cross-testing have tradeoffs as well, the easiest solution may be to reintroduce openssl 3 at some point. Perhaps once it is more popular. I don't have easy access to v3 right now to play with it.

    Another quick fix would be to check that OPENSSL_VERSION_NUMBER in the AC_COMPILE_IFELSE statement of SECP_OPENSSL_CHECK is less than 3.

    The commit lgtm.

  7. elichai commented at 3:07 PM on October 14, 2021: contributor

    Concept ACK, I agree there's no need to wait for a replacement for cross testing to get in before we remove OpenSSL from the tests and benchmarks (But maybe it's a good time to re-inatiate this discussion in the dedicated issue)

  8. Remove OpenSSL testing support bc08599e77
  9. sipa force-pushed on Oct 14, 2021
  10. sipa commented at 4:40 PM on October 14, 2021: contributor

    @real-or-random Added this:

     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 = $(SECP_TEST_INCLUDES)
     bench_sign_SOURCES = src/bench_sign.c
    
  11. luke-jr commented at 5:10 PM on October 14, 2021: member

    Could just restrict it to the older version of OpenSSL?

  12. real-or-random commented at 9:44 PM on October 14, 2021: contributor

    Could just restrict it to the older version of OpenSSL?

    Yeah, we could. My thinking is that maintaining them wouldn't help too much. The cross tests helped a lot when the library was young but now it's unclear how much we gain from them. It's probably better to replace them by another independently written library.

  13. real-or-random approved
  14. real-or-random commented at 9:45 PM on October 14, 2021: contributor

    ACK bc08599e776aff33c834ef829843ec5f629d1f39

  15. jonasnick commented at 11:05 AM on October 15, 2021: contributor

    ACK bc08599e776aff33c834ef829843ec5f629d1f39

  16. elichai commented at 12:36 PM on October 15, 2021: contributor

    tACK bc08599

  17. real-or-random merged this on Oct 16, 2021
  18. real-or-random closed this on Oct 16, 2021

  19. fanquake referenced this in commit 8f5cd5e893 on Oct 20, 2021
  20. fanquake referenced this in commit 1483a9c579 on Oct 20, 2021
  21. fanquake referenced this in commit d7524546ab on Oct 20, 2021
  22. laanwj referenced this in commit d807aceeab on Oct 20, 2021
  23. fanquake referenced this in commit e959b46aa9 on Oct 20, 2021
  24. maflcko referenced this in commit 56156a1f08 on Oct 21, 2021
  25. sipa referenced this in commit f727914d7e on Oct 28, 2021
  26. sipa referenced this in commit 440f7ec80e on Oct 31, 2021
  27. janus referenced this in commit f383fc22da on Nov 11, 2021
  28. sipa referenced this in commit d057eae556 on Dec 2, 2021
  29. fanquake referenced this in commit c4a1e09a8c on Dec 3, 2021
  30. luke-jr referenced this in commit 14eac26e30 on Dec 14, 2021
  31. sipa referenced this in commit 86dbc4d075 on Dec 15, 2021
  32. fanquake referenced this in commit c06cda3e48 on Dec 18, 2021
  33. real-or-random referenced this in commit 21e2d65b79 on Jan 5, 2022
  34. Trinacristella commented at 8:03 PM on March 5, 2022: none

    I'm new to a bunch of this but I know I can succeed

  35. Fabcien referenced this in commit 7eb2414964 on Mar 6, 2022
  36. deadalnix referenced this in commit 1fa01fe613 on Mar 7, 2022
  37. gwillen referenced this in commit 35d6112a72 on May 25, 2022
  38. janus referenced this in commit 879a9a27b9 on Jul 10, 2022
  39. patricklodder referenced this in commit 21badcf9d2 on Jul 25, 2022
  40. knst referenced this in commit 6f1d324aa0 on Jul 27, 2022
  41. UdjinM6 referenced this in commit a6e9e50845 on Jul 27, 2022
  42. patricklodder referenced this in commit 03002a9013 on Jul 28, 2022
  43. xanimo referenced this in commit a636402a49 on Sep 24, 2022
  44. str4d referenced this in commit 69ebc1fe34 on Sep 27, 2022
  45. xanimo referenced this in commit bc57cdce64 on Oct 10, 2022
  46. xanimo referenced this in commit cc75e8d137 on Oct 10, 2022
  47. ftrader referenced this in commit 27f97a8a82 on Nov 30, 2022
  48. backpacker69 referenced this in commit 77186f4a04 on Jan 18, 2023
  49. hebasto referenced this in commit 613626f94c on Jan 19, 2023
  50. sipa referenced this in commit ad7433b140 on Jan 19, 2023
  51. str4d referenced this in commit 6de4698bf9 on Apr 21, 2023
  52. tecnovert referenced this in commit 2b4fff6a1a on Apr 25, 2023
  53. dderjoel referenced this in commit 9465b03a17 on May 23, 2023
  54. vmta referenced this in commit e1120c94a1 on Jun 4, 2023
  55. vmta referenced this in commit 8f03457eed on Jul 1, 2023
  56. reddink referenced this in commit 303e3191fe on Dec 20, 2023
  57. losh11 referenced this in commit 7e3c1f516f on Mar 6, 2024
  58. losh11 referenced this in commit 98c0062f80 on Mar 6, 2024
  59. digirayc referenced this in commit d1a1602e1f on Apr 1, 2024
  60. knst referenced this in commit d5ea6ffcbb on Feb 13, 2025
  61. knst referenced this in commit 22b07d86dd on Feb 14, 2025
  62. knst referenced this in commit de06785d8a on Feb 14, 2025
  63. knst referenced this in commit 641ee339c7 on Feb 24, 2025
  64. knst referenced this in commit 135d6507c7 on Feb 24, 2025
  65. bcraypo referenced this in commit 6c1b1c829c on Feb 25, 2026
  66. Fabcien referenced this in commit 3a79decf7c on Apr 8, 2026
  67. Fabcien referenced this in commit ee7631af6c on Apr 8, 2026

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/secp256k1. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-19 06:52 UTC