From dcfdc2449bac4dbb9e9230d6363b7e3ad4f88833 Mon Sep 17 00:00:00 2001 From: Miro Hrončok Date: Oct 25 2022 11:11:03 +0000 Subject: Fix build with hypothesis 6.56.3 Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2137441 --- diff --git a/308.patch b/308.patch new file mode 100644 index 0000000..4f1f3fc --- /dev/null +++ b/308.patch @@ -0,0 +1,117 @@ +From 87a1596b93f45f5b2ee484ca12a075365e67815a Mon Sep 17 00:00:00 2001 +From: Hubert Kario +Date: Mon, 24 Oct 2022 20:27:50 +0200 +Subject: [PATCH] tighter bounds for hypothesis parameters + +--- + src/ecdsa/test_ecdsa.py | 4 ++-- + src/ecdsa/test_ellipticcurve.py | 2 +- + src/ecdsa/test_jacobi.py | 20 ++++++++++---------- + 3 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/src/ecdsa/test_ecdsa.py b/src/ecdsa/test_ecdsa.py +index dbc4a6eb..2af527b6 100644 +--- a/src/ecdsa/test_ecdsa.py ++++ b/src/ecdsa/test_ecdsa.py +@@ -622,12 +622,12 @@ def st_random_gen_key_msg_nonce(draw): + name = draw(st.sampled_from(sorted(name_gen.keys()))) + note("Generator used: {0}".format(name)) + generator = name_gen[name] +- order = int(generator.order()) ++ order = int(generator.order()) - 1 + + key = draw(st.integers(min_value=1, max_value=order)) + msg = draw(st.integers(min_value=1, max_value=order)) + nonce = draw( +- st.integers(min_value=1, max_value=order + 1) ++ st.integers(min_value=1, max_value=order) + | st.integers(min_value=order >> 1, max_value=order) + ) + return generator, key, msg, nonce +diff --git a/src/ecdsa/test_ellipticcurve.py b/src/ecdsa/test_ellipticcurve.py +index 85faef4d..f46fd9ea 100644 +--- a/src/ecdsa/test_ellipticcurve.py ++++ b/src/ecdsa/test_ellipticcurve.py +@@ -44,7 +44,7 @@ + + + @settings(**HYP_SLOW_SETTINGS) +-@given(st.integers(min_value=1, max_value=r + 1)) ++@given(st.integers(min_value=1, max_value=r - 1)) + def test_p192_mult_tests(multiple): + inv_m = inverse_mod(multiple, r) + +diff --git a/src/ecdsa/test_jacobi.py b/src/ecdsa/test_jacobi.py +index 1f528048..71fb33e5 100644 +--- a/src/ecdsa/test_jacobi.py ++++ b/src/ecdsa/test_jacobi.py +@@ -202,7 +202,7 @@ def test_compare_double_with_multiply(self): + @settings(max_examples=10) + @given( + st.integers( +- min_value=0, max_value=int(generator_brainpoolp160r1.order()) ++ min_value=0, max_value=int(generator_brainpoolp160r1.order() - 1) + ) + ) + def test_multiplications(self, mul): +@@ -217,7 +217,7 @@ def test_multiplications(self, mul): + @settings(max_examples=10) + @given( + st.integers( +- min_value=0, max_value=int(generator_brainpoolp160r1.order()) ++ min_value=0, max_value=int(generator_brainpoolp160r1.order() - 1) + ) + ) + @example(0) +@@ -235,10 +235,10 @@ def test_precompute(self, mul): + @settings(max_examples=10) + @given( + st.integers( +- min_value=1, max_value=int(generator_brainpoolp160r1.order()) ++ min_value=1, max_value=int(generator_brainpoolp160r1.order() - 1) + ), + st.integers( +- min_value=1, max_value=int(generator_brainpoolp160r1.order()) ++ min_value=1, max_value=int(generator_brainpoolp160r1.order() - 1) + ), + ) + @example(3, 3) +@@ -254,10 +254,10 @@ def test_add_scaled_points(self, a_mul, b_mul): + @settings(max_examples=10) + @given( + st.integers( +- min_value=1, max_value=int(generator_brainpoolp160r1.order()) ++ min_value=1, max_value=int(generator_brainpoolp160r1.order() - 1) + ), + st.integers( +- min_value=1, max_value=int(generator_brainpoolp160r1.order()) ++ min_value=1, max_value=int(generator_brainpoolp160r1.order() - 1) + ), + st.integers(min_value=1, max_value=int(curve_brainpoolp160r1.p() - 1)), + ) +@@ -286,10 +286,10 @@ def test_add_one_scaled_point(self, a_mul, b_mul, new_z): + @settings(max_examples=10) + @given( + st.integers( +- min_value=1, max_value=int(generator_brainpoolp160r1.order()) ++ min_value=1, max_value=int(generator_brainpoolp160r1.order() - 1) + ), + st.integers( +- min_value=1, max_value=int(generator_brainpoolp160r1.order()) ++ min_value=1, max_value=int(generator_brainpoolp160r1.order() - 1) + ), + st.integers(min_value=1, max_value=int(curve_brainpoolp160r1.p() - 1)), + ) +@@ -351,10 +351,10 @@ def test_add_same_scale_points_static(self): + @settings(max_examples=14) + @given( + st.integers( +- min_value=1, max_value=int(generator_brainpoolp160r1.order()) ++ min_value=1, max_value=int(generator_brainpoolp160r1.order() - 1) + ), + st.integers( +- min_value=1, max_value=int(generator_brainpoolp160r1.order()) ++ min_value=1, max_value=int(generator_brainpoolp160r1.order() - 1) + ), + st.lists( + st.integers( diff --git a/python-ecdsa.spec b/python-ecdsa.spec index d486f67..bc2ff07 100644 --- a/python-ecdsa.spec +++ b/python-ecdsa.spec @@ -2,13 +2,18 @@ Name: python-%{srcname} Version: 0.18.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: ECDSA cryptographic signature library License: MIT URL: https://pypi.python.org/pypi/ecdsa Source0: %{pypi_source ecdsa} +# tighter bounds for hypothesis parameters +# fixes https://bugzilla.redhat.com/2137441 +# merged upstream +Patch: https://github.com/tlsfuzzer/python-ecdsa/pull/308.patch + BuildArch: noarch BuildRequires: python3-devel @@ -42,7 +47,7 @@ into other protocols. %prep -%setup -q -n %{srcname}-%{version} +%autosetup -p1 -n %{srcname}-%{version} # Remove extraneous #! find src/ecdsa -name \*.py | xargs sed -ie '/\/usr\/bin\/env/d' @@ -84,6 +89,10 @@ and not test_to_openssl_secp256k1" %changelog +* Tue Oct 25 2022 Miro Hrončok - 0.18.0-2 +- In the tests, tighter the bounds for hypothesis parameters +- Fixes: rhbz#2137441 + * Fri Aug 26 2022 Jonathan Wright - 0.18.0-1 - update to 0.18.0 - rhbz#1873173