Re: [perl #40961] Listing.pm when used for dosftp

"Adriano Rodrigues" <[email protected]>
Newsgroups gmane.comp.lang.perl.perl5.porters,gmane.comp.lang.perl.modules.lwp
Message-ID <[email protected]>
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
[email protected] 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 <[email protected]> wrote:
> # 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 [email protected],
> 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
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.