p5-Crypt-OpenSSL-ECDSA: prepare for upcoming libcrypto bump

ECDSA_METHOD will soon be removed, so don't enable it for libressl. Route
ECDSA_do_sign_ex() through ECDSA_do_sign().  The former is useless since
ECDSA_sign_setup() is not exposed by the bindings.
This commit is contained in:
tb
2023-07-14 09:37:05 +00:00
parent 035faa53c3
commit dc2e15f95a
2 changed files with 12 additions and 26 deletions
+1
View File
@@ -1,6 +1,7 @@
COMMENT = ECDSA encoding and decoding using OpenSSL
DISTNAME = Crypt-OpenSSL-ECDSA-0.10
REVISION = 0
CATEGORIES = security
@@ -1,30 +1,15 @@
Make ECDSA_do_sign_ex() (which is pointless without ECDSA_sign_setup())
fall back to ECDSA_do_sign().
Index: ECDSA.xs
--- ECDSA.xs.orig
+++ ECDSA.xs
@@ -97,7 +97,7 @@ ECDSA_do_verify(const unsigned char *dgst, const ECDSA
int
ECDSA_size(const EC_KEY *eckey)
@@ -75,7 +75,7 @@ ECDSA_do_sign_ex(const unsigned char *dgst, const BIGN
STRLEN dgst_len;
CODE:
dgst = (const unsigned char *)SvPV(ST(0), dgst_len);
- RETVAL = ECDSA_do_sign_ex(dgst, dgst_len, kinv, rp, eckey);
+ RETVAL = ECDSA_do_sign(dgst, dgst_len, eckey);
OUTPUT:
RETVAL
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
const ECDSA_METHOD *
ECDSA_OpenSSL()
@@ -111,6 +111,8 @@ ECDSA_get_default_method()
int
ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth)
+#ifdef ECDSA_F_ECDSA_METHOD_NEW
+
ECDSA_METHOD *
ECDSA_METHOD_new(ECDSA_METHOD *ecdsa_method=0)
@@ -122,6 +124,8 @@ ECDSA_METHOD_set_flags(ECDSA_METHOD *ecdsa_method, int
void
ECDSA_METHOD_set_name(ECDSA_METHOD *ecdsa_method, char *name)
+
+#endif
void
ERR_load_ECDSA_strings()