@@ -26,6 +26,7 @@ PTESTS_FAST_META_PERL = "\
libmime-types-perl \
libmozilla-ca-perl \
libnet-ldap-perl \
+ libnet-ssleay-perl \
libstrictures-perl \
libsub-uplevel-perl \
libterm-readkey-perl \
@@ -48,7 +49,6 @@ PTESTS_PROBLEMS_META_PERL = "\
libmodule-build-tiny-perl \
libnet-dns-perl \
libnet-dns-sec-perl \
- libnet-ssleay-perl \
libunix-statgrab \
libxml-libxml-perl \
"
new file mode 100644
@@ -0,0 +1,29 @@
+From 4068d585875d3ba99da2cbe41f60d0dd4f4290d1 Mon Sep 17 00:00:00 2001
+From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+Date: Wed, 16 Oct 2024 21:48:51 +0200
+Subject: [PATCH] test: 32_x509_get_cert_info allow single colon.
+
+Starting with 3.4.0 the double colon in emailAddress has been removed.
+Adapt the test to allow a single colon in 3.4.0 and later.
+
+Upstream-Status: Backport [https://github.com/radiator-software/p5-net-ssleay/commit/4068d585875d3ba99da2cbe41f60d0dd4f4290d1]
+Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+---
+ t/local/32_x509_get_cert_info.t | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/t/local/32_x509_get_cert_info.t b/t/local/32_x509_get_cert_info.t
+index 0f7e2d5a..0fd1b689 100644
+--- a/t/local/32_x509_get_cert_info.t
++++ b/t/local/32_x509_get_cert_info.t
+@@ -188,6 +188,10 @@ for my $f (keys (%$dump)) {
+ ) {
+ $ext_data =~ s{(othername:) [^, ]+}{$1<unsupported>}g;
+ }
++ # Starting with 3.4.0 the double colon in emailAddress has been removed.
++ if (Net::SSLeay::SSLeay >= 0x30400000) {
++ $ext_data =~ s{emailAddress::}{emailAddress:};
++ }
+ }
+ elsif ( $nid == 89 ) {
+ # The output formatting for certificate policies has a
new file mode 100644
@@ -0,0 +1,32 @@
+From eac7ac502b02f44a84a67920e9f634cce71ff335 Mon Sep 17 00:00:00 2001
+From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+Date: Tue, 18 Feb 2025 18:57:15 +0100
+Subject: [PATCH] tests: Address another formatting difference in OpenSSL 3.4.1
+
+Since OpenSSL 3.4.1, commit 8a28bca8ee08 ("x509: add a newline after
+printing Full Name") to be exact, there is another new line change.
+
+Adapt the testsuite.
+
+Fixes: #513
+
+Upstream-Status: Backport [https://github.com/radiator-software/p5-net-ssleay/commit/eac7ac502b02f44a84a67920e9f634cce71ff335]
+Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+---
+ t/local/32_x509_get_cert_info.t | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/t/local/32_x509_get_cert_info.t b/t/local/32_x509_get_cert_info.t
+index 0fd1b68..08316bf 100644
+--- a/t/local/32_x509_get_cert_info.t
++++ b/t/local/32_x509_get_cert_info.t
+@@ -218,6 +218,9 @@ for my $f (keys (%$dump)) {
+ # OpenSSL 1.0.0 to 1.1.1:
+ $ext_data =~ s{(Full Name:\n )}{\n$1}g;
+ $ext_data .= "\n";
++ } elsif ( Net::SSLeay::SSLeay > 0x3040000f ) {
++ $ext_data =~ s{(\nFull Name:)}{\n$1}g;
++ $ext_data .= "\n";
+ }
+ }
+ elsif ( $nid == 126 ) {
deleted file mode 100644
@@ -1,37 +0,0 @@
-Avoid running target binaries during in cross build
-
-Upstream-Status: Inappropriate [Cross-compile specific]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/inc/Module/Install/PRIVATE/Net/SSLeay.pm 2018-08-27 14:56:24.788544991 +0200
-+++ b/inc/Module/Install/PRIVATE/Net/SSLeay.pm 2018-08-27 15:00:12.847266331 +0200
-@@ -24,20 +24,7 @@
- $self->requires_external_cc;
-
- my $prefix = $self->find_openssl_prefix;
-- my $exec = $self->find_openssl_exec($prefix);
--
-- unless (-x $exec) {
-- print <<EOM;
--*** Could not find OpenSSL
-- If it's already installed, please set the OPENSSL_PREFIX environment
-- variable accordingly. If it isn't installed yet, get the latest version
-- from http://www.openssl.org/.
--EOM
-- exit 0; # according http://wiki.cpantesters.org/wiki/CPANAuthorNotes this is best-practice when "missing library"
-- }
--
-- $self->check_openssl_version($prefix, $exec);
-- my $opts = $self->ssleay_get_build_opts($prefix, $exec);
-+ my $opts = $self->ssleay_get_build_opts($prefix);
-
- $self->makemaker_args(
- CCCDLFLAGS => $opts->{cccdlflags},
-@@ -58,7 +45,7 @@
- }
-
- sub ssleay_get_build_opts {
-- my ($self, $prefix, $exec) = @_;
-+ my ($self, $prefix) = @_;
-
- my $opts = {
- lib_links => [],
new file mode 100644
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+result=0
+
+if ! nslookup example.com; then
+ mv /etc/resolv.conf /etc/resolv.conf.bak
+ echo "nameserver 8.8.8.8" > /etc/resolv.conf
+ trap "mv /etc/resolv.conf.bak /etc/resolv.conf" INT EXIT
+fi
+
+for case in `find t -type f -name '*.t'`; do
+ perl -I . $case >$case.output 2>&1
+ ret=$?
+ cat $case.output
+ if [ $ret -ne 0 ]; then
+ result=1
+ echo "FAIL: ${case%.t}"
+ elif grep -i 'SKIP' $case.output; then
+ echo "SKIP: ${case%.t}"
+ else
+ echo "PASS: ${case%.t}"
+ fi
+
+ rm -f $case.output
+done
+
+exit $result
similarity index 56%
rename from meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.85.bb
rename to meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.94.bb
@@ -7,8 +7,8 @@ so you can write servers or clients for more complicated applications."
HOMEPAGE = "https://metacpan.org/dist/Net-SSLeay"
SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
-LIC_FILES_CHKSUM = "file://README;beginline=274;endline=294;md5=67d67095d83e339da538a082fad5f38e"
+LICENSE = "Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c49f0a6dd21ce7d8988794dea20b650e"
DEPENDS = "openssl zlib openssl-native"
RDEPENDS:${PN} += "\
@@ -23,25 +23,31 @@ RDEPENDS:${PN} += "\
zlib \
"
-SRC_URI = "${CPAN_MIRROR}/authors/id/M/MI/MIKEM/Net-SSLeay-${PV}.tar.gz \
- file://no-exec-on-configure.patch \
- file://run-ptest \
- "
-SRC_URI[sha256sum] = "9d8188b9fb1cae3bd791979c20554925d5e94a138d00414f1a6814549927b0c8"
+SRC_URI = "${CPAN_MIRROR}/authors/id/C/CH/CHRISN/Net-SSLeay-${PV}.tar.gz \
+ file://0001-tests-Address-another-formatting-difference-in-OpenSSL-3.4.1.patch \
+ file://0001-test-32_x509_get_cert_info-allow-single-colon.patch \
+ file://run-ptest"
+SRC_URI[sha256sum] = "9d7be8a56d1bedda05c425306cc504ba134307e0c09bda4a788c98744ebcd95d"
S = "${UNPACKDIR}/Net-SSLeay-${PV}"
-inherit cpan ptest
+inherit cpan ptest-perl
do_configure() {
export OPENSSL_PREFIX="${STAGING_EXECPREFIXDIR}"
cpan_do_configure
}
-do_install_ptest() {
- cp -r ${B}/t ${D}${PTEST_PATH}
+do_install_ptest_perl:append(){
+ cp -r ${S}/inc ${D}${PTEST_PATH}
}
FILES:${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/Net/SSLeay/.debug/"
-RDEPENDS:${PN}-ptest = " perl"
+RDEPENDS:${PN}-ptest += "\
+ perl-module-english \
+ perl-module-file-spec-functions \
+ perl-module-findbin \
+ perl-module-perlio \
+ perl-module-test-more \
+ perl-module-threads"
Also fix ptests. Added two backported patches that makes patches compatible with the latest openssl. Changelog: https://metacpan.org/release/CHRISN/Net-SSLeay-1.94/changes Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> --- .../include/ptest-packagelists-meta-perl.inc | 2 +- ...509_get_cert_info-allow-single-colon.patch | 29 +++++++++++++++ ...rmatting-difference-in-OpenSSL-3.4.1.patch | 32 ++++++++++++++++ .../no-exec-on-configure.patch | 37 ------------------- .../libnet/libnet-ssleay-perl/run-ptest | 27 ++++++++++++++ ...erl_1.85.bb => libnet-ssleay-perl_1.94.bb} | 28 ++++++++------ 6 files changed, 106 insertions(+), 49 deletions(-) create mode 100644 meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0001-test-32_x509_get_cert_info-allow-single-colon.patch create mode 100644 meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0001-tests-Address-another-formatting-difference-in-OpenSSL-3.4.1.patch delete mode 100644 meta-perl/recipes-perl/libnet/libnet-ssleay-perl/no-exec-on-configure.patch create mode 100644 meta-perl/recipes-perl/libnet/libnet-ssleay-perl/run-ptest rename meta-perl/recipes-perl/libnet/{libnet-ssleay-perl_1.85.bb => libnet-ssleay-perl_1.94.bb} (56%)