Why doesn NCSA HTTPd work on my Linux system?
NCSA HTTPd is not crippled. Linux may be crippled. NCSA HTTPd uses a standard BSD4 and SYSV feature known as file descriptor passing. NCSA HTTPd supports both the BSD and SYSV style of file descriptor passing. Linux chose not to implement either. NCSA HTTPd 1.4.x was released such that the standard compile was to use the NO_PASS feature, which causes NCSA HTTPd to operate similar to the way it did in 1.3 (albeit, it is still faster). Someone devised a hack to use the /proc filesystem under Linux to pass the file descriptors. By request, I included the code for this in NCSA HTTPd. Around kernel version 1.3.17, it was discovered that there were several possible security holes in the /proc filesystem, so the kernel was changed to disallow this hack. Supposedly, Linux kernels in the late 1.3.x series will support one of the standard file descriptor passing mechanisms. I do not have access to any Linux system past 1.2.13 (the last stable release). All such systems I have tried work flawless