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 2.0.21 Changelog
  • Resolve the Win32 htpasswd bug, where a file that existed would be overwritten, regardless of the -c flag. [William Rowe, Mladen Turk ]
  • Introduce connection sub-pools into ab. Truncating the lifetime of these allocations means that ab no longer perpetually grows its working set, running out of memory on large request attempts. [William Rowe]
  • Make scoreboard creation a hook. This allows management modules to have access to the scoreboard at the time that it is created, and at every restart request. [Cody Sherr ]
  • Changed AP_MPMQ_MAX_DAEMONS to refer to MaxClients and added an AP_MPMQ_MAX_DAEMON_USED to refer to the highest daemon index actually used in the scoreboard. I also updated the pertinent calls. [Paul J. Reder]
  • Win32: Prevent listening sockets from being inherited by the Apache child process, CGI scripts, rotatelog process etc. If the Apache child process segfaults, any processes that the child started are not reaped. Prior to this fix, these processes inherited the listening sockets which sometimes prevented the restarted Apache child process from accepting connections (ie, the server would hang). [Bill Stoddard]
  • Provide vhost and request strings when ExtendedStatus is on. [Greg Ames]
  • Fix some issues with the pod and prefork: check the pod *after* processing a connection so that a server processing a time- consuming request bails out as soon as practical; when the parent process wakes up a server process via connect(), use an APR timeout on the connect() so that we don't hang for a long time if there aren't server processes around to do accept(). [Jeff Trawick, Greg Ames]
  • Performance improvement to mod_mime.c. find_ct() in mod_mime, spends a lot of time in apr_table_get calls. Using the default httpd.conf, the tables for languages and charsets are somewhat large, so the time spent scanning them on each request is significant. Replacing the tables with hash tables provides a nice speedup. [Brian Pane ]
  • Add two functions to allow modules to access random parts of the scoreboard. This allows modules compiled for one MPM to access the scoreboard, even if it the server was compiled for another MPM. [Harrie Hazewinkel ]