[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:

    0 bench_verify_LDADD = libsecp256k1.la $(SECP_LIBS) $(SECP_TEST_LIBS) $(COMMON_LIB)
    1-# SECP_TEST_INCLUDES are only used here for CRYPTO_CPPFLAGS
    2-bench_verify_CPPFLAGS = $(SECP_TEST_INCLUDES)
    3 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. real-or-random cross-referenced this on Oct 17, 2021 from issue Remove OpenSSL benchmarks? by real-or-random
  20. real-or-random cross-referenced this on Oct 17, 2021 from issue cross-testing by real-or-random
  21. fanquake referenced this in commit 8f5cd5e893 on Oct 20, 2021
  22. fanquake cross-referenced this on Oct 20, 2021 from issue build: explicitly disable libsecp256k1 openssl based tests by fanquake
  23. fanquake referenced this in commit 1483a9c579 on Oct 20, 2021
  24. fanquake referenced this in commit d7524546ab on Oct 20, 2021
  25. laanwj referenced this in commit d807aceeab on Oct 20, 2021
  26. fanquake referenced this in commit e959b46aa9 on Oct 20, 2021
  27. fanquake cross-referenced this on Oct 20, 2021 from issue [22.x] build: explicitly disable libsecp256k1 openssl based tests by fanquake
  28. MarcoFalke referenced this in commit 56156a1f08 on Oct 21, 2021
  29. sipa referenced this in commit f727914d7e on Oct 28, 2021
  30. sipa cross-referenced this on Oct 28, 2021 from issue Update libsecp256k1 subtree to current master by sipa
  31. sipa referenced this in commit 440f7ec80e on Oct 31, 2021
  32. janus referenced this in commit f383fc22da on Nov 11, 2021
  33. fanquake cross-referenced this on Nov 23, 2021 from issue Warning when linking libsecp256k1 exhaustive tests after building with depends by fanquake
  34. sipa referenced this in commit d057eae556 on Dec 2, 2021
  35. fanquake referenced this in commit c4a1e09a8c on Dec 3, 2021
  36. luke-jr referenced this in commit 14eac26e30 on Dec 14, 2021
  37. sipa referenced this in commit 86dbc4d075 on Dec 15, 2021
  38. fanquake referenced this in commit c06cda3e48 on Dec 18, 2021
  39. jonasnick cross-referenced this on Jan 2, 2022 from issue Sync Upstream by jonasnick
  40. real-or-random referenced this in commit 21e2d65b79 on Jan 5, 2022
  41. 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
  42. Fabcien referenced this in commit 7eb2414964 on Mar 6, 2022
  43. deadalnix referenced this in commit 1fa01fe613 on Mar 7, 2022
  44. real-or-random cross-referenced this on Apr 6, 2022 from issue OpenSSL 3 will deprecate some of the functions we use in tests by rex4539
  45. gwillen referenced this in commit 35d6112a72 on May 25, 2022
  46. janus referenced this in commit 879a9a27b9 on Jul 10, 2022
  47. patricklodder referenced this in commit 21badcf9d2 on Jul 25, 2022
  48. knst referenced this in commit 6f1d324aa0 on Jul 27, 2022
  49. knst cross-referenced this on Jul 27, 2022 from issue Merge bitcoin#23315: [22.x] build: explicitly disable libsecp256k1... by knst
  50. UdjinM6 referenced this in commit a6e9e50845 on Jul 27, 2022
  51. patricklodder referenced this in commit 03002a9013 on Jul 28, 2022
  52. xanimo referenced this in commit a636402a49 on Sep 24, 2022
  53. daira cross-referenced this on Sep 26, 2022 from issue secp256k1 test failure on machines with OpenSSL 3.0.x installed by daira
  54. str4d referenced this in commit 69ebc1fe34 on Sep 27, 2022
  55. patricklodder cross-referenced this on Oct 9, 2022 from issue qa: python implementation for ripemd160 by patricklodder
  56. xanimo referenced this in commit bc57cdce64 on Oct 10, 2022
  57. xanimo referenced this in commit cc75e8d137 on Oct 10, 2022
  58. ftrader referenced this in commit 27f97a8a82 on Nov 30, 2022
  59. backpacker69 referenced this in commit 77186f4a04 on Jan 18, 2023
  60. hebasto referenced this in commit 613626f94c on Jan 19, 2023
  61. hebasto cross-referenced this on Jan 19, 2023 from issue Drop no longer used variables from the build system by hebasto
  62. sipa referenced this in commit ad7433b140 on Jan 19, 2023
  63. JaredTate cross-referenced this on Mar 8, 2023 from issue Fixed remaining Functional tests for 8.22 by SmartArray
  64. str4d referenced this in commit 6de4698bf9 on Apr 21, 2023
  65. tecnovert referenced this in commit 2b4fff6a1a on Apr 25, 2023
  66. dderjoel referenced this in commit 9465b03a17 on May 23, 2023
  67. vmta referenced this in commit e1120c94a1 on Jun 4, 2023
  68. vmta referenced this in commit 8f03457eed on Jul 1, 2023

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: 2024-12-23 01:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me