1. System, which works with 2.75 ("normal")
Im trying to use new FTP.pm and Cmd.pm from 3.02 - it works:
perl -we "use strict; use warnings; use Net::FTP;
Net::FTP->new('localhost', Debug => 1, Timeout => 300)"
Argument "1.79_01" isn't numeric in subroutine entry at
/usr/lib/perl5/5.8.8/Net/FTP.pm line 35.
Net::FTP>>> Net::FTP(3.02)
Net::FTP>>> Exporter(5.58)
Net::FTP>>> Net::Cmd(3.02)
Net::FTP>>> IO::Socket::INET6(2.69)
Net::FTP>>> IO::Socket(1.29)
Net::FTP>>> IO::Handle(1.25)
Net::FTP=GLOB(0x9fa6770)<<< 220---------- Welcome to Pure-FTPd [privsep]
[TLS] ----------
2. System, which works with 2.75 ("normal")
Original FTP.pm v 2.75:
perl -we "use strict; use warnings; use Net::FTP;
Net::FTP->new('localhost', Debug => 1, Timeout => 300)"
Net::FTP>>> Net::FTP(2.75)
Net::FTP>>> Exporter(5.58)
Net::FTP>>> Net::Cmd(2.26)
Net::FTP>>> IO::Socket::INET(1.29)
Net::FTP>>> IO::Socket(1.29)
Net::FTP>>> IO::Handle(1.25)
Net::FTP=GLOB(0x91e1180)<<< 220---------- Welcome to Pure-FTPd [privsep]
[TLS] ----------
3. System, which works with 3.02 ("where problem"):
Im trying to use old FTP.pm 2.75 from libnet 1.19 - it works:
perl -we "use strict; use warnings; use Net::FTP;
Net::FTP->new('localhost', Debug => 1, Timeout => 300)"
Net::FTP>>> Net::FTP(2.75)
Net::FTP>>> Exporter(5.58)
Net::FTP>>> Net::Cmd(3.02)
Net::FTP>>> IO::Socket::INET(1.29)
Net::FTP>>> IO::Socket(1.29)
Net::FTP>>> IO::Handle(1.25)
Net::FTP=GLOB(0x912edc8)<<< 220---------- Welcome to Pure-FTPd [privsep]
[TLS] ----------
4. System, which works with 3.02 ("where problem"):
Original FTP.pm v 3.02:
perl -we "use strict; use warnings; use Net::FTP;
Net::FTP->new('localhost', Debug => 1, Timeout => 300)"
IO::Socket: Cannot configure a generic socket at -e line 1
5. System, which works with 3.02 ("where problem"):
Im trying to use old FTP.pm and CMD.pm from other versions libnet. Newest
working version - 1.27 (1.28-3.02 is not working):
perl -we "use strict; use warnings; use Net::FTP;
Net::FTP->new('localhost', Debug => 1, Timeout => 300)"
Net::FTP>>> Net::FTP(2.79)
Net::FTP>>> Exporter(5.58)
Net::FTP>>> Net::Cmd(2.30)
Net::FTP>>> IO::Socket::INET(1.31)
Net::FTP>>> IO::Socket(1.31)
Net::FTP>>> IO::Handle(1.28)
Net::FTP=GLOB(0x9c6d990)<<< 220---------- Welcome to Pure-FTPd [privsep]
[TLS] ----------
2014-11-17 15:16 GMT+02:00 Steve Hay via RT <bug-libnet@rt.cpan.org>:
Show quoted text> <URL:
https://rt.cpan.org/Ticket/Display.html?id=100020 >
>
> On Mon Nov 17 04:32:50 2014, dmitry@nefedov.org wrote:
> > Test sctipt:
> >
> > #!/usr/bin/perl
> >
> > use Net::FTP;
> >
> > my $sock = IO::Socket::INET->new(PeerAddr => 'localhost', PeerPort =>
> > 'ftp(21)', LocalAddr => undef, Proto => 'tcp', Timeout => 120,
> > SSL_startHandshake => 0);
> > print $sock."\n";
> > exit(0);
> >
> > Result:
> >
> > IO::Socket::INET=GLOB(0x8484a50)
>
>
> It's very odd that that works, because the arguments in that
> IO::Socket::INET->new() call are exactly the same as
> Net::FTP->new('localhost') will do.
>
> Did you try the above test on the machine on which
> Net::FTP->new('localhost') fails? Please can you confirm what
> $Net::FTP::VERSION is on that machine?
>
>
> >
> >
> >
> > I have some servers. I noticed that backup (Perl-script) doesn't work for
> > some of them. Systems are updated automatically therefore I have no more
> > exact data on versions, unfortunately.
> >
>
> Is it possible to upgrade the libnet installation on the machine that
> currently has Net::FTP 2.75 on it? If so then you could upgrade it one
> version at a time (i.e. uprade to libnet-1.20, then 1.21, etc -- all the
> way up to 3.02 if necessary (that isn't as many versions as it sounds!))
> and find out where it stops working. (Obviously, make a safe copy of the
> lib\Net folder first so that you can rewind to a working version after
> finding the one that breaks; or else just reinstall libnet 1.19 to get back
> to where you started).
>