From 4d37ac49d42fea37422a98a2504354afaedf79fc Mon Sep 17 00:00:00 2001 From: cherry530 Date: Thu, 2 Feb 2023 14:47:51 +0800 Subject: [PATCH] fix a compilation error caused by upgrade openssl Signed-off-by: cherry530 --- Crypt-OpenSSL-RSA-0.32-Fix-for-issue-31.patch | 53 +++++++++++++++++++ perl-Crypt-OpenSSL-RSA.spec | 8 ++- 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 Crypt-OpenSSL-RSA-0.32-Fix-for-issue-31.patch diff --git a/Crypt-OpenSSL-RSA-0.32-Fix-for-issue-31.patch b/Crypt-OpenSSL-RSA-0.32-Fix-for-issue-31.patch new file mode 100644 index 0000000..048c67c --- /dev/null +++ b/Crypt-OpenSSL-RSA-0.32-Fix-for-issue-31.patch @@ -0,0 +1,53 @@ +From 32b250eab5e7847d3186ed1a61146dd01eb8f3c0 Mon Sep 17 00:00:00 2001 +From: kambe-mikb <77083885+kambe-mikb@users.noreply.github.com> +Date: Tue, 28 Sep 2021 17:40:18 +1000 +Subject: [PATCH] Fix for Issue 31 + +Fix Issue 31 by removing reference to RSA_SSLV23_PADDING (removed from OpenSSL starting from v3.0.0) +--- + RSA.pm | 3 ++- + RSA.xs | 4 ++++ + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/RSA.pm b/RSA.pm +index 3e74925..afd27fd 100644 +--- a/RSA.pm ++++ b/RSA.pm +@@ -37,7 +37,6 @@ Crypt::OpenSSL::RSA - RSA encoding and decoding, using the openSSL libraries + Crypt::OpenSSL::Random::random_seed($good_entropy); + Crypt::OpenSSL::RSA->import_random_seed(); + $rsa_pub = Crypt::OpenSSL::RSA->new_public_key($key_string); +- $rsa_pub->use_sslv23_padding(); # use_pkcs1_oaep_padding is the default + $ciphertext = $rsa->encrypt($plaintext); + + $rsa_priv = Crypt::OpenSSL::RSA->new_private_key($key_string); +@@ -228,6 +227,8 @@ C. + Use C padding with an SSL-specific modification that + denotes that the server is SSL3 capable. + ++Not available since OpenSSL 3. ++ + =item use_md5_hash + + Use the RFC 1321 MD5 hashing algorithm by Ron Rivest when signing and +diff --git a/RSA.xs b/RSA.xs +index 46cb199..4f65dfc 100644 +--- a/RSA.xs ++++ b/RSA.xs +@@ -640,12 +640,16 @@ use_pkcs1_oaep_padding(p_rsa) + CODE: + p_rsa->padding = RSA_PKCS1_OAEP_PADDING; + ++#if OPENSSL_VERSION_NUMBER < 0x30000000L ++ + void + use_sslv23_padding(p_rsa) + rsaData* p_rsa; + CODE: + p_rsa->padding = RSA_SSLV23_PADDING; + ++#endif ++ + # Sign text. Returns the signature. + + SV* diff --git a/perl-Crypt-OpenSSL-RSA.spec b/perl-Crypt-OpenSSL-RSA.spec index 8922f8f..aab0815 100644 --- a/perl-Crypt-OpenSSL-RSA.spec +++ b/perl-Crypt-OpenSSL-RSA.spec @@ -1,10 +1,13 @@ Name: perl-Crypt-OpenSSL-RSA Version: 0.32 -Release: 1 +Release: 2 Summary: Perl interface to OpenSSL for RSA License: GPL+ or Artistic URL: https://metacpan.org/release/Crypt-OpenSSL-RSA Source0: https://cpan.metacpan.org/authors/id/T/TO/TODDR/Crypt-OpenSSL-RSA-%{version}.tar.gz + +Patch0: Crypt-OpenSSL-RSA-0.32-Fix-for-issue-31.patch + BuildRequires: gcc findutils make openssl openssl-devel perl-devel perl-generators perl-interpreter BuildRequires: perl(:VERSION) >= 5.6 perl(Crypt::OpenSSL::Guess) >= 0.11 BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 perl(strict) perl(warnings) perl(Carp) @@ -48,6 +51,9 @@ make test %doc Changes README %changelog +* Thu Feb 02 2023 xu_ping - 0.32-2 +- Fix a build error caused by upgrade openssl + * Tue Jan 18 2022 SimpleUpdate Robot - 0.32-1 - Upgrade to version 0.32 -- Gitee