From 718d60b7bac121b994c18a9282abbd6f756e60e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppi...@redhat.com>
Date: Wed, 27 Jul 2016 13:35:15 +0200
Subject: Fix blocking in Net::FTP and other subclasses

---
 ...meout-method-in-Net-FTP-and-other-subclas.patch | 91 ++++++++++++++++++++++
 perl-libnet.spec                                   |  8 +-
 2 files changed, 98 insertions(+), 1 deletion(-)
 create mode 100644 
libnet-3.09-Override-timeout-method-in-Net-FTP-and-other-subclas.patch

diff --git 
a/libnet-3.09-Override-timeout-method-in-Net-FTP-and-other-subclas.patch 
b/libnet-3.09-Override-timeout-method-in-Net-FTP-and-other-subclas.patch
new file mode 100644
index 0000000..7d2fa91
--- /dev/null
+++ b/libnet-3.09-Override-timeout-method-in-Net-FTP-and-other-subclas.patch
@@ -0,0 +1,91 @@
+From 72d07cb0d6a2e32a6a18a1794a592a8f6bf71665 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppi...@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ř <ppi...@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
+
diff --git a/perl-libnet.spec b/perl-libnet.spec
index e2280b1..86d2382 100644
--- a/perl-libnet.spec
+++ b/perl-libnet.spec
@@ -1,6 +1,6 @@
 Name:           perl-libnet
 Version:        3.09
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Perl clients for various network protocols
 License:        GPL+ or Artistic
 Group:          Development/Libraries
@@ -10,6 +10,8 @@ Source0:        
http://www.cpan.org/authors/id/S/SH/SHAY/libnet-%{version}.tar.g
 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:  make
@@ -93,6 +95,7 @@ protocols used in the internet community.
 %setup -q -n libnet-%{version}
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 perl Makefile.PL INSTALLDIRS=vendor </dev/null
@@ -113,6 +116,9 @@ make test
 %{_mandir}/man3/*
 
 %changelog
+* Wed Jul 27 2016 Petr Pisar <ppi...@redhat.com> - 3.09-2
+- Fix blocking in Net::FTP and other subclasses (bug #1360610)
+
 * Wed Jul 20 2016 Petr Pisar <ppi...@redhat.com> - 3.09-1
 - 3.09 bump
 
-- 
cgit v0.12


        
http://pkgs.fedoraproject.org/cgit/perl-libnet.git/commit/?h=f24&id=718d60b7bac121b994c18a9282abbd6f756e60e0
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://lists.fedoraproject.org/admin/lists/perl-devel@lists.fedoraproject.org

Reply via email to