Project description.

The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows NT.

The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards

Apache 1.3.20 Changelog
  • Autodetect if platforms have isnan() and/or isinf() for use in ap_snprintf.c. [Jim Jagielski]
  • SECURITY DoS: CVE-2001-1342 ( Correct a vulnerability in the Win32 and OS2 ports, by which a client submitting a carefully constructed URI could cause a GP (segment) fault in the child process, which would have to be cleared by the operator to resume operation. This vulnerability introduced no identified means of compromising the server's data. Reported by Auriemma Luigi . [William Rowe, Brian Havard]
  • Resolve the Win32 SSI exec cmd bug, where cmd was not executed appropriately against the shell. [William Rowe]
  • Added NOESCAPE (NS) flag to RewriteRule and enabled use of '\' to allow escaping of special characters. Previously there was no way to embed either '$' or '%' in the output of a RewriteRule; now 'foo\$1' will result in a literal 'foo$1' appearing in the result rather than 'foo\'. Note that [NS] disables *all* normal URI escaping, so incautious use can give unexpected results. [Ken Coar]
  • Add support for Win32 apxs. Note that cygwin builders must use a cygwin perl to avoid the MSWin32 handling. [William Rowe]
  • Changed the initial screen handling for NetWare so that the -s parameter will properly destroy the Apache console screen and switch to the system console screen. Also removed the call to clrscr() for NetWare so that any warning messages produced during startup are visible. [Brad Nicholes ]
  • Integrate support for the Cygwin 1.x platform (a POSIX emulation layer for Win32 systems, see [Stipe Tolj ]
  • Hooked calls to opendir() and readdir() so that we could add '.' and '..' to the entry list. By default NetWare does not return these entries which caused mod_autoindex not to display the parent directory entry. [Brad Nicholes ]
  • Solved a very serious threading problem with WinNT/2K Services. The moment master_main told that the shutdown was complete, the parent control thread exited Apache, leaving mod_jserv's Java process running and alternately invoking mod_perl's cleanups from the correct thread or the service control thread. [William Rowe]
  • Populate the Win32 HKLM\System\CurrentControlSet\Services\[apachesvc] key with the Description value of the running server across all Win32 platforms, including NT, ME and 9x. This value is the server_version string including loaded modules. [William Rowe]
  • Fix ndbm.h include problems with various Linux distributions and brain-dead glibc >= 2.1, which sometimes have ndbm.h in a non-standard db1/ subdir. PR#6929 [Victor J. Orlikowski]
  • Empty headers are allowed by RFC2068 section 4.2. The presence or absence of an empty header can be significant. The current mod_proxy of httpd 1.3.x removes empty headers. Change mod_proxy to preserve empty headers. [Christian von Roques ]
  • Enhance rotatelogs so that a UTC offset can be specified, and the logfile name can be formatted using strftime(3). [Ken Coar]
  • Fix a possible NULL pointer dereference in the detection of the default ServerName or IP string (introduced in 1.3.18). [Ignasi Roca, ]
  • Make EBCDIC conversion fully configurable. Until now, apache relied on some (incomplete) heuristics, and would fail to correctly serve text files when they had a MIME type of application/anything, like application/x-javascript. The new conversion directives allow defining the conversion based on MIME type or file suffix. [Martin Kraemer]
  • Add a -V flag to suexec, which causes it to display the compile-time settings with which it was built. (Only usable by root or the HTTPD_USER username.) [Ken Coar]
  • Set the Win32 service description in the Services control panel to the server_version string from Apache and the loaded modules. [William Rowe]
  • Added a new API for NetWare, ap_os_dso_unsym(), to allow Apache the chance to unimport module symbols before it shuts down. This is necessary so that Apache on NetWare can shutdown cleanly in an error condition such as a failure while reading the httpd.conf file. [Brad Nicholes ]
  • Introduce NUL device pipes for stdin and stdout for the parent Win32 service process. This solves bugs such as PR7198 that report "dup2(stdin) failed" when trying to use piped logs. [William Rowe]