Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Listing.pm when used for dosftp #8686

Closed
p5pRT opened this issue Nov 21, 2006 · 6 comments
Closed

Listing.pm when used for dosftp #8686

p5pRT opened this issue Nov 21, 2006 · 6 comments

Comments

@p5pRT
Copy link

p5pRT commented Nov 21, 2006

Migrated from rt.perl.org#40961 (status was 'rejected')

Searchable as RT40961$

@p5pRT
Copy link
Author

p5pRT commented Nov 21, 2006

From wfmann@alum.mit.edu

Created by wfmann@alum.mit.edu

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 {

Perl Info

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

@p5pRT
Copy link
Author

p5pRT commented Nov 22, 2006

From jns@gellyfish.com

On Tue, 2006-11-21 at 09​:19 -0800, Bill Mann 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 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.

Hi,
I might be missing something but File​::Listing isn't part of the core
perl distribution but part of the libwww-perl package, though it might
be installed as part of the base distribution by some OS vendors. You
might want to take this to libwww@​perl.org rather than p5p

@p5pRT
Copy link
Author

p5pRT commented Nov 22, 2006

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Nov 22, 2006

@rgs - Status changed from 'open' to 'rejected'

@p5pRT p5pRT closed this as completed Nov 22, 2006
@p5pRT
Copy link
Author

p5pRT commented Nov 22, 2006

From 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​:

# 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

@p5pRT
Copy link
Author

p5pRT commented Nov 22, 2006

From wfmann@alum.mit.edu

Sorry, I'll do that.
Bill

Jonathan Stowe wrote​:

On Tue, 2006-11-21 at 09​:19 -0800, Bill Mann 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 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.

Hi,
I might be missing something but File​::Listing isn't part of the core
perl distribution but part of the libwww-perl package, though it might
be installed as part of the base distribution by some OS vendors. You
might want to take this to libwww@​perl.org rather than p5p

--
  Bill Mann -- Sudbury, MA -- 978-443-5671 -- cell​: 978-460-3287

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant