pkgsrc/net/wu-ftpd/PLIST

24 lines
542 B
Text
Raw Normal View History

@comment $NetBSD: PLIST,v 1.1 2001/10/31 22:59:52 zuntum Exp $
bin/ftpcount
bin/ftpwho
libexec/ftpd
Update wu-ftpd to 2.6.0. Changes in 2.6.0: o On sigpipe, always log a lost connection. o Added a log message on attempts to download files marked unretrievable. o The SITE NEWER feature has been disabled. A compile-time option has been added to re-enable it. See config.h.noac for more information on this. o With restricted-uid/gid, CWD to a non-existant directory would display the full pathname rather than just relative to the user's home. Actually, the fix catches most cases where this could occur, not just the CWD verb. o Fixed a bug in the restricted-uid/gid feature which could allow access outside the user's home directory in some cases. o Bumped MAXHST (max. hosts allowed on a line) for ftphosts from 10 to 12. Fixed a bug related to this which can cause the server to crash checking host access. o The internal ls (see below) was judged to be unready. It has been disabled by default but can be enabled with a compile-time option for those who wish to attempt to debug it (be warned, it has a lot of problems). o Split the "bad shell or user not in ftpusers" syslog message into two messages to prevent confusion. o Filename globs for LIST, NLST and SITE EXEC, as well as a few internal uses, are cleaned up before processing. For example: */./../* becomes just *. This prevents certain memory starvation DoS attacks. o Corrections for RFC compliance can break some clients. If possible, the broken client should be updated, but a compile-time option has been added. See the config.h.noac for more information on this. o Created doc/HOWTO directory and moved VIRTUAL.FTP.SUPPORT and upload.configuration.HOWTO there. o Add a README.AUTOCONF file describing the autoconf build in detail. o UC, Berkeley, has removed the requirement that all advertising material must include credit to them. Removed the clause from the LICENSE and the historical licenses in the COPYRIGHT file. o Added the email-on-upload feature from BeroFTPD. See the ftpaccess man page for defaults on these added ftpaccess clauses: mailserver <hostname> incmail <emailaddress> mailfrom <emailaddress> virtual <address> incmail <emailaddress> virtual <address> mailfrom <emailaddress> defaultserver incmail <emailaddress> defaultserver mailfrom <emailaddress> o Redhat added the -I option to disable RFC931 (AUTH/ident). Added to the baseline so Redhat users don't see a loss of a feature. Setting the timeout for rfc931 to zero will do the same thing in the ftpaccess file. o The test for whether restricted-uid/restricted-gid applied should have been done before the chroot so it used the system /etc/passwd and /etc/group files. o CDUP when you were already at the home directory, would complain about you being restricted (if you were). Instead it should give a positive reply, and do nothing. This makes it behave more like CDUP when you're not restricted to your home directory. o deny-uid and deny-gid were being tested for anonymous users. Bad move, it's too easy to forget to allow them. Use 'defaultserver private' to keep anonymous users away. o Correct the operation of the NLST command. Finally. mget should now work as users expect it to. o Prevent buffer overruns when processing message files. o Correct a reference through a NULL pointer when doing S/Key authentication and the user is not in the passwd file. o Check the return code from select() when setting up a data connection. Under some rare conditions it is possible that the select was called for an fd_set which has no members, hanging the daemon. o Ensure a pattern of "*" matches everything. The new path_compare (used on upload and throughput clauses in the ftpaccess file) sets the option FNM_PATHNAME, so: * matches everything /* matches everything /*/* matches /dogs/toto and /dogs/toto/photos but not /dogs o setproctitle() support added for UnixWare. o Removed all FIXES files. Merged their contents into this CHANGES file (the one you're reading now). The old doc/FIXES directory has been tar'd and will be placed in the attic when 2.6.0 releases. o Corrected an error in the MAPPING_CHDIR feature which could be used to gain root privileges on the server. o Added -V command-line option to View the copyright and exit. o Added the privatepw command and documentation. o Port for FreeBSD corrected. o Adding the LICENSE file to the baseline. o Added print_copyright function so our copyright is embedded in the executables. o WU-FTPD Development Group copyright headers added. Original Copyright headers moved into the COPYRIGHT file. o RCS Ids from 2.4.x removed and new templates added for wu-ftpd.org usage. o Make sure the signal context is restored when jumping out of signal handlers. This was causing signal 11 on some systems. o Cleaned up the how-to of setting up virtual hosting support. o Corrected header file dependencies. o Changed NLST to nlst, necessary as ftpcmd.c #defines NLST. o Tidied up virtual variables. o Changed so compiles cleanly on SCO OpenServer 5, UnixWare 2 and UnixWare 7. o Anonymous users could get in even though no class was defined for them. o Support for non-ANSI/ISO compilers has been removed. You MUST have and ANSI/ISO C compiler. This has been true for some time, all that has changed is the (incomplete) support for older (K&R) compilers has been removed. o Added Kent Landfield's NEWVIRT scheme for extensive virutal hosting. See the updated documentation on virtual hosting for details. o ftprestart has been added to the base daemon kit. o A buffer overrun in the ftpshut command has been corrected. Since, on most sites, the ftpshut command is only usable by the superuser, this is not considered a security issue. If you have installed ftpshut with suid-root permissions (not the default), then there is the possibility this overrun could be used to leverage root permissions. o Several new ftpaccess clauses have been added. These allow control of the various timeouts used within the daemon. The new clauses are: timeout accept <seconds> timeout connect <seconds> timeout data <seconds> timeout idle <seconds> timeout maxidle <seconds> timeout RFC931 <seconds> o Myriad places where inactivity timeouts were not being properly detected or handled have been corrected. The built-in directory listings, both the original NLST and the build-in LIST (ls), now detect inactivity. The original NLST did not which could lead to hanging daemons. C FILE handles for data connections are now always flushed, then the socket is shutdown cleanly before being closed. As a side effect, the daemon now more often properly detects incomplete transfers. This can lead, though, to the xferlog showing the correct byte count (meaning the daemon read or wrote that many bytes over the data connection), but still log the transfer as incomplete (meaning the socket did not properly shutdown so the client probably missed some data). o The daemon no longer attempts to replace the system's <arpa/ftp.h> header when compiling. Instead, it uses its own local copy at all times. o The daemon will now wait for the transfer to complete before sending 'Transfer complete' or similar messages. This improves the daemon's reliability for poorly written clients which take recipt of the message as indication the transfer has completed rather than reading until the connection closes. o Guest and anonymous logout was not recorded on Linux. Removed call to updwtmp and returned to old method of updating the lastlog. o Script "vr.sh" is no longer needed. The Development Group will not be releasing patches to upgrade; they can be obtained from CVS if needed. o "realpath_on_steroids" is no longer needed. Removed. o Use a custom version of fnmatch() which changes the rules for matching file and directory names. The most visible result of this is noretrieve and allow-retrieve are now much more flexible. See the ftpaccess manpage for examples. o Use the correct SPT_TYPE for FreeBSD 2.0 or later. o Correct the class= logic on the allow-retrieve clause. o Enhanced DNS extensions. This adds three ftpaccess clauses: dns refuse_mismatch <filename> [override] dns refuse_no_reverse <filename> [override] dns resolveroptions [options] o Corrected a reference in the manpage for ftpconversions to ftpd. o The string 'path-filter' is now used in the system logs to describe problems resulting from failing a path-filter check. The daemon used to just say 'bad filename' which was misleading to some people. o Added instruction on how to support PAM on Solaris. Right now this means hand editing src/config/config.sol and src/makefiles/Makefile.sol. o Checking that all platforms use config.h, src/config/config.isc was found to have forgotten to include the file. o A security deficency on SunOS 4.1, not having a working getcwd() function, has been corrected by using the provided function. Compilation bugs in the portable getcwd() function have been corrected. o The daemon will no longer hang attempting to close the RFC931 socket when the remote end is firewalled and does not respond to traffic for this protocol. This was determined to be inappropriate handling of SIGALRM; handling for this signal has been cleaned up throughout the daemon. o The daemon may now be built using GNU autoconf. This is in the early stages and not all platforms may be supported. The old build system will be maintained for at least the 2.6.0 release; until the major platforms are all known to be supported. o Two new ftpaccess clauses have been added. These allows the site admin to selectively allow PORT and PASV data connections where the remote IP address does not match the remote IP address on the control connection. The new clauses are: port-allow <class> [<addrglob> ...] pasv-allow <class> [<addrglob> ...] o The daemon now includes an internal 'ls' command. o Ported to Mac OS/X. 0 Added (limited) support for AFS and DCE user authentication. This is only know to work on AIX, and needs porting to other platforms. For now, this requires hand work to enable. o Added an ftpaccess clause to enable TCP keepalives. This clause is: keepalive <yes|no> o You can now specify the xferlog filename for the default server just as you can for the virtual hosts; in the ftpaccess file. The new clause is: xferlog <absolute path> o ftpaccess manpage cleaned up. Many typos corrected, some techincal changes. Indentation should now be correct. o Apache's .indent.pro to the src and support directories. Ran all *.c and *.h files through it. ftpcmd.y has been indented by hand. The code is now a lot more readable! o A bug in the parsing for the deny !nameserved ftpaccess clause has been corrected. o Technical corrections in the ftpd manpage. o Add util/recompress.c as a more generic version of gzip2cmp.c ########################################################################### Changes in 2.5.0: o Change the handling of wtmp for GNU libc to use the Os-provided function updwtmp(). o Prevent some buffer overruns. o Fix permissions on some files installed by RPM, add the log rotation control file. o Change the seteuid() calls for fchown() and chown() for POSIXLY_CORRECT systems. o pid file locking in ftpcount (ftpwho) is now consistent with the way the daemon locks these files. o Cancel any pending alarm request to stop acl_remove() from being interrupted then called again via the SIGALRM handler, this should fix the flock on a bad file descriptor looping problem. o Use %m in syslog format strings in place of %s and strerror(), this simplifies #ifdefs. o For SCO, link ftpcount with libsocket, necessary as it now calls syslog(). o Added Redhat's RPM SPEC file for building RPMs. o English corrections in ftpaccess manpage. Technical correction: the noretrieve/allow-retrieve clauses do NOT support regular expressions. o Move where ftpglob stuff is defined to avoid compilation errors on some systems. o Port to SGI Irix version 4 corrected. o Overwrite behavior on uploads has been made consistent with shell usage. The daemon does not change ownership or permissions on overwrite. o Corrected the PASV command to bind to the correct interface (local IP address). o Removed the OVERWRITE and UPLOAD defines from platform config files; they are defined in the main config.h header. o Issuing CWD without any parameters caused a signal 11, crashing the daemon. o Port to HP/UX corrected. o Added ERRATA file to discuss problems with getcwd(). o Added a portable version of the getcwd() function for systems which do not have it or imcorrectly implement it. NextStep 3 uses this new function. o OPIE support was being disabled even though the proper command-line switches were being set. Corrected the use of opieverify(). o The fatal() function was not declared void; this was causing problems with some compilers. o Port to Hitachi HI-UX corrected. o Some calls to fnmatch() were missing parameters. o Corrected the 'restricted' user feature. It now works well with most FTP clients. o Correct usage of -d vs -e in the install Makefile for a number of platforms. o You can now use negated hostnames/addresses on the class ftpaccess clause. o Added an ftpaccess clause to specify random text for the initial greeting: greeting text <message> o Corrected password encryption/checking for Digital Unix with C2 security (SECUREOSF). o Merged the TODO file from the VR series with Stan's TODO file for the Academ betas. o Changed the various permission denial messages sent by the daemon to the client to make it clear the message originated from the server. o Ports to SCO, Solaris, uxw, ptx and isc corrected. o Use the newer SEEK_ defines in place of the old BSD L_ defines and removed the global definition of entry, each function should define it locally. o Removed an unnecessary lseek(L_SET) in ftpcount (ftpwho). o Link ftpcount and ftpshut with ${XXLIBS}. o Made strsep() definition consistent with BSD and Linux. Add strsep() definition to conversions.c. o Added #include <string.h> to ckconfig.c. o Replaced the _PATH_DEVNULL define with a #include of "pathnames.h" in popen.c. o Support long group access passwords if SecureWare or HPUX_10_TRUSTED are defined (using bigcrypt()). o Fixed a memory leak in restrict.c. o Digital Unix version 4 has a working getcwd(); use it instead of getwd(). o Stop restrict_list_check() from walking off the end of name. o Added -x command-line option to mean 'log syslog+xferlog'. o Changed the log ftpaccess clause to allow logging transfers to both the syslog and xferlog. The log ftpaccess clauses now include: log syslog log xferlog log syslog+xferlog o Formation of the WU-FTPD Development Group on 1 April, 1999. 2.4.2-VR17 chosen as initial baseline for the daemon. ########################################################################### Changes in 2.4.2-VR17: o Gregory A Lundberg resigns as the de-facto maintainer of WU-FTPD. "And you thought I was joking." o VIRTUAL is now the default for Solaris; all Solaris systems support multiple interfaces (IP addresses). o Fixed complaints involving virtual_len reported by several beta testers. o Some of the 'C' source code in ftpcmd.y depended upon a particular behavior when ANSI/ISO does not define it. Corrected so all compilers will properly interpret the code. o Corrected the support for QUOTA on Solaris. o The GNU EGCS 'C' compiler is broken. A quick check and we can avoid the brokenness. o Port to Ultrix corrected. o The default shell on NextStep wants -d instead of -e. Changed to test instead of [] since that's more portable; will probably do the same to other systems in a future release. o MNTMAXSTR was possibly undefined on Digital Unix 4.0 even when not using QUOTA_DEVICE, causing compilation errors. o Added daemonaddress to the ftpaccess manpage. o Added a note from Chad Price <cprice@molbio.unmc.edu> in src/logwtmp.c about the brokenness of Solaris' last command. o It turns out that not all SunOS 4.1 boxes actually have a getcwd() function. o The labels unix and __unix__ are depricated on BSD, effecting the logic for the reponse to the SYST command. o Added an appnote about OPIE. See src/makefiles/Makefile.lnx for a way to automatically have the daemon use OPIE. Send your Makefile if you do something similar for your system. o Added an appnote about a problem experienced with Trusted Solaris. o Added doc/misc directory to start collecting interesting tidbits which may help people get their servers going. o The FIXES files were really cluttering up the base directory. Moved them to a directory under doc. o The 'log security' ftpaccess clause covered all but a few messages about filesystem operations. It now covers the few it missed. o Under some conditions _PATH_WTMP was not being set in pathnames.h o QUOTA is now supported for Solaris. o Trusted Solaris needed additional functionality in ftpcount (ftpwho). o File locking in ftpcount (ftpwho) was never completed. o Port to HP/UX corrected. o 'make install' now accepts DESTDIR to install into a directory structure other than the root file system. A number of other optional parameters are available to override the default ownership of the installed files. Missing directories are automatically created. File permisssions were reduced to the minimum necessary. o Dead code removed. o The Makefile for Linux now automatically detects if PAM is installed and compiles the daemon to use it. o Fix an uninitialized variable in ftpshut which could effect the way the command works with default values. o Suppress trailing blanks from the output of a wide 'ps' in the ftpcount (ftpwho) command. Just making things pretty. o Updated upload.configuration.HOWTO to describe more of the configuration having to do with class= rules and overwrite, delete and rename clauses. o Added vers.c and edit to 'make cleandir' in the src directory. These files are automatically created during the build process. o Added a restrict_check(".") in the LIST command for consistency with the remainder of the code in ftpcmd.y. o Corrected the 'restricted' users feature so it would play nicely with web clients and the way some of them mis-interpret FTP URLs.
1999-12-27 13:13:04 +01:00
man/man1/ftpcount.1
man/man1/ftpwho.1
man/man5/ftpaccess.5
man/man5/ftpconversions.5
man/man5/ftphosts.5
man/man5/ftpservers.5
Update wu-ftpd to 2.6.0. Changes in 2.6.0: o On sigpipe, always log a lost connection. o Added a log message on attempts to download files marked unretrievable. o The SITE NEWER feature has been disabled. A compile-time option has been added to re-enable it. See config.h.noac for more information on this. o With restricted-uid/gid, CWD to a non-existant directory would display the full pathname rather than just relative to the user's home. Actually, the fix catches most cases where this could occur, not just the CWD verb. o Fixed a bug in the restricted-uid/gid feature which could allow access outside the user's home directory in some cases. o Bumped MAXHST (max. hosts allowed on a line) for ftphosts from 10 to 12. Fixed a bug related to this which can cause the server to crash checking host access. o The internal ls (see below) was judged to be unready. It has been disabled by default but can be enabled with a compile-time option for those who wish to attempt to debug it (be warned, it has a lot of problems). o Split the "bad shell or user not in ftpusers" syslog message into two messages to prevent confusion. o Filename globs for LIST, NLST and SITE EXEC, as well as a few internal uses, are cleaned up before processing. For example: */./../* becomes just *. This prevents certain memory starvation DoS attacks. o Corrections for RFC compliance can break some clients. If possible, the broken client should be updated, but a compile-time option has been added. See the config.h.noac for more information on this. o Created doc/HOWTO directory and moved VIRTUAL.FTP.SUPPORT and upload.configuration.HOWTO there. o Add a README.AUTOCONF file describing the autoconf build in detail. o UC, Berkeley, has removed the requirement that all advertising material must include credit to them. Removed the clause from the LICENSE and the historical licenses in the COPYRIGHT file. o Added the email-on-upload feature from BeroFTPD. See the ftpaccess man page for defaults on these added ftpaccess clauses: mailserver <hostname> incmail <emailaddress> mailfrom <emailaddress> virtual <address> incmail <emailaddress> virtual <address> mailfrom <emailaddress> defaultserver incmail <emailaddress> defaultserver mailfrom <emailaddress> o Redhat added the -I option to disable RFC931 (AUTH/ident). Added to the baseline so Redhat users don't see a loss of a feature. Setting the timeout for rfc931 to zero will do the same thing in the ftpaccess file. o The test for whether restricted-uid/restricted-gid applied should have been done before the chroot so it used the system /etc/passwd and /etc/group files. o CDUP when you were already at the home directory, would complain about you being restricted (if you were). Instead it should give a positive reply, and do nothing. This makes it behave more like CDUP when you're not restricted to your home directory. o deny-uid and deny-gid were being tested for anonymous users. Bad move, it's too easy to forget to allow them. Use 'defaultserver private' to keep anonymous users away. o Correct the operation of the NLST command. Finally. mget should now work as users expect it to. o Prevent buffer overruns when processing message files. o Correct a reference through a NULL pointer when doing S/Key authentication and the user is not in the passwd file. o Check the return code from select() when setting up a data connection. Under some rare conditions it is possible that the select was called for an fd_set which has no members, hanging the daemon. o Ensure a pattern of "*" matches everything. The new path_compare (used on upload and throughput clauses in the ftpaccess file) sets the option FNM_PATHNAME, so: * matches everything /* matches everything /*/* matches /dogs/toto and /dogs/toto/photos but not /dogs o setproctitle() support added for UnixWare. o Removed all FIXES files. Merged their contents into this CHANGES file (the one you're reading now). The old doc/FIXES directory has been tar'd and will be placed in the attic when 2.6.0 releases. o Corrected an error in the MAPPING_CHDIR feature which could be used to gain root privileges on the server. o Added -V command-line option to View the copyright and exit. o Added the privatepw command and documentation. o Port for FreeBSD corrected. o Adding the LICENSE file to the baseline. o Added print_copyright function so our copyright is embedded in the executables. o WU-FTPD Development Group copyright headers added. Original Copyright headers moved into the COPYRIGHT file. o RCS Ids from 2.4.x removed and new templates added for wu-ftpd.org usage. o Make sure the signal context is restored when jumping out of signal handlers. This was causing signal 11 on some systems. o Cleaned up the how-to of setting up virtual hosting support. o Corrected header file dependencies. o Changed NLST to nlst, necessary as ftpcmd.c #defines NLST. o Tidied up virtual variables. o Changed so compiles cleanly on SCO OpenServer 5, UnixWare 2 and UnixWare 7. o Anonymous users could get in even though no class was defined for them. o Support for non-ANSI/ISO compilers has been removed. You MUST have and ANSI/ISO C compiler. This has been true for some time, all that has changed is the (incomplete) support for older (K&R) compilers has been removed. o Added Kent Landfield's NEWVIRT scheme for extensive virutal hosting. See the updated documentation on virtual hosting for details. o ftprestart has been added to the base daemon kit. o A buffer overrun in the ftpshut command has been corrected. Since, on most sites, the ftpshut command is only usable by the superuser, this is not considered a security issue. If you have installed ftpshut with suid-root permissions (not the default), then there is the possibility this overrun could be used to leverage root permissions. o Several new ftpaccess clauses have been added. These allow control of the various timeouts used within the daemon. The new clauses are: timeout accept <seconds> timeout connect <seconds> timeout data <seconds> timeout idle <seconds> timeout maxidle <seconds> timeout RFC931 <seconds> o Myriad places where inactivity timeouts were not being properly detected or handled have been corrected. The built-in directory listings, both the original NLST and the build-in LIST (ls), now detect inactivity. The original NLST did not which could lead to hanging daemons. C FILE handles for data connections are now always flushed, then the socket is shutdown cleanly before being closed. As a side effect, the daemon now more often properly detects incomplete transfers. This can lead, though, to the xferlog showing the correct byte count (meaning the daemon read or wrote that many bytes over the data connection), but still log the transfer as incomplete (meaning the socket did not properly shutdown so the client probably missed some data). o The daemon no longer attempts to replace the system's <arpa/ftp.h> header when compiling. Instead, it uses its own local copy at all times. o The daemon will now wait for the transfer to complete before sending 'Transfer complete' or similar messages. This improves the daemon's reliability for poorly written clients which take recipt of the message as indication the transfer has completed rather than reading until the connection closes. o Guest and anonymous logout was not recorded on Linux. Removed call to updwtmp and returned to old method of updating the lastlog. o Script "vr.sh" is no longer needed. The Development Group will not be releasing patches to upgrade; they can be obtained from CVS if needed. o "realpath_on_steroids" is no longer needed. Removed. o Use a custom version of fnmatch() which changes the rules for matching file and directory names. The most visible result of this is noretrieve and allow-retrieve are now much more flexible. See the ftpaccess manpage for examples. o Use the correct SPT_TYPE for FreeBSD 2.0 or later. o Correct the class= logic on the allow-retrieve clause. o Enhanced DNS extensions. This adds three ftpaccess clauses: dns refuse_mismatch <filename> [override] dns refuse_no_reverse <filename> [override] dns resolveroptions [options] o Corrected a reference in the manpage for ftpconversions to ftpd. o The string 'path-filter' is now used in the system logs to describe problems resulting from failing a path-filter check. The daemon used to just say 'bad filename' which was misleading to some people. o Added instruction on how to support PAM on Solaris. Right now this means hand editing src/config/config.sol and src/makefiles/Makefile.sol. o Checking that all platforms use config.h, src/config/config.isc was found to have forgotten to include the file. o A security deficency on SunOS 4.1, not having a working getcwd() function, has been corrected by using the provided function. Compilation bugs in the portable getcwd() function have been corrected. o The daemon will no longer hang attempting to close the RFC931 socket when the remote end is firewalled and does not respond to traffic for this protocol. This was determined to be inappropriate handling of SIGALRM; handling for this signal has been cleaned up throughout the daemon. o The daemon may now be built using GNU autoconf. This is in the early stages and not all platforms may be supported. The old build system will be maintained for at least the 2.6.0 release; until the major platforms are all known to be supported. o Two new ftpaccess clauses have been added. These allows the site admin to selectively allow PORT and PASV data connections where the remote IP address does not match the remote IP address on the control connection. The new clauses are: port-allow <class> [<addrglob> ...] pasv-allow <class> [<addrglob> ...] o The daemon now includes an internal 'ls' command. o Ported to Mac OS/X. 0 Added (limited) support for AFS and DCE user authentication. This is only know to work on AIX, and needs porting to other platforms. For now, this requires hand work to enable. o Added an ftpaccess clause to enable TCP keepalives. This clause is: keepalive <yes|no> o You can now specify the xferlog filename for the default server just as you can for the virtual hosts; in the ftpaccess file. The new clause is: xferlog <absolute path> o ftpaccess manpage cleaned up. Many typos corrected, some techincal changes. Indentation should now be correct. o Apache's .indent.pro to the src and support directories. Ran all *.c and *.h files through it. ftpcmd.y has been indented by hand. The code is now a lot more readable! o A bug in the parsing for the deny !nameserved ftpaccess clause has been corrected. o Technical corrections in the ftpd manpage. o Add util/recompress.c as a more generic version of gzip2cmp.c ########################################################################### Changes in 2.5.0: o Change the handling of wtmp for GNU libc to use the Os-provided function updwtmp(). o Prevent some buffer overruns. o Fix permissions on some files installed by RPM, add the log rotation control file. o Change the seteuid() calls for fchown() and chown() for POSIXLY_CORRECT systems. o pid file locking in ftpcount (ftpwho) is now consistent with the way the daemon locks these files. o Cancel any pending alarm request to stop acl_remove() from being interrupted then called again via the SIGALRM handler, this should fix the flock on a bad file descriptor looping problem. o Use %m in syslog format strings in place of %s and strerror(), this simplifies #ifdefs. o For SCO, link ftpcount with libsocket, necessary as it now calls syslog(). o Added Redhat's RPM SPEC file for building RPMs. o English corrections in ftpaccess manpage. Technical correction: the noretrieve/allow-retrieve clauses do NOT support regular expressions. o Move where ftpglob stuff is defined to avoid compilation errors on some systems. o Port to SGI Irix version 4 corrected. o Overwrite behavior on uploads has been made consistent with shell usage. The daemon does not change ownership or permissions on overwrite. o Corrected the PASV command to bind to the correct interface (local IP address). o Removed the OVERWRITE and UPLOAD defines from platform config files; they are defined in the main config.h header. o Issuing CWD without any parameters caused a signal 11, crashing the daemon. o Port to HP/UX corrected. o Added ERRATA file to discuss problems with getcwd(). o Added a portable version of the getcwd() function for systems which do not have it or imcorrectly implement it. NextStep 3 uses this new function. o OPIE support was being disabled even though the proper command-line switches were being set. Corrected the use of opieverify(). o The fatal() function was not declared void; this was causing problems with some compilers. o Port to Hitachi HI-UX corrected. o Some calls to fnmatch() were missing parameters. o Corrected the 'restricted' user feature. It now works well with most FTP clients. o Correct usage of -d vs -e in the install Makefile for a number of platforms. o You can now use negated hostnames/addresses on the class ftpaccess clause. o Added an ftpaccess clause to specify random text for the initial greeting: greeting text <message> o Corrected password encryption/checking for Digital Unix with C2 security (SECUREOSF). o Merged the TODO file from the VR series with Stan's TODO file for the Academ betas. o Changed the various permission denial messages sent by the daemon to the client to make it clear the message originated from the server. o Ports to SCO, Solaris, uxw, ptx and isc corrected. o Use the newer SEEK_ defines in place of the old BSD L_ defines and removed the global definition of entry, each function should define it locally. o Removed an unnecessary lseek(L_SET) in ftpcount (ftpwho). o Link ftpcount and ftpshut with ${XXLIBS}. o Made strsep() definition consistent with BSD and Linux. Add strsep() definition to conversions.c. o Added #include <string.h> to ckconfig.c. o Replaced the _PATH_DEVNULL define with a #include of "pathnames.h" in popen.c. o Support long group access passwords if SecureWare or HPUX_10_TRUSTED are defined (using bigcrypt()). o Fixed a memory leak in restrict.c. o Digital Unix version 4 has a working getcwd(); use it instead of getwd(). o Stop restrict_list_check() from walking off the end of name. o Added -x command-line option to mean 'log syslog+xferlog'. o Changed the log ftpaccess clause to allow logging transfers to both the syslog and xferlog. The log ftpaccess clauses now include: log syslog log xferlog log syslog+xferlog o Formation of the WU-FTPD Development Group on 1 April, 1999. 2.4.2-VR17 chosen as initial baseline for the daemon. ########################################################################### Changes in 2.4.2-VR17: o Gregory A Lundberg resigns as the de-facto maintainer of WU-FTPD. "And you thought I was joking." o VIRTUAL is now the default for Solaris; all Solaris systems support multiple interfaces (IP addresses). o Fixed complaints involving virtual_len reported by several beta testers. o Some of the 'C' source code in ftpcmd.y depended upon a particular behavior when ANSI/ISO does not define it. Corrected so all compilers will properly interpret the code. o Corrected the support for QUOTA on Solaris. o The GNU EGCS 'C' compiler is broken. A quick check and we can avoid the brokenness. o Port to Ultrix corrected. o The default shell on NextStep wants -d instead of -e. Changed to test instead of [] since that's more portable; will probably do the same to other systems in a future release. o MNTMAXSTR was possibly undefined on Digital Unix 4.0 even when not using QUOTA_DEVICE, causing compilation errors. o Added daemonaddress to the ftpaccess manpage. o Added a note from Chad Price <cprice@molbio.unmc.edu> in src/logwtmp.c about the brokenness of Solaris' last command. o It turns out that not all SunOS 4.1 boxes actually have a getcwd() function. o The labels unix and __unix__ are depricated on BSD, effecting the logic for the reponse to the SYST command. o Added an appnote about OPIE. See src/makefiles/Makefile.lnx for a way to automatically have the daemon use OPIE. Send your Makefile if you do something similar for your system. o Added an appnote about a problem experienced with Trusted Solaris. o Added doc/misc directory to start collecting interesting tidbits which may help people get their servers going. o The FIXES files were really cluttering up the base directory. Moved them to a directory under doc. o The 'log security' ftpaccess clause covered all but a few messages about filesystem operations. It now covers the few it missed. o Under some conditions _PATH_WTMP was not being set in pathnames.h o QUOTA is now supported for Solaris. o Trusted Solaris needed additional functionality in ftpcount (ftpwho). o File locking in ftpcount (ftpwho) was never completed. o Port to HP/UX corrected. o 'make install' now accepts DESTDIR to install into a directory structure other than the root file system. A number of other optional parameters are available to override the default ownership of the installed files. Missing directories are automatically created. File permisssions were reduced to the minimum necessary. o Dead code removed. o The Makefile for Linux now automatically detects if PAM is installed and compiles the daemon to use it. o Fix an uninitialized variable in ftpshut which could effect the way the command works with default values. o Suppress trailing blanks from the output of a wide 'ps' in the ftpcount (ftpwho) command. Just making things pretty. o Updated upload.configuration.HOWTO to describe more of the configuration having to do with class= rules and overwrite, delete and rename clauses. o Added vers.c and edit to 'make cleandir' in the src directory. These files are automatically created during the build process. o Added a restrict_check(".") in the LIST command for consistency with the remainder of the code in ftpcmd.y. o Corrected the 'restricted' users feature so it would play nicely with web clients and the way some of them mis-interpret FTP URLs.
1999-12-27 13:13:04 +01:00
man/man5/xferlog.5
man/man8/ftpd.8
man/man8/ftprestart.8
man/man8/ftpshut.8
man/man8/privatepw.8
Update wu-ftpd to 2.6.0. Changes in 2.6.0: o On sigpipe, always log a lost connection. o Added a log message on attempts to download files marked unretrievable. o The SITE NEWER feature has been disabled. A compile-time option has been added to re-enable it. See config.h.noac for more information on this. o With restricted-uid/gid, CWD to a non-existant directory would display the full pathname rather than just relative to the user's home. Actually, the fix catches most cases where this could occur, not just the CWD verb. o Fixed a bug in the restricted-uid/gid feature which could allow access outside the user's home directory in some cases. o Bumped MAXHST (max. hosts allowed on a line) for ftphosts from 10 to 12. Fixed a bug related to this which can cause the server to crash checking host access. o The internal ls (see below) was judged to be unready. It has been disabled by default but can be enabled with a compile-time option for those who wish to attempt to debug it (be warned, it has a lot of problems). o Split the "bad shell or user not in ftpusers" syslog message into two messages to prevent confusion. o Filename globs for LIST, NLST and SITE EXEC, as well as a few internal uses, are cleaned up before processing. For example: */./../* becomes just *. This prevents certain memory starvation DoS attacks. o Corrections for RFC compliance can break some clients. If possible, the broken client should be updated, but a compile-time option has been added. See the config.h.noac for more information on this. o Created doc/HOWTO directory and moved VIRTUAL.FTP.SUPPORT and upload.configuration.HOWTO there. o Add a README.AUTOCONF file describing the autoconf build in detail. o UC, Berkeley, has removed the requirement that all advertising material must include credit to them. Removed the clause from the LICENSE and the historical licenses in the COPYRIGHT file. o Added the email-on-upload feature from BeroFTPD. See the ftpaccess man page for defaults on these added ftpaccess clauses: mailserver <hostname> incmail <emailaddress> mailfrom <emailaddress> virtual <address> incmail <emailaddress> virtual <address> mailfrom <emailaddress> defaultserver incmail <emailaddress> defaultserver mailfrom <emailaddress> o Redhat added the -I option to disable RFC931 (AUTH/ident). Added to the baseline so Redhat users don't see a loss of a feature. Setting the timeout for rfc931 to zero will do the same thing in the ftpaccess file. o The test for whether restricted-uid/restricted-gid applied should have been done before the chroot so it used the system /etc/passwd and /etc/group files. o CDUP when you were already at the home directory, would complain about you being restricted (if you were). Instead it should give a positive reply, and do nothing. This makes it behave more like CDUP when you're not restricted to your home directory. o deny-uid and deny-gid were being tested for anonymous users. Bad move, it's too easy to forget to allow them. Use 'defaultserver private' to keep anonymous users away. o Correct the operation of the NLST command. Finally. mget should now work as users expect it to. o Prevent buffer overruns when processing message files. o Correct a reference through a NULL pointer when doing S/Key authentication and the user is not in the passwd file. o Check the return code from select() when setting up a data connection. Under some rare conditions it is possible that the select was called for an fd_set which has no members, hanging the daemon. o Ensure a pattern of "*" matches everything. The new path_compare (used on upload and throughput clauses in the ftpaccess file) sets the option FNM_PATHNAME, so: * matches everything /* matches everything /*/* matches /dogs/toto and /dogs/toto/photos but not /dogs o setproctitle() support added for UnixWare. o Removed all FIXES files. Merged their contents into this CHANGES file (the one you're reading now). The old doc/FIXES directory has been tar'd and will be placed in the attic when 2.6.0 releases. o Corrected an error in the MAPPING_CHDIR feature which could be used to gain root privileges on the server. o Added -V command-line option to View the copyright and exit. o Added the privatepw command and documentation. o Port for FreeBSD corrected. o Adding the LICENSE file to the baseline. o Added print_copyright function so our copyright is embedded in the executables. o WU-FTPD Development Group copyright headers added. Original Copyright headers moved into the COPYRIGHT file. o RCS Ids from 2.4.x removed and new templates added for wu-ftpd.org usage. o Make sure the signal context is restored when jumping out of signal handlers. This was causing signal 11 on some systems. o Cleaned up the how-to of setting up virtual hosting support. o Corrected header file dependencies. o Changed NLST to nlst, necessary as ftpcmd.c #defines NLST. o Tidied up virtual variables. o Changed so compiles cleanly on SCO OpenServer 5, UnixWare 2 and UnixWare 7. o Anonymous users could get in even though no class was defined for them. o Support for non-ANSI/ISO compilers has been removed. You MUST have and ANSI/ISO C compiler. This has been true for some time, all that has changed is the (incomplete) support for older (K&R) compilers has been removed. o Added Kent Landfield's NEWVIRT scheme for extensive virutal hosting. See the updated documentation on virtual hosting for details. o ftprestart has been added to the base daemon kit. o A buffer overrun in the ftpshut command has been corrected. Since, on most sites, the ftpshut command is only usable by the superuser, this is not considered a security issue. If you have installed ftpshut with suid-root permissions (not the default), then there is the possibility this overrun could be used to leverage root permissions. o Several new ftpaccess clauses have been added. These allow control of the various timeouts used within the daemon. The new clauses are: timeout accept <seconds> timeout connect <seconds> timeout data <seconds> timeout idle <seconds> timeout maxidle <seconds> timeout RFC931 <seconds> o Myriad places where inactivity timeouts were not being properly detected or handled have been corrected. The built-in directory listings, both the original NLST and the build-in LIST (ls), now detect inactivity. The original NLST did not which could lead to hanging daemons. C FILE handles for data connections are now always flushed, then the socket is shutdown cleanly before being closed. As a side effect, the daemon now more often properly detects incomplete transfers. This can lead, though, to the xferlog showing the correct byte count (meaning the daemon read or wrote that many bytes over the data connection), but still log the transfer as incomplete (meaning the socket did not properly shutdown so the client probably missed some data). o The daemon no longer attempts to replace the system's <arpa/ftp.h> header when compiling. Instead, it uses its own local copy at all times. o The daemon will now wait for the transfer to complete before sending 'Transfer complete' or similar messages. This improves the daemon's reliability for poorly written clients which take recipt of the message as indication the transfer has completed rather than reading until the connection closes. o Guest and anonymous logout was not recorded on Linux. Removed call to updwtmp and returned to old method of updating the lastlog. o Script "vr.sh" is no longer needed. The Development Group will not be releasing patches to upgrade; they can be obtained from CVS if needed. o "realpath_on_steroids" is no longer needed. Removed. o Use a custom version of fnmatch() which changes the rules for matching file and directory names. The most visible result of this is noretrieve and allow-retrieve are now much more flexible. See the ftpaccess manpage for examples. o Use the correct SPT_TYPE for FreeBSD 2.0 or later. o Correct the class= logic on the allow-retrieve clause. o Enhanced DNS extensions. This adds three ftpaccess clauses: dns refuse_mismatch <filename> [override] dns refuse_no_reverse <filename> [override] dns resolveroptions [options] o Corrected a reference in the manpage for ftpconversions to ftpd. o The string 'path-filter' is now used in the system logs to describe problems resulting from failing a path-filter check. The daemon used to just say 'bad filename' which was misleading to some people. o Added instruction on how to support PAM on Solaris. Right now this means hand editing src/config/config.sol and src/makefiles/Makefile.sol. o Checking that all platforms use config.h, src/config/config.isc was found to have forgotten to include the file. o A security deficency on SunOS 4.1, not having a working getcwd() function, has been corrected by using the provided function. Compilation bugs in the portable getcwd() function have been corrected. o The daemon will no longer hang attempting to close the RFC931 socket when the remote end is firewalled and does not respond to traffic for this protocol. This was determined to be inappropriate handling of SIGALRM; handling for this signal has been cleaned up throughout the daemon. o The daemon may now be built using GNU autoconf. This is in the early stages and not all platforms may be supported. The old build system will be maintained for at least the 2.6.0 release; until the major platforms are all known to be supported. o Two new ftpaccess clauses have been added. These allows the site admin to selectively allow PORT and PASV data connections where the remote IP address does not match the remote IP address on the control connection. The new clauses are: port-allow <class> [<addrglob> ...] pasv-allow <class> [<addrglob> ...] o The daemon now includes an internal 'ls' command. o Ported to Mac OS/X. 0 Added (limited) support for AFS and DCE user authentication. This is only know to work on AIX, and needs porting to other platforms. For now, this requires hand work to enable. o Added an ftpaccess clause to enable TCP keepalives. This clause is: keepalive <yes|no> o You can now specify the xferlog filename for the default server just as you can for the virtual hosts; in the ftpaccess file. The new clause is: xferlog <absolute path> o ftpaccess manpage cleaned up. Many typos corrected, some techincal changes. Indentation should now be correct. o Apache's .indent.pro to the src and support directories. Ran all *.c and *.h files through it. ftpcmd.y has been indented by hand. The code is now a lot more readable! o A bug in the parsing for the deny !nameserved ftpaccess clause has been corrected. o Technical corrections in the ftpd manpage. o Add util/recompress.c as a more generic version of gzip2cmp.c ########################################################################### Changes in 2.5.0: o Change the handling of wtmp for GNU libc to use the Os-provided function updwtmp(). o Prevent some buffer overruns. o Fix permissions on some files installed by RPM, add the log rotation control file. o Change the seteuid() calls for fchown() and chown() for POSIXLY_CORRECT systems. o pid file locking in ftpcount (ftpwho) is now consistent with the way the daemon locks these files. o Cancel any pending alarm request to stop acl_remove() from being interrupted then called again via the SIGALRM handler, this should fix the flock on a bad file descriptor looping problem. o Use %m in syslog format strings in place of %s and strerror(), this simplifies #ifdefs. o For SCO, link ftpcount with libsocket, necessary as it now calls syslog(). o Added Redhat's RPM SPEC file for building RPMs. o English corrections in ftpaccess manpage. Technical correction: the noretrieve/allow-retrieve clauses do NOT support regular expressions. o Move where ftpglob stuff is defined to avoid compilation errors on some systems. o Port to SGI Irix version 4 corrected. o Overwrite behavior on uploads has been made consistent with shell usage. The daemon does not change ownership or permissions on overwrite. o Corrected the PASV command to bind to the correct interface (local IP address). o Removed the OVERWRITE and UPLOAD defines from platform config files; they are defined in the main config.h header. o Issuing CWD without any parameters caused a signal 11, crashing the daemon. o Port to HP/UX corrected. o Added ERRATA file to discuss problems with getcwd(). o Added a portable version of the getcwd() function for systems which do not have it or imcorrectly implement it. NextStep 3 uses this new function. o OPIE support was being disabled even though the proper command-line switches were being set. Corrected the use of opieverify(). o The fatal() function was not declared void; this was causing problems with some compilers. o Port to Hitachi HI-UX corrected. o Some calls to fnmatch() were missing parameters. o Corrected the 'restricted' user feature. It now works well with most FTP clients. o Correct usage of -d vs -e in the install Makefile for a number of platforms. o You can now use negated hostnames/addresses on the class ftpaccess clause. o Added an ftpaccess clause to specify random text for the initial greeting: greeting text <message> o Corrected password encryption/checking for Digital Unix with C2 security (SECUREOSF). o Merged the TODO file from the VR series with Stan's TODO file for the Academ betas. o Changed the various permission denial messages sent by the daemon to the client to make it clear the message originated from the server. o Ports to SCO, Solaris, uxw, ptx and isc corrected. o Use the newer SEEK_ defines in place of the old BSD L_ defines and removed the global definition of entry, each function should define it locally. o Removed an unnecessary lseek(L_SET) in ftpcount (ftpwho). o Link ftpcount and ftpshut with ${XXLIBS}. o Made strsep() definition consistent with BSD and Linux. Add strsep() definition to conversions.c. o Added #include <string.h> to ckconfig.c. o Replaced the _PATH_DEVNULL define with a #include of "pathnames.h" in popen.c. o Support long group access passwords if SecureWare or HPUX_10_TRUSTED are defined (using bigcrypt()). o Fixed a memory leak in restrict.c. o Digital Unix version 4 has a working getcwd(); use it instead of getwd(). o Stop restrict_list_check() from walking off the end of name. o Added -x command-line option to mean 'log syslog+xferlog'. o Changed the log ftpaccess clause to allow logging transfers to both the syslog and xferlog. The log ftpaccess clauses now include: log syslog log xferlog log syslog+xferlog o Formation of the WU-FTPD Development Group on 1 April, 1999. 2.4.2-VR17 chosen as initial baseline for the daemon. ########################################################################### Changes in 2.4.2-VR17: o Gregory A Lundberg resigns as the de-facto maintainer of WU-FTPD. "And you thought I was joking." o VIRTUAL is now the default for Solaris; all Solaris systems support multiple interfaces (IP addresses). o Fixed complaints involving virtual_len reported by several beta testers. o Some of the 'C' source code in ftpcmd.y depended upon a particular behavior when ANSI/ISO does not define it. Corrected so all compilers will properly interpret the code. o Corrected the support for QUOTA on Solaris. o The GNU EGCS 'C' compiler is broken. A quick check and we can avoid the brokenness. o Port to Ultrix corrected. o The default shell on NextStep wants -d instead of -e. Changed to test instead of [] since that's more portable; will probably do the same to other systems in a future release. o MNTMAXSTR was possibly undefined on Digital Unix 4.0 even when not using QUOTA_DEVICE, causing compilation errors. o Added daemonaddress to the ftpaccess manpage. o Added a note from Chad Price <cprice@molbio.unmc.edu> in src/logwtmp.c about the brokenness of Solaris' last command. o It turns out that not all SunOS 4.1 boxes actually have a getcwd() function. o The labels unix and __unix__ are depricated on BSD, effecting the logic for the reponse to the SYST command. o Added an appnote about OPIE. See src/makefiles/Makefile.lnx for a way to automatically have the daemon use OPIE. Send your Makefile if you do something similar for your system. o Added an appnote about a problem experienced with Trusted Solaris. o Added doc/misc directory to start collecting interesting tidbits which may help people get their servers going. o The FIXES files were really cluttering up the base directory. Moved them to a directory under doc. o The 'log security' ftpaccess clause covered all but a few messages about filesystem operations. It now covers the few it missed. o Under some conditions _PATH_WTMP was not being set in pathnames.h o QUOTA is now supported for Solaris. o Trusted Solaris needed additional functionality in ftpcount (ftpwho). o File locking in ftpcount (ftpwho) was never completed. o Port to HP/UX corrected. o 'make install' now accepts DESTDIR to install into a directory structure other than the root file system. A number of other optional parameters are available to override the default ownership of the installed files. Missing directories are automatically created. File permisssions were reduced to the minimum necessary. o Dead code removed. o The Makefile for Linux now automatically detects if PAM is installed and compiles the daemon to use it. o Fix an uninitialized variable in ftpshut which could effect the way the command works with default values. o Suppress trailing blanks from the output of a wide 'ps' in the ftpcount (ftpwho) command. Just making things pretty. o Updated upload.configuration.HOWTO to describe more of the configuration having to do with class= rules and overwrite, delete and rename clauses. o Added vers.c and edit to 'make cleandir' in the src directory. These files are automatically created during the build process. o Added a restrict_check(".") in the LIST command for consistency with the remainder of the code in ftpcmd.y. o Corrected the 'restricted' users feature so it would play nicely with web clients and the way some of them mis-interpret FTP URLs.
1999-12-27 13:13:04 +01:00
sbin/ftpckconfig
sbin/ftprestart
sbin/ftpshut
sbin/privatepw
share/examples/wu-ftpd/ftpaccess.example
share/examples/wu-ftpd/ftpconversions.example
share/examples/wu-ftpd/ftpusers.example
@dirrm share/examples/wu-ftpd