4e291471196e05e6ec299b3a2187957c1b432e59
[oftpd.git] / TODO
1 $Id$
2
3 User requested:
4
5 - STOR
6
7 - User login
8
9 - Bandwidth limits
10
11 From RIPE:
12
13 - Limit maximum download time
14
15 Externally visible:
16
17 - Add support for SIZE command (RFC 959?)
18
19 - Add support for STAT command (RFC 959?)
20
21 - Add support for the RECORD structure in transfer.  
22   Surely someone must use it.  :)
23
24 - Allow server messages to be configurable.  I'm not sure of the best way
25   to do this.  The problem is that this entails putting the messages in a
26   single location, which means that you *don't* see what the message is 
27   when you are looking through the code.  Hm.  I may just make it a 
28   comment in the code to allow readability.
29
30 - Better LIST and NLST support.
31
32 - Drop browser connections before the 15-minute timeout.  You can detect
33   this by looking for users who logged in as "mozilla@" or "IEUser@".
34   In Perl, this would be /^.+\@$/
35
36
37 Internal use only:
38
39 - Handle glob() returns more elegantly.  Right now if a glob() returns 0 files,
40   it's okay.  This should return an error unless a wildcard was specified.
41
42 - Possibly write our own glob() to reduce memory fragmentation.
43
44 - Perhaps buffer NLST and LIST output.
45
46 - Use getrlimit()/setrlimit() to cap the amount of memory allowable, and
47   possibly other resources as well.
48
49
50 Auditing requirements:
51
52 - Run through its4, and find other lint-like tools to pound code with.
53
54 - Sprinkle assert() more fully.
55
56
57 Testing:
58
59 - Find more ftp clients
60
61 - Create automated test
62
63 - Run on multi-CPU box
64
65
66 Porting:
67
68 - Compile on FreeBSD
69
70 - Port to Windows?
71
72
73 Other stuff:
74
75 - Document design
76
77 - pth support?