Subject: | Re: [perl #40961] Listing.pm when used for dosftp |
Date: | Wed, 22 Nov 2006 08:32:04 -0200 |
To: | perl5-porters [...] perl.org, libwww [...] perl.org, bug-libwww-perl [...] rt.cpan.org |
From: | "Adriano Rodrigues" <a.r.ferreira [...] gmail.com> |
As Jonathan said, File::Listing does not belong to the perl core and
is part of the libwww-perl distribution (whose maintainer is Gisle
Aas). So it it is not supported here. I have copied your report to the
libwww@perl.org mailing list (as instructed in the README file of the
distribution) and the corresponding RT queue on this email.
On 11/21/06, via RT Bill Mann <perlbug-followup@perl.org> wrote:
Show quoted text
> # New Ticket Created by Bill Mann
> # Please include the string: [perl #40961]
> # in the subject line of all future correspondence about this issue.
> # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=40961 >
>
>
> This is a bug report for perl from wfmann@alum.mit.edu,
> generated with the help of perlbug 1.35 running under perl v5.8.8.
>
> -----------------------------------------------------------------
> [Please enter your report here]
> I use Listing.pm in cases where I am not sure if the remote ftp site
> running 'unix' or 'dosftp'.
>
> Listing.pm tries unix first, and if that does not work it tries dosftp,
> but there are two problems.
>
> First it fails to call dosftp init(). Once that is fixed, dosftp calls
> file_mode($kind), but dosftp does not return file modes and $kind is
> undef. Like the apache code, it should not call file_mode, but simply
> return undef.
>
> Here is a tested patch for both problems from
> /usr/lib/perl5/vendor_perl/5.8.8/File/:
> *** Listing.pm 2006-11-21 09:16:39.000000000 -0500
> --- Listing.pm.orig 2006-11-20 11:15:18.000000000 -0500
> ***************
> *** 199,205 ****
> }
> else {
> # parse failed, check if the dosftp parse understands it
> - File::Listing::dosftp->init();
> return(File::Listing::dosftp->line($_,$tz,$error));
> }
>
> --- 199,204 ----
> ***************
> *** 256,262 ****
> $type = 'f';
> $size = $size_or_dir;
> }
> ! return [$name, $type, $size, str2time($date, $tz), undef];
>
> }
> else {
> --- 255,262 ----
> $type = 'f';
> $size = $size_or_dir;
> }
> ! return [$name, $type, $size, str2time($date, $tz),
> ! File::Listing::file_mode($kind)];
>
> }
> else {
>
> [Please do not change anything below this line]
> -----------------------------------------------------------------
> ---
> Flags:
> category=library
> severity=low
> ---
> This perlbug was built using Perl v5.8.8 in the Red Hat build system.
> It is being executed now by Perl v5.8.8 - Sun Jun 4 19:33:43 EDT 2006.
>
> Site configuration information for perl v5.8.8:
>
> Configured by Red Hat, Inc. at Sun Jun 4 19:33:43 EDT 2006.
>
> Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
> Platform:
> osname=linux, osvers=2.6.9-34.elsmp, archname=i386-linux-thread-multi
> uname='linux hs20-bc2-4.build.redhat.com 2.6.9-34.elsmp #1 smp fri
> feb 24 16:56:28 est 2006 i686 i686 i386 gnulinux '
> config_args='-des -Doptimize=-O2 -g -pipe -Wall
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic
> -fasynchronous-unwind-tables -Dversion=5.8.8 -Dmyhostname=localhost
> -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc.
> -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux
> -Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads
> -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db
> -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio
> -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly
> -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto
> -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto
> -Ud_endservent_r_proto -Ud_setservent_r_proto -Dinc_version_list=5.8.7
> 5.8.6 5.8.5 5.8.4 5.8.3 -Dscriptdir=/usr/bin'
> hint=recommended, useposix=true, d_sigaction=define
> usethreads=define use5005threads=undef useithreads=define
> usemultiplicity=define
> useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
> use64bitint=undef use64bitall=undef uselongdouble=undef
> usemymalloc=n, bincompat5005=undef
> Compiler:
> cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing
> -pipe -Wdeclaration-after-statement -I/usr/local/include
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
> optimize='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
> -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386
> -mtune=generic -fasynchronous-unwind-tables',
> cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
> -Wdeclaration-after-statement -I/usr/local/include -I/usr/include/gdbm'
> ccversion='', gccversion='4.1.1 20060525 (Red Hat 4.1.1-1)',
> gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8,
> byteorder=1234
> d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
> ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=8
> alignbytes=4, prototype=define
> Linker and Libraries:
> ld='gcc', ldflags =' -L/usr/local/lib'
> libpth=/usr/local/lib /lib /usr/lib
> libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
> perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
> libc=/lib/libc-2.4.so, so=so, useshrplib=true, libperl=libperl.so
> gnulibc_version='2.4'
> Dynamic Linking:
> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E
> -Wl,-rpath,/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE'
> cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
>
> Locally applied patches:
>
>
> ---
> @INC for perl v5.8.8:
> /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
> /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi
> /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi
> /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi
> /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi
> /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi
> /usr/lib/perl5/site_perl/5.8.8
> /usr/lib/perl5/site_perl/5.8.7
> /usr/lib/perl5/site_perl/5.8.6
> /usr/lib/perl5/site_perl/5.8.5
> /usr/lib/perl5/site_perl/5.8.4
> /usr/lib/perl5/site_perl/5.8.3
> /usr/lib/perl5/site_perl
> /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi
> /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi
> /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi
> /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi
> /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi
> /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi
> /usr/lib/perl5/vendor_perl/5.8.8
> /usr/lib/perl5/vendor_perl/5.8.7
> /usr/lib/perl5/vendor_perl/5.8.6
> /usr/lib/perl5/vendor_perl/5.8.5
> /usr/lib/perl5/vendor_perl/5.8.4
> /usr/lib/perl5/vendor_perl/5.8.3
> /usr/lib/perl5/vendor_perl
> /usr/lib/perl5/5.8.8/i386-linux-thread-multi
> /usr/lib/perl5/5.8.8
> .
>
> ---
> Environment for perl v5.8.8:
> HOME=/home/wfmann
> LANG=en_US.UTF-8
> LANGUAGE (unset)
> LD_LIBRARY_PATH (unset)
> LOGDIR (unset)
>
> PATH=/home/wfmann/bin/Linux:/home/wfmann/bin:/usr/local/stata8:/home/wfmann/share/bin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/bin/X11:/usr/local/sbin:/usr/sbin:/sbin:/etc:/usr/5bin:/usr/ucb:.
> PERL_BADLANG (unset)
> SHELL=/bin/bash
>
>