/****************************************************************************  
 
  Copyright (c) 1999,2000 WU-FTPD Development Group.  
  All rights reserved.
  
  Portions Copyright (c) 1980, 1985, 1988, 1989, 1990, 1991, 1993, 1994
    The Regents of the University of California.
  Portions Copyright (c) 1993, 1994 Washington University in Saint Louis.
  Portions Copyright (c) 1996, 1998 Berkeley Software Design, Inc.
  Portions Copyright (c) 1989 Massachusetts Institute of Technology.
  Portions Copyright (c) 1998 Sendmail, Inc.
  Portions Copyright (c) 1983, 1995, 1996, 1997 Eric P.  Allman.
  Portions Copyright (c) 1997 by Stan Barber.
  Portions Copyright (c) 1997 by Kent Landfield.
  Portions Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997
    Free Software Foundation, Inc.  
 
  Use and distribution of this software and its source code are governed 
  by the terms and conditions of the WU-FTPD Software License ("LICENSE").
 
  If you did not receive a copy of the license, it may be obtained online
  at http://www.wu-ftpd.org/license.html.
 
  $Id: TODO,v 1.11 2000/07/01 17:49:09 wuftpd Exp $
 
****************************************************************************/

TODO 

o Add a configuration option changing the behavior of the daemon when an
  upload overwrites an existing file.  Version 2.5.0 of the daemon leaves the
  original ownership and permissions unchanged.  This option would have the
  overwrite obey the ownership and permissions specified on the upload
  clause.  This feature will be added only if there appears to be a desire
  for it.

o Rewrite all configuration file handling for robustness and calrity.

o Limit logins based upon system load.  From a patch submitted to the
  mailing list by pschwan@apk.net on Sep 27, 1997.  This closes Stan's TODO
  item 18.  Phil has lost his patch.  I'm thinking about yanking the code
  from sendmail to determine the system load and recreating Phil's work from
  that base.

o Limit logins and/or uploads based upon free space.  Take a look at how
  sendmail determines how much space is available.

o Add 'onupload' syntax to run external programs/scripts at the end of an
  upload.  A Frequently Requested Feature.  From a request to the mailing
  list from breif@rol3.com on Aug 25, 1997.

o Add 'virtual-retrieve' to run specified program and pipe output when a
  given GET is handled.  If wildcards/globbing/regex is allowed, pass the
  requested name to the program for processing.

o Use a stats file in addition to or in place of SETPROCTITLE.  From a patch
  referenced on the mailing list by mjm@doc.ic.ac.uk on Jun 12, 1997.  This
  closes Stan's TODO items 4 and 6 and possbily item 8.  I'm thinking about
  yanking the code from Apache's scoreboard to use as a base for this.

o Add ability to limit connections by domain. 

o Enhance ftp-pid files to become single file with continuous process
   status.

o Write ftpstat program, including -k option to kill off all FTP daemons

o Write dynamic ftp monitoring program

o Add ability to log different info to different files

o Write ftplogd.  Ftp processes send log info to ftplogd which configurably
    writes data to a lot of different places (syslog[@loghost], logfile(s)).

o Add ability to limit total connections from any domain.

o Include descriptive ls program, add ".private" file to disable
    directory listings...

o Include system load as a limit parameter (load < xxx, maxusers = nnn)

o Log more information into PID files:
        - files/bytes transferred
        - current action (a la SETPROCNAME)
        - remote host
        - classes

o Write an ftp status program to take advantage of new PID file

o Add exclusions available in the timeout or transfer limiting code. 
  We really should be able to exclude some sites from those limitations.
  Reasoning:

        1. Company has a public ftp site where limitations
           should exist but does not want to see their
           internal uses limited in any way.

        2. Public sites that have official mirrors should
           be able to grant exclusions to the official 
           mirror sites so that the mirroring process is
           not aborted leaving the official mirrors in an
           possible inconsistent state until the next 
           mirroring cycle.

o Investigate the feasability of adding rlimits as configuration options.
