Listing.pm when used for dosftp

Bill Mann <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.lwp
Organization Vertica Systems
Message-ID <[email protected]>
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.