Hmmmmm... :-)

1. What is it?
--------------
BetaFTPD is a *single*-threaded FTP daemon (server). This makes it _faster_
than most other FTP daemons, contrary to popular belief. BetaFTPD is,
as the name implies, work in progress (name suggestions, please?). Please
don't expect it to be finished yet!

2. How do you build it?
-----------------------
Version 0.0.5 adds support for GNU autoconf. Just type:

./configure
make

And see what happens. (Run the resulting file called `betaftpd', of
course...) There are some flags that you can give to `configure':

--enable-xferlog	Makes the server output some logging information
			to /usr/adm/xferlog (usually linked to
			/var/log/xferlog).
--enable-fullscreen	Makes the server start in fullscreen mode, where you
			can see what the users are doing, their transfer
			speed etc.
--enable-upload		Enable STOR (uploading) command, and all neccessary
			code for uploading.
--enable-shadow		Enable support for shadow passwords.
--enable-fork		Makes the server fork into the background, so you
			can logout etc. without `disturbing' it.

To get the smallest executable possible, _first_ check everything
in `strip-exec' (don't complain to me if it doesn't work!), and type:

strip-exec

3. Some things to note
----------------------
a) BetaFTPD runs on port 121, you wouldn't want it to run on 21 for now. If
   you *really* need it, I guess you're smart enough to do it yourself... Of
   course this will be changed, when BetaFTPD is good enough.
b) BetaFTPD must definitely be run as root.
c) Several commands and features are missing: Deletion, create directory,
   just to name a few... (But features are rapidly added.)
d) BetaFTPD can _not_ be run from inetd. This is part of the design decision.

4. Design decisions
-------------------
BetaFTPD was originally designed to be a single-threaded FTP server,
nothing else. After a while, work was done to reduce the executable size,
and from then, design was more and more concentrated around a
`minimalistic' server (after all, the fewer lines of code there are to
execute, the faster will things go, and the fewer bugs are possible).

However, as GNU autoconf support was added, it was realized that
features could be added and selected by users without hurting overall
speed or size for the others. Therefore, more and more features are
(and will be) implemented in BetaFTPD.

There are intendedly no command line switches it BetaFTPD. Such switches
are generally there to make for quick change of options without
recompiling the program. This is ideal for most command-line utilities,
but is rather pointless for an FTP server. FTP servers are designed
to be online 24 hours a day, 7 days a week, and serve users with files.
Rapid changes of configuration (in the form of command line switches)
is usually not important, and has thus been omitted from BetaFTPD.

5. Misc.
--------
Have fun -- after all, it's about 4% the size of wu-ftpd (under 15k
compiled!) and provides (IMHO) about 70% of the needed, everyday
functionality -- in fact, if you only need basic commands, it's faster
(=better?) and uses *much* less memory (especially when you have many
users logged in at once) than the majority of the FTP servers out
there... (6 line sentence.)

This program is GPLed, version 2 (see the file COPYING). For more info on
the GPL, visit http://www.gnu.org/ .

6. Where to get new versions, contact me etc.
---------------------------------------------
E-mail:			sgunderson@bigfoot.com (all spam/flame go
			to antispam@bigfoot.com or /dev/null)
Homepage, new versions:	http://members.xoom.com/sneeze/
Mirror site:		ftp://metalab.unc.edu/pub/Linux/system/network/daemons/
			(Note that Metalab will ialways lag behind a few days.)
