$Id: TODO,v 1.1 2004/08/18 03:13:40 alfille Exp $

User requested:

- STOR

- User login

- Bandwidth limits

From RIPE:

- Limit maximum download time

Externally visible:

- Add support for SIZE command (RFC 959?)

- Add support for STAT command (RFC 959?)

- Add support for the RECORD structure in transfer.  
  Surely someone must use it.  :)

- Allow server messages to be configurable.  I'm not sure of the best way
  to do this.  The problem is that this entails putting the messages in a
  single location, which means that you *don't* see what the message is 
  when you are looking through the code.  Hm.  I may just make it a 
  comment in the code to allow readability.

- Better LIST and NLST support.

- Drop browser connections before the 15-minute timeout.  You can detect
  this by looking for users who logged in as "mozilla@" or "IEUser@".
  In Perl, this would be /^.+\@$/


Internal use only:

- Handle glob() returns more elegantly.  Right now if a glob() returns 0 files,
  it's okay.  This should return an error unless a wildcard was specified.

- Possibly write our own glob() to reduce memory fragmentation.

- Perhaps buffer NLST and LIST output.

- Use getrlimit()/setrlimit() to cap the amount of memory allowable, and
  possibly other resources as well.


Auditing requirements:

- Run through its4, and find other lint-like tools to pound code with.

- Sprinkle assert() more fully.


Testing:

- Find more ftp clients

- Create automated test

- Run on multi-CPU box


Porting:

- Compile on FreeBSD

- Port to Windows?


Other stuff:

- Document design

- pth support?
