[To my homepage]
FTP servers for Unix are generally multithreaded, starting one new process for every new user that connects. Needless to say, this is a major waste of memory and CPU time. What can you do about it? Read on...
If you're concerned about the format string vulnerability problems that recently have been discovered in multiple programs and libraries (including wu-ftpd and glibc), BetaFTPD has not (and, to the best of my knowledge, has never) got any problems of this kind (as long as your glibc is secure, of course). Just so you can sleep safe at night :-)
BetaFTPD is an ftpd replacement for Unix/Linux. In addition to being fast (because it's single-threaded), it is very small (the executable is about 20 kB uncompressed).
Most people think multithreading automatically means extra speed. I'm sorry, unless you have a multiprocessor machine, no. There are already single-threaded alternatives on the market (most notably Serv-U) for Windows, but currently none for Linux/Unix systems, and none of them are open-sourced. So I decided to write my own, and have some fun along the way. I can't remember where the size idea came from, but it could certainly be useful. (FYI, ftp.cdrom.com uses its own, light-weight solution for file serving.)
The latest stable version available is 0.0.7. It's available in gzip (40k) or bzip2 (36k) format. The latest prerelease version (which is actually more stable than 0.0.7) available is 0.0.8pre17. It is available in gzip (72k) or bzip2 (64k) format. (The Debian packages are also back! For minor things such as the .dsc file, see the download directory.) Please read the README file included.
There is also a tarball generated nightly from the CVS repository at http://cvs.sourceforge.net/cvstarballs/betaftpd-cvsroot.tar.gz, containing the very latest code for the prerelease version.
There is other stuff (like a CVS repository, a patch manager, a bug tracker and a mailing list) at the SourceForge project page.
If you have problems with your download (or just feel like using a mirror closer to you), here is a short list of sites I always send new versions to:
If you can do any C code, help would be greatly appreciated. Most of the requests are get are of the type `could you please implement feature XYZ, since I don't know C', and although such requests are great (and one of my biggest motivation sources), code would be even better... If you don't code or find bugs, just tell me you use it (if you do) -- I've had over 1500 downloads, and only 8-10 mails coming in. Feel free to link to this page. If you `feel the urge' to help out in these (or other ways -- creativity is always good), you can contact me via e-mail. I would be very happy to get a note if you intend to put it on CD, in a distribution (yeah, right), etc.
Page source was last modified October 1st, 2000.