Compare commits

...

4 Commits
rawhide ... f25

Author SHA1 Message Date
Petr Písař 3115b494e7 3.11 bump 2017-11-15 09:17:32 +01:00
Petr Písař 0e451c58bd perl dependency renamed to perl-interpreter <https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules> 2017-11-15 09:17:07 +01:00
Petr Písař 65e2880ba4 Net::libnetFAQ document replaced with a hyper link because of the Artistic license 2017-11-15 09:16:53 +01:00
Jitka Plesnikova 1694750fa8 3.10 bump 2016-08-01 15:17:03 +02:00
5 changed files with 94 additions and 104 deletions

4
.gitignore vendored
View File

@ -2,3 +2,7 @@
/libnet-3.07.tar.gz
/libnet-3.08.tar.gz
/libnet-3.09.tar.gz
/libnet-3.10.tar.gz
/libnet-3.10_repackaged.tar.gz
/libnetFAQ.pod
/libnet-3.11_repackaged.tar.gz

View File

@ -1,91 +0,0 @@
From 72d07cb0d6a2e32a6a18a1794a592a8f6bf71665 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Wed, 27 Jul 2016 12:57:23 +0200
Subject: [PATCH] Override timeout method in Net::FTP and other subclasses
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
After adding Net::Cmd::timeout() in commit
91e593b615334fa76ef0454c4e601b98b6663841, the method masked
IO::Socket:IP::timeout() in Net::FTP objects causing infitive block in
select() on a FTP connection.
CPAN RT#116345
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
lib/Net/FTP.pm | 5 +++++
lib/Net/NNTP.pm | 6 ++++++
lib/Net/POP3.pm | 5 +++++
lib/Net/SMTP.pm | 5 +++++
4 files changed, 21 insertions(+)
diff --git a/lib/Net/FTP.pm b/lib/Net/FTP.pm
index 905d830..42c33f5 100644
--- a/lib/Net/FTP.pm
+++ b/lib/Net/FTP.pm
@@ -1210,6 +1210,11 @@ sub _data_cmd {
##
+sub timeout {
+ $IOCLASS->can('timeout')->(@_);
+}
+
+
sub debug_text { $_[2] =~ /^(pass|resp|acct)/i ? "$1 ....\n" : $_[2]; }
diff --git a/lib/Net/NNTP.pm b/lib/Net/NNTP.pm
index 764d580..f1b5c17 100644
--- a/lib/Net/NNTP.pm
+++ b/lib/Net/NNTP.pm
@@ -419,6 +419,12 @@ sub slave {
$nntp->_SLAVE;
}
+
+sub timeout {
+ $ISA[-1]->can('timeout')->(@_);
+}
+
+
##
## The following methods are not implemented by all servers
##
diff --git a/lib/Net/POP3.pm b/lib/Net/POP3.pm
index bb18aaf..7f1cf5a 100644
--- a/lib/Net/POP3.pm
+++ b/lib/Net/POP3.pm
@@ -387,6 +387,11 @@ sub quit {
}
+sub timeout {
+ $ISA[-1]->can('timeout')->(@_);
+}
+
+
sub DESTROY {
my $me = shift;
diff --git a/lib/Net/SMTP.pm b/lib/Net/SMTP.pm
index 0dd966f..895c884 100644
--- a/lib/Net/SMTP.pm
+++ b/lib/Net/SMTP.pm
@@ -586,6 +586,11 @@ sub quit {
}
+sub timeout {
+ $ISA[-1]->can('timeout')->(@_);
+}
+
+
sub DESTROY {
# ignore
--
2.5.5

View File

@ -1,23 +1,30 @@
Name: perl-libnet
Version: 3.09
Release: 2%{?dist}
Version: 3.11
Release: 1%{?dist}
Summary: Perl clients for various network protocols
# other files: GPL+ or Artistic
## Not in binary packages
# repackage.sh: GPLv2+
## Removed from upstream sources:
# lib/Net/libnetFAQ.pod: Artistic (CPAN RT#117888)
License: GPL+ or Artistic
Group: Development/Libraries
URL: http://search.cpan.org/dist/libnet/
Source0: http://www.cpan.org/authors/id/S/SH/SHAY/libnet-%{version}.tar.gz
# Origin source archive contains Artistic only files, CPAN RT#117888.
# Local archive produced by "./repackage.sh %%{version}" command.
# http://www.cpan.org/authors/id/S/SH/SHAY/libnet-%%{version}.tar.gz
Source0: libnet-%{version}_repackaged.tar.gz
# Replacement for the Artistic only file, CPAN RT#117888.
Source1: libnetFAQ.pod
# Convert Changes to UTF-8
Patch0: libnet-3.09-Normalize-Changes-encoding.patch
# Do not create Net/libnet.cfg, bug #1238689
Patch1: libnet-3.08-Do-not-create-Net-libnet.cfg.patch
# Fix blocking in Net::FTP and other subclasses, bug #1360610, CPAN RT#116345
Patch2: libnet-3.09-Override-timeout-method-in-Net-FTP-and-other-subclas.patch
BuildArch: noarch
BuildRequires: findutils
BuildRequires: coreutils
BuildRequires: make
BuildRequires: perl
BuildRequires: perl-generators
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.64
BuildRequires: perl-interpreter
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76
# Getopt::Std not used because of Do-not-create-Net-libnet.cfg.patch
# IO::File not used because of Do-not-create-Net-libnet.cfg.patch
BuildRequires: perl(strict)
@ -93,17 +100,17 @@ protocols used in the internet community.
%prep
%setup -q -n libnet-%{version}
# Provide dummy Net::libnetFAQ document, CPAN RT#117888
install -m 0644 %{SOURCE1} lib/Net
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
perl Makefile.PL INSTALLDIRS=vendor </dev/null
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 </dev/null
make %{?_smp_mflags}
%install
make pure_install DESTDIR=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -type f -name .packlist -delete
%{_fixperms} $RPM_BUILD_ROOT/*
%check
@ -116,6 +123,16 @@ make test
%{_mandir}/man3/*
%changelog
* Wed Nov 15 2017 Petr Pisar <ppisar@redhat.com> - 3.11-1
- 3.11 bump
* Fri Sep 16 2016 Petr Pisar <ppisar@redhat.com> - 3.10-2
- Net::libnetFAQ document replaced with a hyper link because of the Artistic
license (CPAN RT#117888)
* Mon Aug 01 2016 Jitka Plesnikova <jplesnik@redhat.com> - 3.10-1
- 3.10 bump
* Wed Jul 27 2016 Petr Pisar <ppisar@redhat.com> - 3.09-2
- Fix blocking in Net::FTP and other subclasses (bug #1360610)

59
repackage.sh Executable file
View File

@ -0,0 +1,59 @@
#!/bin/bash
#
# Copyright (C) 2010 Red Hat, Inc.
# Authors:
# Thomas Woerner <twoerner@redhat.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
version=$1
[ -z "$version" ] && { echo "Usage: $0 <version>"; exit 1; }
# files to be removed without the main libnet-<version>/ prefix
declare -a REMOVE
REMOVE[${#REMOVE[*]}]="lib/Net/libnetFAQ.pod"
# no changes below this line should be needed
orig="libnet-${version}"
orig_tgz="${orig}.tar.gz"
repackaged="${orig}_repackaged"
repackaged_tar="${repackaged}.tar"
repackaged_tgz="${repackaged_tar}.gz"
# pre checks
[ ! -f "${orig_tgz}" ] && { echo "ERROR: ${orig_tgz} does not exist"; exit 1; }
[ -f "${repackaged_tgz}" ] && { echo "ERROR: ${repackaged_tgz} already exist"; exit 1; }
# repackage
failure=0
gzip -dc "${orig_tgz}" > "${repackaged_tar}"
for file in "${REMOVE[@]}"; do
tar -f "${repackaged_tar}" --delete "${orig}/${file}" >> repackage.log
[ $? != 0 ] && { echo "ERROR: Could not remove file ${orig}/${file} from archive."; failure=1; } || echo "Removed ${orig}/${file} from archive."
done
[ $failure != 0 ] && { echo "See repackage.log for details."; exit 1; }
gzip -9 -n "${repackaged_tar}"
# post checks
RET=0
for file in "${REMOVE[@]}"; do
found=$(tar -ztvf "${repackaged_tgz}" | grep "${file}")
[ -n "$found" ] && { echo "ERROR: file ${file} is still in the repackaged archive."; RET=1; }
done
[ $RET == 0 ] && echo "Sucessfully repackaged ${orig}: ${repackaged_tgz}"
exit $RET

View File

@ -1 +1,2 @@
adb1ba477d02391860619f341cd58a50 libnet-3.09.tar.gz
SHA512 (libnetFAQ.pod) = 234082350814967ac3bfc0e4c57e53f7473be69f6cc9618cef061aaaaaddfaaf0e1542d38e7775c2fc78fc16d92e45b30ccb48c07d118a0a4b5e1c90d030c42f
SHA512 (libnet-3.11_repackaged.tar.gz) = 77f88f84d8669179c5a70a147822ae09b9a1f94f13c7df0a78d713d65754862cb9fdae41aa632885449b93adaf674990da65b8558a9ef116e5d5c2870be09100