Subject: Current fixes for beta 18 from VRnet

From: Gregory A Lundberg <[email-masked]>
Date: Wed, 15 Jul 1998 15:10:21 -0400 (EDT)

These patches, along with the source kits needed to build an ftp site are
available at ftp://ftp.vr.net/pub/wu-ftpd/  The patches themselves are at:

  ftp://ftp.vr.net/pub/wu-ftpd/wu-ftpd-2.4.2-beta-18-vr3.patch

These patches are against beta 18 _only_.  They include all earlier VRnet
patches along with several new ones.

This is a list of fixes to BETA 18 from [email-masked]
---------------------------------------------------------------------------
BETA 18 fixes the CD ~ problem, but the fix is disabled by default.  It
should be enabled.  Discovered in testing. 

Prevent NOOP resetting idle timer.  From a patch submitted to the mailing
list by [email-masked] on Feb 4, 1998.

Add -X command-line option and syslog option to log statement in
ftpaccess.  These options eliminate xferlog output and direct transfer
logs to syslog instead. From a patch posted to the mailing list by
[email-masked] on Mar 12, 1998.  Corrected and cleaned up during
testing. 

Somewhere along the way the upload statement was broken.  This fix adds a
new parameter to upload so admins can determine the permissions for any
new directories permitted.  New features are documented in ftpaccess
manpage.  From patches submitted to the mailing list on April 29, 1998 by
[email-masked] and [email-masked].  Subsequent investigation shows
this problem existed as far back as 1994 and the new features have been
requested for almost as long. 

Move Linux to use POSIX regex included with the system instead of the
routines included with wu-ftpd.  This allows us to define path-filter
statements which allow spaces in the pathnames.  For example: 
  path-filter anonymous /etc/pathmsg ^[-A-Za-z0-9_.[:space:]]*$ ^\. ^-
>From a patch sent to the mailing list by [email-masked]
on Apr 30, 1998.  Although only enabled for Linux, this should work for
any machine using the GNU regular expression library librx.  If you're
brave and try it, and it works, let me know. 

Added 'hostname' configuration statement.  Normally the server determines
its host name from the system.  This allows the admin to specify the name
on machines with several names (multihomed) where the default name is not
the desired name.  Manpage updated.  Discovered in testing.  Subsequent
searches through the mailing list archives shows this was first proposed
by [email-masked] on Sept 27, 1994. 

Shutdown warnings were not given to normal (non-anonymous) users on login. 
Discovered in testing. 

Makefile.lnx presumes Bison is installed; it isn't always.  Discovered in
testing, beta 17 was OK.  Dunno why it changed.  YMMV on this patch. 

Makefile.lnx links the daemon and support programs statically.  The wisdom
of this is debatable at best.  Discovered in testing. 

The fixes for the CD ~ problem (ALTERNATE_CD option for beta 18) break a
few things.  Most notably, xferlog doesn't include the full name of the
file and the upload command doesn't work properly.  In addition, I believe
noretrieve should be based on the real file system rather than the
chroot'd environment.  The man page says '/' means the name is an
'absolute path specification' which I take to mean from the real file
system.  Discovered during testing; I had the same problem with my CD ~
fix in beta 17 so I was expecting this. 

On the upload clause, 'no' should imply 'nodirs'.  Good grief, how long
has this bug been lurking about?  Discovered in testing. 

The perl script xferstats incorrectly identifies internet addresses whose
host name begins with "inf" or which are only 2 components wide (e.g.,
"bix.com") as unresolved.  I could not verify the "inf" problem, but the 2
component problem has been verified to exist in the current version.  From
a patch submitted to the mailing list by [email-masked] on June 29 1994.

The util/xferstats that comes with wu-ftpd 2.4 always produces a count of
zero for "Systems Using Archives", because the array whose size is printed
("$systemfiles") never gets anything stored in it.  Verified to exist in
the current version.  From a patch submitted to the mailing list by
[email-masked] on July 4, 1994. 

The noretrieve clause is extended to mark entire directories un-gettable. 
>From a patch submitted to the mailing list by [email-masked] on July 12,
1995.  Cleaned up and man page updated. 

The upload clause is extended to allow '*' for <owner> and <group> so a
single upload clause can work for all users.  For example: 
  upload /home/ftp /private/*/imcoming* yes * * 640 nodirs
can be used to create private upload areas for every user.  From a patch
submitted to the mailing list by [email-masked] on Nov 6, 1994.  Cleaned
up and man page updated. 

New ftpaccess clause 'nice' to adjust process priorities based upon the
class.  From a patch submitted to the mailing list on Sept 4, 1995 by
[email-masked].  Patch included man page update. 

While researching 'nice' came across an undocumented ftpaccess clause
'guestserver'.  Man page updated. 

Noticing 'guestserver' made me look.  There are two other undocumented
ftpaccess clauses: 'lslong' and 'lsshort'.  Man page updated. 

Added -w and -W to enable (default, -w) or disable (-W) recording user
login and logout for ftp sessions in wtmp.  From a patch submitted to the
mailing list by [email-masked] on Feb 12, 1996.  Cleaned up and updated
documentation. 

----

Gregory A Lundberg		Senior Partner, VRnet Company
1441 Elmdale Drive              [email-masked]
Kettering, OH 45409-1615 USA    1-800-809-2195