CHANGES revision 6a01f2d5ec2024b68edd1d42056b41a88dc0a935
35480afaefafb77b28d35b29039989ab888aafe9Stephen GallagherChanges with Apache 2.0.31-dev
35480afaefafb77b28d35b29039989ab888aafe9Stephen GallagherChanges with Apache 2.0.30
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix the main bug for FreeBSD and threaded MPM's. There are
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher still issues (see STATUS) but at least the server will now
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher run without crashing the machine.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [David Reid, Aaron Bannert, Justin Erenkrantz]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix a typo in mod_deflate's m4 config section.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [albert chin (china@thewrittenword.com)]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix a couple of mod_proxy problems forwarding HTTP connections
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher and handling CONNECT:
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher (1) PR #9190 Proxy failed to connect to IPv6 hosts.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher (2) Proxy failed to connect when the first IP address returned by
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher the resolver was unreachable but a secondary IP address was.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [Jeff Trawick]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix the module identifer as shown in the docs for various core
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher modules (e.g., the identifer for mod_log_config was previously
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher listed as config_log_module). PR #9338
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [James Watson <ap2bug@sowega.org>]
5389b3714be747f1a11ac51beb0c5988cfb6c240Lukas Slebodnik *) Fix LimitRequestBody directive by placing it in the HTTP
5389b3714be747f1a11ac51beb0c5988cfb6c240Lukas Slebodnik filter. [Justin Erenkrantz]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix mod_proxy seg fault when the proxied server returns
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher an HTTP/0.9 response or a bogus status line.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [Adam Sussman]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Prevent mod_proxy from truncating one character off the
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher end of the status line returned from the proxied server.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [Adam Sussman, Bill Stoddard]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Eliminate loop in ap_proxy_string_read().
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [Adam Sussman, Bill Stoddard]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Provide $0..$9 results from mod_include regex parsing.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [William Rowe]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Allow mod-include to look for alternate start & end tags [Ian Holsman]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Introduced the ForceLanguagePriority directive, to prevent
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl returning MULTIPLE_CHOICES or NONE_ACCEPTABLE in some cases,
46ebf4415306454e1d062b61a2495b7cdb821c0fPavel Reichl when using Multiviews. [William Rowe]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Fix a problem which prevented mod_cgid and suexec from working
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl together reliably [Greg Ames]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Remove the call to exit() from within mod_auth_digest's post_config
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl phase. [Aaron Bannert]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) Fix a problem in mod_auth_digest that could potentially cause
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl problems with initialized static data on a system that uses DSOs.
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl [Aaron Bannert]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) Fix a segfault in the worker MPM that could happen during
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl child process exits. [Brian Pane, Aaron Bannert]
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl *) Allow mod_auth_dbm to handle multiple DBM types [Ian Holsman]
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl *) Fix matching of vhosts by ip address so we find IPv4
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl vhost address when target address is v4-mapped form of
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl that address. [Jeff Trawick]
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl *) More performance tweaks to the BNDM string-search algorithm
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl used to find "<!--#" tokens in mod_include [Brian Pane]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Miscellaneous small performance fixes: optimized away various
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl string copy operations and removed large temp buffers from
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl the stack [Brian Pane]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Fixed startup segfault that occurred when a VirtualHost
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl directive had a port but no address [Brian Pane]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Allow htdbm to work with multiple DBM types [Ian Holsman]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Win32: Made change to apr_sendfile() to return APR_ENOTIMPL
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose if oslevel < WINNT. This should fix several problems reported
249a28dbf31e11794c7f35d709c5561c1555898dSimo Sorce Against 2.0.28 on Windows 98 [Bill Stoddard]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Win32: Fix bug that could cause CGI scripts with QUERY_STRINGS
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek to fail. [Bill Stoddard]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Change core code to allow an MPM to set hard thread/server
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl limits at startup. prefork, worker, and perchild MPMs now have
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce directives to set these limits. [Jeff Trawick]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Win32: The async AcceptEx() event should be autoreset upon
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl successful completion of a wait (WaitForSingleObject). This
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce eliminates a number of spurious
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce setsockopt(SO_UPDATE_ACCEPT_CONTEXT) failed." messages.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Bill Stoddard]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Move any load library path environment variables out of
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce apachectl and into a separate environment variable file which
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose can be more easily tailored by the admin. The environment
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce variable file as built by Apache may have additional system-
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman specific settings. For example, on OS/390 we tailor the heap
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl settings to allow lots of threads. [Jeff Trawick]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Use the new APR pool code to reduce pool-related lock
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl contention in the worker MPM. [Sander Striker]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) The POD no longer assumes the child is listening on 127.0.0.1
6ff6ccd3eec35217708870b0fe7a6362e97de95fStephen Gallagher and now pulls the first hostname in the list of listeners to
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher perform the dummy connect on. This fixes a bug when the user
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher had configured the Listen directive for an IP other than
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek 127.0.0.1. This would result in undead children and error
249a28dbf31e11794c7f35d709c5561c1555898dSimo Sorce messages such as "Connection refused: connect to listener".
249a28dbf31e11794c7f35d709c5561c1555898dSimo Sorce [Aaron Bannert]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) The worker MPM now respects the LockFile setting, needed to
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl avoid locking problems with NFS. [Jeff Trawick]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix segfault when worker MPM receives SIGHUP.
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl [Ian Holsman, Aaron Bannert, Justin Erenkrantz]
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl *) Fix bug that could potentially prevent the perchild MPM from
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce working with more than one vhost/uid. [Aaron Bannert]
8372129f446e1558f1923a112f328a266144c3ceStephen Gallagher *) Change make install and apxs -i processing of DSO modules to
8372129f446e1558f1923a112f328a266144c3ceStephen Gallagher perform special handling on platforms where libtool doesn't install
249a28dbf31e11794c7f35d709c5561c1555898dSimo Sorce mod_foo.so. This fixes some wonkiness on HP-UX, Tru64, and AIX
249a28dbf31e11794c7f35d709c5561c1555898dSimo Sorce which prevented standard LoadModule statements from working.
8372129f446e1558f1923a112f328a266144c3ceStephen Gallagher [Jeff Trawick]
8372129f446e1558f1923a112f328a266144c3ceStephen Gallagher *) Whenever mod_so is enabled (not just when there are DSOs for
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher our modules), do whatever special magic is required for compiling/
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher loading third-party modules. This allows third-party DSOs to
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher be used on an AIX build when there were no built-in modules
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher built as DSOs. (This should help on OS/390 and BeOS as well.)
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [Jeff Trawick]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Allow apxs to be used to build DSOs on AIX without requiring the
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher user to hard-code the list of import files. (This should help
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher on OS/390 and BeOS as well.) [Jeff Trawick]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Resolved segfault in mod_isapi when configuring with ISAPICacheFile.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher PR 8563, 8919 [William Rowe]
249a28dbf31e11794c7f35d709c5561c1555898dSimo Sorce *) Get binary builds working when libapr and libaprutil are built
249a28dbf31e11794c7f35d709c5561c1555898dSimo Sorce shared [Greg Ames]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Get shared builds of libapr and libaprutil, as well as Apache DSOs,
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher working on AIX. [Aaron Bannert, Dick Dunbar <RLDunbar@pacbell.net>,
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek Gary Hook <ghook@us.ibm.com>, Victor Orlikowski, Jeff Trawick]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix the handling of SSI directives in which the ">" of the
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov terminating "-->" is the last byte in a file [Brian Pane]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Add back in the "suEXEC mechanism enabled (wrapper: /path/to/suexec)"
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose message that we had back in apache-1.3 and still have scattered
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov throughout our docs. [Aaron Bannert]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Prevent the Win32 port from continuing after encountering an
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose error in the command line args to apache. [William Rowe]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) On a error in the proxy, make it write a line to the error log
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek [Ian Holsman]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Various mod_ssl performance improvements [Doug MacEachern]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo SorceChanges with Apache 2.0.29
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Add buffering in core_output_filter to ensure that long
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher lists of small buckets don't cause small packet writes.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose [Brian Pane, Ryan Bloom]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix the installation target to make sure that the manual is
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher installed in the correct location.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Yoshifumi Hiramatsu <hiramatu@boreas.dti.ne.jp> and
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce Gomez Henri <hgomez@slib.fr>]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix the cmd command for mod_include. When we are processing
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher a cmd command, we do not want to use the r->filename to set
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher the command name. The command comes from the SSI tag. To do this,
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov I added a variable to the function that builds the command line
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov in mod_cgi. This allows the include_cmd function to specify
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose the command line itself. [Ryan Bloom]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Change open_logs hook to return a value, allowing you
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose to flag a error while opening logs
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose [Ian Holsman, Doug MacEachern]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Change post_config hook to return a value, allowing you
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl to flag a error post config
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Ian Holsman, Jeff Trawick]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Allow SUEXEC_BIN (the path to the suexec binary that is
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose hard-coded into the server) to be specified to the configure
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose script by the --with-suexec-bin parameter. [Aaron Bannert]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Fix segv in worker MPM following accept on pipe-of-death
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose [Brian Pane]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Add mod_deflate to experimental.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose [Ian Holsman, Justin Erenkrantz]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Bail out at configure time if an invalid MPM was specified.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl *) Prevent segv in ap_note_basic_auth_failure() when no AuthName is
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose configured [John Sterling <sterling@covalent.net>]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Fix apxs to use sbindir. [Henri Gomez <hgomez@slib.fr>]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Fix a problem with IPv6 vhosts. PR #8118 [Jeff Trawick]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Optimization for the BNDM string-search function in
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce mod_include. [Brian Pane]
6ff6ccd3eec35217708870b0fe7a6362e97de95fStephen Gallagher *) Fixed the behavior of the XBitHack directive.
108a49f0e816d95cf75a1e964f63b397e53c8b56Pavel Reichl [Taketo Kabe <kabe@sra-tohoku.co.jp>, Cliff Woolley] PR#8804
108a49f0e816d95cf75a1e964f63b397e53c8b56Pavel Reichl *) The threaded MPM for Unix has been removed. Use the worker
108a49f0e816d95cf75a1e964f63b397e53c8b56Pavel Reichl MPM instead. [various]
108a49f0e816d95cf75a1e964f63b397e53c8b56Pavel Reichl *) APR-ize the resolver logic in mod_unique_id. This fixes a bug
108a49f0e816d95cf75a1e964f63b397e53c8b56Pavel Reichl in logging the error from a failed DNS lookup. [Jeff Trawick]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Added the missing macros AP_INIT_TAKE13 and AP_INIT_TAKE123.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Cliff Woolley]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Get mod_cgid killed when a MPM exits due to a fatal error.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Jeff Trawick]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Fix a file descriptor leak in mod_include. When we include a
108a49f0e816d95cf75a1e964f63b397e53c8b56Pavel Reichl file, we use a sub-request, but we didn't destroy the sub-request
108a49f0e816d95cf75a1e964f63b397e53c8b56Pavel Reichl immediately, instead we waited until the original request was
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl done. This patch closes the sub-request as soon as the data is
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl done being generated. [Brian Pane <bpane@pacbell.net>]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Allow modules that add sockets to the ap_listeners list to
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl define the function that should be used to accept on that
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl socket. Each MPM can define their own function to use for
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl the accept function with the MPM_ACCEPT_FUNC macro. This
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl also abstracts out all of the Unix accept error handling
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl logic, which has become out of synch across Unix MPMs.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Fix a bug which would cause the response headers to be omitted
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl when sending a negotiated ErrorDocument because the required
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl filters were attached to the wrong request_rec.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [John Sterling <sterling@covalent.net>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Remove commas from the end of the macros that define
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl directives that are used by MPMs. Prior to this patch,
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl you would use these macros without commas, which was unlike
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl the macros for any other directives. Now, the caller provides
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl the comma rather than the macro providing it. This makes
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl the macros look more like the rest of the directives.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Ryan Bloom and Cliff Woolley]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Add 'redirect-carefully' environment option to disable sending
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl redirects under special circumstances. This is helpful for
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl Microsoft's WebFolders when accessing a directory resource via
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose DAV methods. [Justin Erenkrantz]
249a28dbf31e11794c7f35d709c5561c1555898dSimo Sorce *) Begin to abstract out the underlying transport layer.
6ff6ccd3eec35217708870b0fe7a6362e97de95fStephen Gallagher The first step is to remove the socket from the conn_rec,
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek the server now lives in a context that is passed to the
6ff6ccd3eec35217708870b0fe7a6362e97de95fStephen Gallagher core's input and output filters. This forces us to be very
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose careful when adding calls that use the socket directly,
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose because the socket isn't available in most locations.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Really reset the MaxClients value in worker and threaded
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose when the configured value is not a multiple of the number
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl of threads per child. We said we did previously but we
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl forgot to. [Jeff Trawick]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Add Debian layout. [Daniel Stone <daniel@sfarc.net>]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) If shared modules are requested and mod_so is not available,
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce produce a fatal config-time error. [Justin Erenkrantz]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Improve http2env's performance by cutting the work it has to
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher do. [Brian Pane <bpane@pacbell.net>]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) use new 'apr_hash_merge' function in mod_mime (performance fix)
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl [Brian Pane <bpane@pacbell.net>]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel ReichlChanges with Apache 2.0.28
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) Fix infinite loop in mod_cgid.c.
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl [Dale Ghent <daleg@elemental.org>, Brian Pane <bpane@pacbell.net>]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) When no port is given in a "ServerName host" directive, the
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl server_rec->port is now set to zero, not 80. That allows for
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl run-time deduction of the correct server port (depending on
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl SSL/plain, and depending also on the current setting of
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl UseCanonicalName). This change makes redirections
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl work, even with https:// connections. As in Apache-1.3, the
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl connection's actual port number is never used, only the ServerName
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl setting or the client's Host: setting. Documentation updated
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl to reflect the change. [Martin Kraemer]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) Add a '%{note-name}e' argument to mod-headers, which works in
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl the same way as mod_log_confg. [Ian Holsman]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) Fix the spelling of the AP_MPMQ_MIN_SPARE_DAEMONS and
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl AP_MPMQ_MAX_REQUESTS_DAEMON macros in ap_mpm.h and all standard
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher MPMs. [Cliff Woolley]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Introduce htdbm, a user management utility for db/dbm authorization
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher databases. [Mladen Turk <mturk@mappingsoft.com>]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Optimize usage of strlen and strcat in ap_directory_walk.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Brian Pane <bpane@pacbell.net>]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit BoseChanges with Apache 2.0.27
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Introduce an Apache mod_ssl initial configuration template
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce (ssl.conf, generated from ssl-std.conf). [Ralf S. Engelschall]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Fixed a memory leak in the getline parsing code that could
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce be triggered by arbitrarily large header lines. Requests
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose from the core input filter for single lines are now limited
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose to HUGE_STRING_LEN (8192 bytes). [Aaron Bannert]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Fix a truncation bug in how we print the port on the Via: header.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose The routine that prints the Via: header now takes a length for
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl the port string. [Zvi Har'El <rl@math.technion.ac.il>]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Some syntax errors in mod_mime_magic's magic file can result
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl in a 500 error, which previously was unlogged. Now we log the
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl error. [Jeff Trawick]
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl *) Add the support/checkgid helper app, which checks the run-time
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl validity of group identifiers usable in the Group directive.
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl *) Various --enable-so options have been fixed: --enable-so is
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl treated as "static"; explicit --enable-so=shared issues an error;
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl and explicit --enable-so fails with error on systems without
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl APR_HAS_DSO. [Aaron Bannert]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Fix a segfault in the core input filter when the client socket
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl gets disconnected unexpectedly. [Cliff Woolley]
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl *) Fix the reporting for child processes that die. This removes
b07a3b729892d2bc2ffa73d93de95e19003cc6c8Pavel Reichl all of the non-portable W* macros from Apache.
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl [Jeff Trawick and Ryan Bloom]
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl *) Win32: Track and display "Parent Server Generation:" in
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose mod_status output. The generation will be bumped at
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce server graceful restart, when the child process exits
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce by hitting MaxRequestsPerChild or if the child
9956e720e7f055afdb6ada141b4ab892bfa0930bPavel Reichl process exits abnormally. [Bill Stoddard]
9956e720e7f055afdb6ada141b4ab892bfa0930bPavel Reichl *) Win32: Fix problem where MaxRequestsPerChild directive was
9956e720e7f055afdb6ada141b4ab892bfa0930bPavel Reichl not being picked up in favor of the default. Enable
9956e720e7f055afdb6ada141b4ab892bfa0930bPavel Reichl the parent to start up a new child process immediately upon
9956e720e7f055afdb6ada141b4ab892bfa0930bPavel Reichl the old child starting shutdown.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Bill Stoddard]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Fix some bungling of the remote port in rfc1413.c so that
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose IdentityCheck retrieves the proper user id instead of failing
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose and thus always returning "nobody."
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose [Dick Streefland <Dick.Streefland@xs4all.nl>]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Introduced thread saftey for mod_rewrite's internal cache.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Brian Pane <bpane@pacbell.net>]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Simplified mod_env's directives to behave as most directives are
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce expected, in that UnsetEnv will not unset a SetEnv and PassEnv
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce directive following that UnsetEnv within the same container.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce Also provides a runtime startup warning if a PassEnv configured
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce environment value is undefined. [William Rowe]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) The worker MPM is now completely ported to APR's new lock API. It
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce uses native APR types for thread mutexes, cross-process mutexes,
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce and condition variables. [Aaron Bannert]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Sync up documentation to remove all references to the now deprecated
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce Port directive. [Justin Erenkrantz]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Moved all ldap modules from the core to httpd-ldap sub-project
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose [Ryan Bloom]
6742203fd84e97822cdddc4065402c15f3c5703fSumit Bose *) Exit when we can't listen on any of the configured ports. This
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose is the same behavior as 1.3, and it avoids having the MPMs to
6742203fd84e97822cdddc4065402c15f3c5703fSumit Bose deal with bogus ap_listen_rec structures. [Jeff Trawick]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Cleanup the proxy code that creates a request to the origin
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose server. This change adds an optional hook, which allows modules
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose to gain control while the request is created if the proxy module
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose is loaded. The purpose of this hook is to allow modules to add
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose input and/or output filters to the request to the origin. While
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose I was at it, I made the core use this hook, so that proxy request
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov creation uses some of the code from the core. This can still be
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov greatly improved, but this is a good start. [Ryan Bloom]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit BoseChanges with Apache 2.0.26
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Port the MaxClients changes from the worker MPM to the threaded
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov MPM. [Ryan Bloom]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Fix mod_proxy so that it handles chunked transfer-encoding and works
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose with the new input filtering system. [Justin Erenkrantz]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Introduce the MultiviewsMatch directive, to allow the operator
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose to be flexible in recognizing Handlers and Filters filename
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose extensions as part of the Multiviews matching logic, strict with
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose MultiviewsMatch NegotiatedOnly to accept only filename extentions
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose that designate negotiated parameters, (content type, charset, etc.)
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose or MultiviewsAll for the 1.3 behavior of matching any files, even
6742203fd84e97822cdddc4065402c15f3c5703fSumit Bose if they have unregistered extensions. [William Rowe]
6742203fd84e97822cdddc4065402c15f3c5703fSumit Bose *) Fixed the configure script to add a LoadModule directive to
6742203fd84e97822cdddc4065402c15f3c5703fSumit Bose the default httpd.conf for any module that was compiled
6742203fd84e97822cdddc4065402c15f3c5703fSumit Bose as a DSO. [Aaron Bannert <aaron@clove.org>]
6742203fd84e97822cdddc4065402c15f3c5703fSumit Bose *) rewrite mod_ssl input filtering to work with the new input filtering
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce system. [Justin Erenkrantz]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) prefork: Don't segfault when we are able to listen on some but
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose not all of the configured ports. [Jeff Trawick]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Build mod_so even if no core modules are built shared.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose [Aaron Bannert <aaron@clove.org>]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Introduce ap_directory_walk rewrite (with further optimizations
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose required) to adapt to the ap_process_request_internal() changes.
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose Optimized so subrequests and redirects now reuse previous section
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose merges, until we mismatch with the original directory_walk, and
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose precomputed r->finfo results will cause directory_walk to skip
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose the most expensive phases of the function. [William Rowe]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Allow ApacheMonitor to connect to and control Apache on other
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose WinNT/2K machines. [Mladen Turk <mturk@mappingsoft.com>]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Remove the Port directive. In it's place, the Listen directive
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose is now a required directive, which tells Apache what port to
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose listen on. The ServerName directive has also been extended
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose to accept an optional port. If the port is specified to the
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose ServerName, the server will report that port whenever it
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose reports the port that it is listening on. This change was
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose made to ease configuration errors that stem from having a Port
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose directive, and a Listen directive. In that situation, the server
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov would only listen to the port specified by the Listen command,
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov which caused a lot of confusion to users. [Ryan Bloom]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Added mod_mime_magic, mod_unique_id and mod_vhost_alias to the Win32
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose build, as loadable modules. [William Rowe]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Fix --enable-mods-shared processing. If most is specified,
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose then all modules that can be compiled as shared modules are.
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose [Aaron Bannert <aaron@clove.org>]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Update the mime.types file to map video/vnd.mpegurl to mxu
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose and add commonly used audio/x-mpegurl for m3u extensions.
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose [Heiko Recktenwald <uzs106@uni-bonn.de>, Lars Eilebrecht]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Eliminate the depreciated r->content_language, in favor of the array
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose r->content_languages introduced many years ago. Module authors must
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce substantially overhaul their modules, so this needs to be upgraded
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose if the module still relied on backwards-brokeness. [William Rowe]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Allow configure help strings to work with autoconf 2.50+ and 2.13.
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose [Justin Erenkrantz]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Rewrite the input filtering mechanisms to consolidate and reorganize
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov code. In short, core_input_filter does something now and
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose ap_http_filter is now only concerned with HTTP. [Justin Erenkrantz]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Update the Win32 build to re-absorb mod_proxy and family.
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov [William Rowe]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Resolved the build failure on Win32 using MSVC 5.0 (without the
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose current SDK.) [William Rowe]
69c83119c0504fd1590299b8a4ecdabf86a8f18dLukas Slebodnik *) Some style changes to the code that does ProxyErrorOverride. Fixed
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov config merge behaviour. [Graham Leggett]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Allow support programs to be compiled against a static version
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose of libapr. This allows the smaller support programs to be
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose relocated. [Aaron Bannert <aaron@clove.org>]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Update the mime.types file to the registered media types as
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose of 2001-09-25, and add mapping for xsl extension [Mark Cox]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Fix MaxClients in the Worker MPM, so that it specifies the maximum
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose number of clients that can connect at the same time, instead of
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce specifying the maximum number of child processes.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Aaron Bannert <aaron@clove.org>]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Switch proc_pthread AcceptMutex configuration directive to pthread to
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose be consistent with 1.3. [Justin Erenkrantz]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Cache apr_explode_localtime() value for 15 seconds.
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose [Brian Pane <bpane@pacbell.net>]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Fix mod_include to not return ETag or Last-Modified headers.
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose [Ian Holsman <ianh@cnet.com>]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Fix worker MPM's scoreboard logic. [Aaron Bannert <aaron@clove.org>]
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose *) Eliminate the wasteful run-time conversion of method names from strings
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose to numbers in places where the methods are known at compile time.
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose [Brian Pane <bpane@pacbell.net>]
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose *) Turn the worker MPM's queue into a LIFO. This may
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose improve cache-hit performance under some conditions.
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose [Aaron Bannert <aaron@clove.org>]
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose *) Switch back to SIGUSR1 for graceful restarts on all platforms that
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose support it. [Justin Erenkrantz]
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose *) Cleanup the worker MPM. We no longer re-use transaction
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov pools. This incurs less overhead than shuffling the pools
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov around so that they can be re-used. Remove one of the
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose queue's condition variables. We just redefined the API to
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose state that you can't try to add more stuff than you allocated
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov segments for. [Aaron Bannert <aaron@clove.org>]
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose *) Fix SSL VPATH builds [Cody Sherr <csherr@covalent.net>]
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose *) Fixed persistent connections when a request contains a body.
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose [Greg Stein]
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose *) mod_dav uses a new API to speak to the backend provider for dead
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov property management. [Greg Stein]
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose *) Remove the Win32 script-processing exception from mod_cgi, and
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce roll build_command_line/build_argv_list into a unified, overrideable
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce ap_cgi_build_command optional function. [William Rowe]
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose *) Rewrite find_start_sequence to use a better search algorithm
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose to find the start tag. [Justin Erenkrantz]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Fix a seg fault in mod_include. When we are generating an
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose internal redirect, we must set r->uri to "", not a bogus
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose string, and not NULL. [Ryan Bloom]
50b8a36b0932a510e825ed1ad8103f81ead2b7d8Pavel Reichl *) Optimized location_walk, so subrequests, redirects and second passes
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose now reuse previous section merges on a <Location > by <Location >
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose basis, until we mismatch with the original location_walk.
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose [William Rowe]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Back out the 1.45 change to util_script.c. This change made
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose us set the environment variable REQUEST_URI to the redirected
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov URI, instead of the originally requested URI.
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov [Taketo Kabe <kabe@sra-tohoku.co.jp>]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Make mod_include do lazy evaluation of potentially expensive to
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose compute variables. [Brian Pane <bpane@pacbell.net>]
08f83281cf4b0f35e8569851fae7364e140371f9Pavel Reichl *) Fix logging of bytes sent for HEAD requests. %b and %B should
08f83281cf4b0f35e8569851fae7364e140371f9Pavel Reichl log either - or 0, before this patch, they were both logging
08f83281cf4b0f35e8569851fae7364e140371f9Pavel Reichl the file size. [Taketo Kabe <kabe@sra-tohoku.co.jp>]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Make mod_include check for BYTE_CHECK_THRESHOLD per bucket rather
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose than per character. [Brian Pane <bpane@pacbell.net>]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Normalize the primary request, redirects and sub-requests to
57cd3443dcb7c073c5a00a9f2c3c3a3030ae2d3eLukas Slebodnik run the same ap_process_request_internal for consistency in
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov robustness, behavior and security. [William Rowe]
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov *) Fix a segfault with mod_include when r->path_info is not set
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose (which is the case with mod_proxy). [Ian Holsman <ianh@cnet.com>]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Add -X functionality back. This indicates to all MPMs and any other
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose part of Apache that it should run in "debug" mode. [Justin Erenkrantz]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Some initial support for the cygwin platform [prefork only].
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose This is not to be confused with support for the WinNT/Win32
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose platform, which is the recommended configuration for native
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose Win32 users. The cygwin platform support is recommended for
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose cygwin platform users. [Stipe Tolj <tolj@wapme-systems.de>]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Changed syntax of Set{Input|Output}Filter. The list of filters
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose must be semicolon delimited (if more than one filter is given.)
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose The Set{Input|Output}Filter directive now overrides a parent
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose container's directive (e.g. SetInputFilter in <Directory /web/foo>
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose will override any SetInputFilter directive in <Directory /web>.)
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose This new syntax is more consistent with Add{Input|Output}Filter
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose directives defined in mod_mime. Also cures a bug in prior releases
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose where the Set{Input|Output}Filter directive would corrupt the
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose global configuration if the multiple directives were nested.
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose [William Rowe]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Cured what's ailed mime for quite some time. If an AddSomething
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov was given in the configuration (Language, Charset, Handler or
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose Encoding) Apache would set the content type as given by AddType,
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose but refused to check the mime.types file if AddType wasn't given
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose for that specific extension. Setting the AddHandler for .html
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose without setting the AddType text/html html would cause Apache to
0e65abe5cf2abf5d4b431cf6bd161b419f07901dLukas Slebodnik use the default content type. [William Rowe]
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov *) Added some bulletproofing to memory allocation in the LDAP cache
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose code. [Graham Leggett]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit BoseChanges with Apache 2.0.25
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Move the installed /manual directory out of the /htdocs/ tree, so
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose that it can be kept more independently from the remaining document
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose root. The "Alias /manual ..." already allowed for easy projection
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose into existing private document trees. [Martin Kraemer]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Add specified user attributes to the environment when using
b8e6d0e6d6b9b56ef508578a2ae0078b5b7d22d0Lukas Slebodnik mod_auth_ldap. This allows you to use mod_include to embed specified
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov user attributes in a page like so:
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose Hello <!--#echo var="AUTHENTICATE_CN"-->, how are you?
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose [Graham Leggett]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Fix a performance problem with the worker MPM. We now create
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose transaction pools once, and re-use them for each connection.
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose [Aaron Bannert <aaron@clove.org>]
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov *) Modfied mod_mime to prevent mod_negotation from serving a multiview
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov of a 'handler' or 'filter', so that any filename extension that does
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose not contribute to the negotiated metadata can't be served without
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose an explicit request. E.g., if the .Z extension is associated with
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose an unzip filter, the user request somefile.Z.html, mod_negotiation
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose won't serve it. It can serve somefile.Z.html when somefile.Z is
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose requested, since the .Z extension is explictly requested, if the
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose .html extension is associated with ContentType text/html.
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose [William Rowe]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Introduce the AddInputFilter filter[;filter...] ext [ext...]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose and corresponding AddOutputFilter syntax, to insert one or more
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose filters by mod_mime filename extension processing.
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose [William Rowe]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Fix a growing connection pool in core_output_filter() for
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose keepalive requests. [Jeff Trawick]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Moved split_and_pass_pretag_buckets back to being a
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose macro at Ryans's request. Removed the return from it
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose by setting and returning a return code instead. Updated
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose the code to check the return code from the macro and
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose do the right thing. [Paul J. Reder]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Fix a segfault when a numeric value was received for Host:.
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov [Jeff Trawick]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Add a function ap_remove_input_filter. This is to match
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose up with ap_remove_output_filter. [Ryan Bloom]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Clean up location_walk, so that this step performs a minimum
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov amount of redundant effort (it must be run twice, but it will no
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose longer reparse all <Location > blocks when the request uri
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose hadn't changed.) [William Rowe]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Eliminate proxy: (and all other 'special') processing from the
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose ap_directory_walk() phase. Modules that want to use special
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose walk logic should refer to the mod_proxy map_to_location example,
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov with it's proxy_walk and proxysection implementation. This makes
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose either directory_walk flavor much more legible, since that phase
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce only runs against real <Directory > blocks.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [William Rowe]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Fix a security problem in mod_include which would allow
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose an SSI document to be passed to the client unparsed.
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose [Cliff Woolley, Brian Pane]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Introduce the map_to_storage hook, which allows modules to bypass
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose the directory_walk and file_walk for non-file requests. TRACE
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov shortcut moved to http_protocol.c as APR_HOOK_MIDDLE, and the
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov directory_walk/file_walk happen as APR_HOOK_VERY_LAST in core.c.
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov [William Rowe]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Add the ability for mod_include to add the INCLUDES filter
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose if the file is configured for the server-parsed handler.
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose This makes the configuration for .shtml files much easier
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose to understand, and allows mod_include to honor Apache 1.3
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose config files. Based on Doug MacEachern's patch to PHP
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov to do the same thing. [Ryan Bloom]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) force OpenSSL to ignore process local-caching and to always
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce get/set/delete sessions using mod_ssl's callbacks
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>,
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose Geoff Thorpe <geoff@geoffthorpe.net>]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Make the worker MPM shutdown and restart cleanly. This also
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose cleans up some race conditions, and gets the worker using
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose pools more cleanly. [Aaron Bannert <aaron@clove.org>]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Implement CRYPTO_set_locking_callback() in terms of apr_lock
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov [Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Fix for mod_include. Ryan's patch to check error
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose codes put a return in the wrong place. Also, the
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose include handler return code wasn't being checked.
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose I don't like macros with returns, so I converted
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose SPLIT_AND_PASS_PRETAG_BUCKETS into a function.
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov [Paul J. Reder <rederpj@raleigh.ibm.com>]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) fix segv in mod_mime if no AddTypes are configured
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [John Sterling <sterling@covalent.net>]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Enable ssl client authentication at SSL_accept time
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose [Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>]
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose *) Fix a segfault in mod_include when the original request has no
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose associated filename (e.g., we're filtering the error document for
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose a bad URI). [Jeff Trawick]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Fix a storage leak (a strdup() call) in mod_mime_magic. [Jeff Trawick]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) The prefork and OS/2 MPMs are overwriting the pid file when a second copy
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose of httpd is started and shuts down due to socket conflict. Moving the
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce call to ap_log_pid solves the problem.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Changed the late-1.3 log_config substitution %c to %X, to log the
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose status of the closed connection, as it conflicts with the far more
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose common, historical ssl logging directive %...{var}c. [William Rowe]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Added the common error/ tree to the build/install targets
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce (similar to the common icons/ tree) for the multi-language error
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose messages that Lars committed earlier. [William Rowe]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Added a multi process, multi threaded OS/2 MPM mpmt_os2. [Brian Havard]
c820e6db26426c9f74a0e8f8ff9d9cf79d57406aPavel Reichl *) Added a default commented-out mod_ldap and mod_auth_ldap
c820e6db26426c9f74a0e8f8ff9d9cf79d57406aPavel Reichl configuration to httpd-std.conf and httpd-win.conf
c820e6db26426c9f74a0e8f8ff9d9cf79d57406aPavel Reichl [Graham Leggett]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Added documentation for mod_ldap and mod_auth_ldap.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose [Graham Leggett]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Enabled negative caching on attribute comparisons in the LDAP cache.
c820e6db26426c9f74a0e8f8ff9d9cf79d57406aPavel Reichl Fixed a problem where the default cache TTL was set in milliseconds
c820e6db26426c9f74a0e8f8ff9d9cf79d57406aPavel Reichl not microseconds causing the cache to time out almost immediately.
c820e6db26426c9f74a0e8f8ff9d9cf79d57406aPavel Reichl [Graham Leggett]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Fixed all the #if APR_HAS_SHARED_MEMORY checks within the LDAP
22f4c1b86dcf5589e63f2ae043dc65a8f72f6f18Sumit Bose module code to follow APR. [Graham Leggett]
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose *) Fixed LDAP cleanup on graceful restarts. LDAP connections are now
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose cleaned up when the connection pool pool is cleaned up.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Graham Leggett]
c820e6db26426c9f74a0e8f8ff9d9cf79d57406aPavel Reichl *) Fix a minor issue with Jeff Trawick's mod_include
c820e6db26426c9f74a0e8f8ff9d9cf79d57406aPavel Reichl patch. Without this patch, the code will just allocate
c820e6db26426c9f74a0e8f8ff9d9cf79d57406aPavel Reichl more bytes in get_combined_directive than are needed.
d73fcc5183a676aed4fd040714b87274248b784cSumit Bose *) Added the LDAP authentication module mod_auth_ldap.
37e7e93f1996cf50677cf59fd8af6938dd5d85b2Sumit Bose [Dave Carrigan <dave@rudedog.org>, Graham Leggett]
c820e6db26426c9f74a0e8f8ff9d9cf79d57406aPavel Reichl *) Added the LDAP cache and connection pooling module mod_ldap.
c820e6db26426c9f74a0e8f8ff9d9cf79d57406aPavel Reichl [Dave Carrigan <dave@rudedog.org>, Graham Leggett]
c820e6db26426c9f74a0e8f8ff9d9cf79d57406aPavel Reichl *) Fix --enable-modules=all breakage with mod_auth_db and mod_auth_digest
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov by allowing a module to disable itself if its prerequisites are not
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov met. [Justin Erenkrantz]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit BoseChanges with Apache 2.0.24
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Fix a couple of issues in mod_include when the tag appeared at
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov offsets near 8192 in the file being parsed. [Jeff Trawick]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix an assertion failure in mod_ssl when the keepalive timeout is
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher reached. [Jeff Trawick]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Numerous improvements to the Win32 build system. Introduced command line
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose builds without requiring .mak files for MSVC 6.0 and later versions.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose Improved .dsp file compatibility for both Visual Studio 5.0 and 6.0 users.
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl [William Rowe]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) Assorted corrections and improvements to the winnt_mpm startup code. Better
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl reporting of uninstalled services and other error conditions, and changed the
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl default service name to Apache2. [William Rowe]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) Numerous improvements to the Win32 ApacheMonitor utility, including winnt_mpm
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl compatibility with existing Apache 1.3 Win32 Apache management utilites.
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl [Mladen Turk <mturk@mappingsoft.com>, William Rowe]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) Fixed the segfaults in mod_mime introduced by hash tables in 2.0.20.
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl [William Rowe, Greg Ames]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) Rounded out the mod_mime Add/Remove pairs by adding RemoveLanguage
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl and RemoveCharset directives. [William Rowe]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) The Unix MPMs other than perchild now allow child server
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl processes to use the accept mutex when starting as root and
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl using SysV sems for the accept mutex. Previously, this
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl combination would lead to fatal errors in the child server
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl processes. perchild can't use SysV sems because of security
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl issues. [Jeff Trawick, Greg Ames]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) Added Win32 revision stamp resources to all http binaries
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl (including modules/ and support/ tools.) PR7322 [William Rowe]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) Fix ap_rvprintf to support more than 4K of data at one time.
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl [Cody Sherr <csherr@covalent.net>]
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl *) We have always used the obsolete/deprecated Netscape syntax
c9b0071bfcb8eb8c71e40248de46d23aceecc0f3Pavel Reichl for our tracking cookies; now the CookieStyle directive
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose allows the Webmaster to choose the Netscape, RFC2109, or
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose RFC2965 format. The new CookieDomain directive allows the
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose setting of the cookie's Domain= attribute, too. PR #s 5006,
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose 5023, 5920, 6140 [Ken Coar]
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek *) Tweak server/Makefile so that the rules for generating exports.c
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek are compatible with make utilities which don't expand wildcards
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose in a dependency list (e.g., OS/390 make, certain levels of GNU
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose make). [Jeff Trawick]
1a357c873baa79c0b82ab1d084f942cfcc8ba1c0Pavel Reichl *) Install the SSL headers. [John Sterling <sterling@covalent.net>]
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl *) Begin to sanitize the MPM configuration directives. Now, all
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose MPMs use the same functions for all common MPM directives. This
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose should make it easier to catch all bugs in these directives once.
1a357c873baa79c0b82ab1d084f942cfcc8ba1c0Pavel Reichl [Cody Sherr <csherr@covalent.net>]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Close a major resource leak. Every time we had issued a
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl graceful restart, we leaked a socket descriptor.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose [Ryan Bloom]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Fix a problem with the new method code. We need to cast
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose the 1 to an apr_int64_t or it will be treated as a 32-bit
249a28dbf31e11794c7f35d709c5561c1555898dSimo Sorce integer, and it will wrap after being shifted 32 times.
249a28dbf31e11794c7f35d709c5561c1555898dSimo Sorce [Cody Sherr <csherr@covalent.net> and Ryan Morgan <rmorgan@covalent.net>]
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek *) Fix a bug in mod_expires. Previous to this patch, if you
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose told mod_expires to add 604800 seconds to the last-modified
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose time, it actually added 604800 usec's to the last-modified time,
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose so that when looking at the response it looked like nothing
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose had been done. The root of the problem was that we always compute
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose time in usec's, but we ask users to input sec's. This means we
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose need to convert to usec's before using those values.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Ryan Bloom]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) The worker MPM now handles shutdown and restart requests. It
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose definitely isn't perfect, but we do stop the servers correctly.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose The biggest problem right now is that SIGHUP causes the server to
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose just die. [Ryan Bloom]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit BoseChanges with Apache 2.0.23
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Use the prefork MPM by default on Unix. [various]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Added a systray icon monitor application for Win32.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Mladen Turk <mturk@mappingsoft.com>]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) mod_rewrite: Fix the line ending on some non-Unix systems for
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose messages written to the rewrite log.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose [Richard Labennett <rlabenn@us.ibm.com>]
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek *) All mod_autoindex query parsing is now quietly quashed with the
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose IndexOption IgnoreClient. The IndexOption SuppressColumnSorting
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose still drops the column sort <a href>'s for the column headers, but
249a28dbf31e11794c7f35d709c5561c1555898dSimo Sorce IgnoreClient is required to ignore these Query options entirely.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose [William Rowe]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Introduced new mod_autoindex query argument parsing for F=[0|1|2]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose to allow the client to select plain, FancyIndexing or HTMLTable
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose formatting, V=[0|1] to inhibit or enable version sorting, and
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose P=pattern to return only specific files. The old Query Arguments
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher were reorganized as C=f for sorting column 'f' (same N, D, S, or M
1a357c873baa79c0b82ab1d084f942cfcc8ba1c0Pavel Reichl as before), and O=A|D for ordering ascending or descending.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [William Rowe]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fixed an error in mod_include's directive parsing routines which
1a357c873baa79c0b82ab1d084f942cfcc8ba1c0Pavel Reichl caused #if, #elif, and #else expressions containing backslashes
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce to be improperly evaluated. [Cliff Woolley]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Introduced new mod_autoindex IndexOptions flags: SuppressIcon to
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl drop the icon column, SuppressRules to drop the <hr> elements,
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl and HTMLTable to create rudimentary HTML table listings (implies
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl FancyIndexing). [William Rowe]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Re-introduced the mod_autoindex IndexOptions flag TrackModified
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher from Apache 1.3.15. This is needed for two reasons, first, given
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher multiple machines within a server farm, ETags and Last-Modified
dd2f33603228005a44675f1484c294ea647dbce3Jakub Hrozek stamps won't correspond from machine to machine, and second, many
40dd828529cf01291daf0f075b850783409e8c05Pavel Reichl Unixes don't capture changes to the date or time stamp of existing
dd2f33603228005a44675f1484c294ea647dbce3Jakub Hrozek files, since these don't modify the dirent itself. [William Rowe]
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov *) Re-introduced the mod_autoindex IndexOptions flag FoldersFirst
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov and DirectoryWidth options from Apache 1.3.10.
dd2f33603228005a44675f1484c294ea647dbce3Jakub Hrozek [William Rowe, Ken Coar]
85e8cbdd79359ae1f330c8b84f7b58d4fc6fda6eStephen Gallagher *) Eliminated FancyIndexing directive, deprecated early in Apache
dd2f33603228005a44675f1484c294ea647dbce3Jakub Hrozek 1.3 by the IndexOptions FancyIndexing syntax. [William Rowe]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) mod_autoindex now excludes any file names that would result in
85e8cbdd79359ae1f330c8b84f7b58d4fc6fda6eStephen Gallagher an error, other than a success or redirect. Also optimized
85e8cbdd79359ae1f330c8b84f7b58d4fc6fda6eStephen Gallagher the parent directory, always included except in the URI '/'.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [William Rowe]
a6dbe52dc824f8338d209ef5c56f9e345aeeb2feStephen Gallagher *) Refactored mod_negotiation and mod_mime to help mod_dir accept
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek negotiated index pages, and prevent the server from defaulting
85e8cbdd79359ae1f330c8b84f7b58d4fc6fda6eStephen Gallagher to an autoindex of the directory. mod_negotiation will now die
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek with a 500 Internal Error if it could match some filenames
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher (e.g. for mod_dir) but none can be served. mod_negotation now
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher refuses to serve any file with an extention that mod_mime doesn't
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov recognize, and wasn't part of the request. [William Rowe]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Eliminate mod_cgi's handling of .exe files without the .exe file
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher extension. This is already handled by multiviews, if the admin
85e8cbdd79359ae1f330c8b84f7b58d4fc6fda6eStephen Gallagher wishes to AddHandler .exe or define a content type handler and
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher associate .exe files with that content type. Multiviews must be
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov enabled to allow these to be served. [William Rowe]
dcb44c39dda9699cdd6488fd116a51ced0687de3Jakub Hrozek *) Speed up the server's response to a spike in incoming workload
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek or restarts by assigning empty scoreboard slots to new processes
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom when they are available. [Greg Ames]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Add a handler to mod_includes.c. This handler is designed to
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce implement the XbitHack directive. This can't be done with a
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher fixup, because we need to check the content-type, which is
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher only available in the handler phase. [Ryan Bloom]
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom *) Make the includes filter check return codes from filters lower in
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce the filter chain. If a lower level filter returns an error, then
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher the request needs to stop immediately. This allows mod_include to
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher stop parsing data once a lower filter recognizes an error.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Add the ability to extend the methods that Apache understands
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce and have those methods <limit>able in the httpd.conf. It uses
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce the same bit mask/shifted offset as the original HTTP methods
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce such as M_GET or M_POST, but expands the total bits from an int to
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce an ap_int64_t to handle more bits for new request methods than
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce an int provides. [Cody Sherr <csherr@covalent.net>]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix broken mod_mime behavior in merging its arguments. Possible
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher cause of unexplicable crashes introduced in 2.0.20. [William Rowe]
1a357c873baa79c0b82ab1d084f942cfcc8ba1c0Pavel Reichl *) Solve many mod_ssl porting issues (too many to detail) with
1a357c873baa79c0b82ab1d084f942cfcc8ba1c0Pavel Reichl help from the whole team, but most notably [Ralf S. Engelschall,
1a357c873baa79c0b82ab1d084f942cfcc8ba1c0Pavel Reichl Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>,
1a357c873baa79c0b82ab1d084f942cfcc8ba1c0Pavel Reichl Doug MacEachern, William Rowe, Cliff Woolley]
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom *) More stall fixes for the threaded & worker mpm's.
1a357c873baa79c0b82ab1d084f942cfcc8ba1c0Pavel Reichl Make mod_status output more accurate. Don't
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov count workers in processes which aren't actively
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce serving requests. [Greg Ames]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Win32: Get SSI exec cgi tag working. [Bill Stoddard]
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom *) Add a single listener/multiple worker MPM. This MPM is
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom definately not fully correct, but it allows us to solve many
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom of the problems that exist in the threaded MPM. This is a
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose modified version of the threaded MPM. [Ryan Bloom]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Improve content generation throughout Apache, providing closer
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose compliance with HTML 3.2, HTML 4.01 Transitional and XHTML 1.0
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom Transitional specifications. [William Rowe]
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbomChanges with Apache 2.0.22
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom *) Fix a problem where the threaded MPM stalls after restarts or
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov segfaults. Also prevent multiple active processes from using
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov the same scoreboard slot. [Greg Ames]
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom *) Apache/Win32 now fills in the service description with Apache's
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom server version string, including loaded and advertised modules.
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose [William Rowe]
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom *) Improved support for the Win32 build, to recover gracefully from
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom missing apr or apr-util directories or the awk interpreter,
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose create the proper cgi-bin examples, including a test-cgi.bat, and
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher fix the perl shebang line for printenv.pl, when installing from
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher the build environment. [William Rowe]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Fix a segfault in threaded.c caused by passing uninitialized
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose apr_thread_t * to apr_thread_join(). [Jeff Trawick]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Use new APR number conversion functions to reduce CPU consumption
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom when setting the content length, and in mod_log_config.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix problem reported by Taketo Kabe <kabe@sra-tohoku.co.jp>
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom where HEAD response headers were being repeated twice for
1a357c873baa79c0b82ab1d084f942cfcc8ba1c0Pavel Reichl files greater than 32K bytes (4*AP_MIN_BYTES_TO_WRITE). This
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce problem in the http_header filter was exposed by the recent rewrite
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce of the content_length filter. [Taketo Kabe, Bill Stoddard]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Fix seg faults in mod_status with ExtendedStatus enabled, after
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher restarts. A garbage pointer to a vhost's server_rec from the
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher previous generation was being left around under certain
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom conditions. [Greg Ames]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix a cosmetic problem with mod_include. Non-existant SSI vars
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher used to appear as '(none', without the closing paren.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [G�nter Knauf <eflash@gmx.net>]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Improve the exports generating awk script. In the past, we had
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher work around problems in the awk script by avoiding some #if and
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher #ifdefs. This has bitten us many times in generating the exports.c
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek file. This improvement allows corrects the header file parsing.
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom [Sander Striker <striker@apache.org>]
35480afaefafb77b28d35b29039989ab888aafe9Stephen GallagherChanges with Apache 2.0.21
a530a96721d8106a6839b6b643b0abc5d7a7b9e0Sumit Bose *) Resolve the Win32 htpasswd bug, where a file that existed would be
443eb8217741df57d9f58f2098487b91e3404e71Jakub Hrozek overwritten, regardless of the -c flag.
2f3ee3f49019f5b60adbe073070f31e6e2d7c7abStephen Gallagher [William Rowe, Mladen Turk <mladen.turk@mail.inet.hr>]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Introduce connection sub-pools into ab. Truncating the lifetime
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov of these allocations means that ab no longer perpetually grows
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher its working set, running out of memory on large request attempts.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [William Rowe]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Make scoreboard creation a hook. This allows management
ed2136eebe3fbffccb8a5c548afdb815a46d5d39Pavel Reichl modules to have access to the scoreboard at the time that it is
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher created, and at every restart request.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [Cody Sherr <csherr@covalent.net>]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Changed AP_MPMQ_MAX_DAEMONS to refer to MaxClients and
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce added an AP_MPMQ_MAX_DAEMON_USED to refer to the highest
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher daemon index actually used in the scoreboard. I also
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher updated the pertinent calls. [Paul J. Reder]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Win32: Prevent listening sockets from being inherited by
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher the Apache child process, CGI scripts, rotatelog process
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose etc. If the Apache child process segfaults, any processes
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose that the child started are not reaped. Prior to this fix,
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce these processes inherited the listening sockets which sometimes
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher prevented the restarted Apache child process from accepting
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher connections (ie, the server would hang).
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [Bill Stoddard]
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom *) Provide vhost and request strings when ExtendedStatus is on.
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom *) Fix some issues with the pod and prefork: check the pod *after*
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce processing a connection so that a server processing a time-
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce consuming request bails out as soon as practical; when the
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom parent process wakes up a server process via connect(), use an
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom APR timeout on the connect() so that we don't hang for a long
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom time if there aren't server processes around to do accept().
1a357c873baa79c0b82ab1d084f942cfcc8ba1c0Pavel Reichl [Jeff Trawick, Greg Ames]
46ebf4415306454e1d062b61a2495b7cdb821c0fPavel Reichl *) Performance improvement to mod_mime.c. find_ct() in mod_mime,
46ebf4415306454e1d062b61a2495b7cdb821c0fPavel Reichl spends a lot of time in apr_table_get calls. Using the default
2a96981a0ac781d01e5bba473409ed2bdf4cd4e0Jakub Hrozek httpd.conf, the tables for languages and charsets are somewhat
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom large, so the time spent scanning them on each request is
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov significant. Replacing the tables with hash tables provides
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov a nice speedup. [Brian Pane <bpane@pacbell.net>]
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom *) Add two functions to allow modules to access random parts of the
ee3b4d1d0a6a438626e2dbbae3bf96d2d6faaf18eindenbom scoreboard. This allows modules compiled for one MPM to access the
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher scoreboard, even if it the server was compiled for another MPM.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [Harrie Hazewinkel <harrie@covalent.net>]
35480afaefafb77b28d35b29039989ab888aafe9Stephen GallagherChanges with Apache 2.0.20
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix problem in content-length filter where the filter would
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher buffer all the output from a CGI before sending any bytes
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher down the filter stack to the network. This problem would cause
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher significant memory consumption if the CGIs generated
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov lots of bytes. [Bill Stoddard]
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov *) Get non-blocking CGI pipe reads working with the bucket brigades.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [Bill Stoddard]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix seg fault on Windows when serving files cached with mod_file_cache.
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov [Bill Stoddard]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix a bug in the threaded MPM that would cause it to kill off all
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher workers immediately after starting if the number of workers started
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher was above a certain threshold. [Ryan Bloom, Bill Stoddard]
35480afaefafb77b28d35b29039989ab888aafe9Stephen GallagherChanges with Apache 2.0.19
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Fix problem with threaded MPM. The problem was that if each child
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce process was busy serving a single long-lived request and the server
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher was sent a graceful restart signal, the server would stop serving
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher requests. This would happen because each child process would wait to
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher die until the last thread was done, and the parent wouldn't spawn any
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher new children until a process died. Now, the parent looks at the fact
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher that the children are dying gracefully, and starts new children.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher Those new children only start enough threads to compliment the number
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher of threads in the other child process that shares the same spot in
46ebf4415306454e1d062b61a2495b7cdb821c0fPavel Reichl the scoreboard. In this way, we make sure to never go over
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov MaxClients. [Ryan Bloom]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) modified mod_negotiation and mod_autoindex to speed up by almost a
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher factor of two on apr_dir_read()-enhanced platforms, such as Win32
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher and OS2, by calling ap_sub_request_lookup_dirent() with the results
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher already provided by apr_dir_read(). [William Rowe]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) mod_file_cache is now more robust to filtering and serves requests
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce slightly more efficiently. [Cliff Woolley]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix problem handling FLUSH bucket in the chunked encoding filter.
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl Module was calling ap_rwrite() followed by ap_rflush() but the
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl served content was not being displayed in the browser. Inspection
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce of the output stream revealed that the first data chunk was
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher missing the trailing CRLF required by the RFC. [Bill Stoddard]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) apxs no longer generates ap_send_http_header() in the example handler
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix an ab problem which could cause a divide-by-zero exception
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher with certain invocations (e.g., ab -k -c 6 -n 100 localhost/).
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [Ian Holsman <ianh@cnet.com>]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Solve case-insensitive platforms' confusion about negotiated
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher filenames, allowing files of differnt case to match in choosing
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher the document to serve. [William Rowe]
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher *) Fix brokenness when ThreadsPerChild is higher than the built-in
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher limit. We left ap_threads_per_child at the higher value which
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher led to segfaults when doing certain scoreboard operations.
35480afaefafb77b28d35b29039989ab888aafe9Stephen Gallagher [Jeff Trawick]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Fix seg faults and/or missing output from mod_include. The
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose default_handler was using the subrequest pool for files and
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose MMAPs, even though the associated APR structures typically
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose live longer than the subrequest. [Greg Ames]
32266b2c1c6b8bf95f3ba8fd7f3ff2ef63d8fb9aSumit Bose *) Extend mod_setenvif to support specifying regular expressions
e1522a568dac91499f5f2039ef978a0a4ceeb3b3Sumit Bose on the SetEnvIf (and SetEnvIfNoCase) directive attribute field.
e1522a568dac91499f5f2039ef978a0a4ceeb3b3Sumit Bose Example: SetEnvIf ^TS* [a-z].* HAVE_TS
e1522a568dac91499f5f2039ef978a0a4ceeb3b3Sumit Bose will cause HAVE_TS to be set if any of the request headers begins
e1522a568dac91499f5f2039ef978a0a4ceeb3b3Sumit Bose with "TS" and has a value that begins with any character in the
e1522a568dac91499f5f2039ef978a0a4ceeb3b3Sumit Bose set [a-z]. [Bill Stoddard]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) httpd children now re-bind themselves to a random CPU on
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce multiprocessor systems on AIX via bindprocessor() in 2.0.
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher [Victor J. Orlikowski]
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher *) Fix htdigest. It would go into a loop in getline when adding
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher a second user. [Bill Stoddard]
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher *) Win32 platforms now fully support mod_userdir options. [Will Rowe]
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher *) Automatically generate httpd.exp for AIX.
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov DSOs now work again on AIX in 2.0
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov [Victor J. Orlikowski]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Add a new request hook, error_log. This phase allows modules
e1522a568dac91499f5f2039ef978a0a4ceeb3b3Sumit Bose to act on the error log string _after_ it has been written
e1522a568dac91499f5f2039ef978a0a4ceeb3b3Sumit Bose to the error log. The goal for this hook is to allow monitoring
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce modules to send the error string to the monitoring agent.
e1522a568dac91499f5f2039ef978a0a4ceeb3b3Sumit Bose *) Modify mod_echo to make it use filters for input and output.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Ryan Morgan <rmorgan@covalent.net>]
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher *) Extend mod_headers to support conditional driven Header
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce add, append and set. Use SetEnvIf to set an envar and conditionally
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce add/append/set headers based on this envar thusly:
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher SetEnvIf TSMyHeader value HAVE_TSMyHeader
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher Header add MyHeader "%t %D" env=HAVE_TSMyHeader
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher If the request contains header "TSMyHeader: value" then header
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov MyHeader: "t=xxxxxxxxxx D=yyyy" will be sent on the response.
e1522a568dac91499f5f2039ef978a0a4ceeb3b3Sumit Bose [Bill Stoddard]
e1522a568dac91499f5f2039ef978a0a4ceeb3b3Sumit Bose *) Extend mod_headers to support using format specifiers on Header
e1522a568dac91499f5f2039ef978a0a4ceeb3b3Sumit Bose add, append and set header values. Two format specifiers are supported:
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov %t - reports, in UTC microseconds since the epoch, when the
e1522a568dac91499f5f2039ef978a0a4ceeb3b3Sumit Bose request was received.
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher %D - reports the time, in microseconds, between when the request was
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce received and the response sent.
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher Header add MyHeader "This request served in %D microseconds. %t"
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher results in a header being added to the response that looks like this:
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher MyHeader: This request served in D=5438 microseconds. t=991424704447256
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher [Bill Stoddard]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Fix reset_filter(). We need to be careful how we remove filters.
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher If we set r->output_filters to NULL, we also have to reset the
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher connection's filters. [John Sterling]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Optimise reset_filter() in http_protocol.c. [Greg Stein]
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher *) Add a check to ap_die() to make sure the filter stack is sane and
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher contains the correct basic filters when an error occurs. This fixes
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce a problem where headers are not being sent on error. [John Sterling]
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher *) New Header directive 'echo' option. "Header echo regex" will
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce cause any headers received on the request that match regex to be
586793c2f95b574695c5520cf6f3ef019fb58519Stephen Gallagher echoed to (included in) the response headers.
586793c2f95b574695c5520cf6f3ef019fb58519Stephen Gallagher [Bill Stoddard]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) include/ap_compat.h tested and set APR_COMPAT_H instead of AP_COMPAT_H.
586793c2f95b574695c5520cf6f3ef019fb58519Stephen Gallagher This prevented the inclusion of apr_compat.h. PR #7773
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher [Oleg Broytmann <phd@phd.pp.ru>]
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher *) Moved util_uri to the apr-util library. This required a bunch of
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher apr_name changes for the uri utility functions. [Justin Erenkrantz]
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher *) Move the addition of default AP_HTTP_HTTP_HEADER filters to the
2a2f642aae37e3f41cbbda162a74c2b946a4521fStephen Gallagher insert_filter phase so that other filters are not bypassed by default.
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl [Graham Leggett]
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl *) Reimplement mod_headers as an output filter. mod_headers can now
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl add custom headers to inbound requests using the RequestHeader directive
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl and to responses using the same old Header directive. [Graham Leggett]
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel ReichlChanges with Apache 2.0.18
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl *) Fix command-line processing so that if a bad argument is specified
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl Apache will exit. [Jeff Trawick]
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl *) Change the make targets and rules to be consistent in all of the
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl Apache-owned source trees. [Roy Fielding]
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl *) Fix processing of the TRACE method. Previously we passed bogus
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl parms to form_header_field() and it overlaid some vhost structures,
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl resulting in a segfault in check_hostalias().
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl [Greg Ames, Jeff Trawick]
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl *) Win32: Add support for reliable piped logs. If the logging process
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl goes down, Apache will automatically restart it. This function has
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl been part of Apache on Unix/Linux/BSD since the early v1.3 releases.
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl [Bill Stoddard]
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl *) Do not start piped log processes during the config file
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl preflight. This change also circumvents a problem on
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl Windows where the rotatelog processes created during preflight
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl was not getting cleaned up properly.
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl [Bill Stoddard]
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl *) add "Request Phase Participation" info to mod_info
4c38ed71727a9668cec4d3bd1bf8f7e77ac5e6c0Pavel Reichl [Doug MacEachern]
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman *) Make first phase changes to the scoreboard data structures in
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman preparation for the rewriting of the scoreboard per my posted
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman design notes. [Paul J. Reder]
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman *) Fix httpd's definition of LTFLAGS to be consistent with that of apr
bf6f1b3d49e17b1adf0448c0b06e94b1e52ddffdLukas Slebodnik and apr-util, allow it to be overridden by the configure command-line
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman (default="--silent") and introduce LT_LDFLAGS to replace what we were
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman formerly abusing as LTFLAGS. [Roy Fielding]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Clean up the reporting of incorrect closing container tags.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Barrie Slaymaker <barries@slaysys.com>]
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman *) Simplify the configure process by moving all libtool stuff to APR
bf6f1b3d49e17b1adf0448c0b06e94b1e52ddffdLukas Slebodnik and moving hints.m4 inline. [Roy Fielding]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Add the AP_DECLARE()/AP_CORE_DECLARE macros on the return types
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce of functions used by mod_proxy for export in the DLL
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman [Ian Holsman <IanH@cnet.com>]
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman *) Prevent a hang when a cgi handled by mod_cgid tries to read a
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman request body from its stdin but no reqest body is being written to
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman the cgi. [Jeff Trawick]
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman *) mod_log_config: %c connection status incorrectly logged
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman as "-" (non-keepalive) when MaxKeepAliveRequests is set to 0.
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman [Bill Stoddard]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Get mod_cern_meta working under Windows
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman [Bill Stoddard]
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman *) Create Files, and thus MMAPs, out of the request pool, not the
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman connection pool. This solves a small resource leak that had us
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman not closing files until a connection was closed. In order to do
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov this, at the end of the core_output_filter, we loop through the
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman brigade and convert any data we have into a single HEAP bucket
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce that we know will survive clearing the request_rec.
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman [Ryan Bloom, Justin Erenkrantz <jerenkrantz@ebuilt.com>,
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman Cliff Woolley]
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov *) Completely revamp configure so that it preserves the standard make
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman variables CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS and LIBS by moving
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman the configure additions to EXTRA_* variables. Also, allow the user
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman to specify NOTEST_* values for all of the above, which eliminates the
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce need for THREAD_CPPFLAGS, THREAD_CFLAGS, and OPTIM. Fix the setting
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman of INCLUDES and EXTRA_INCLUDES. Check flags as they are added to
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman avoid pointless duplications. Fix the order in which flags are given
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov on the compile and link lines. Remove obsolete macros APR_DOEXTRA,
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman AC_ADD_LIBRARY, AC_CHECK_DEFINE, APACHE_PASSTHRU, and APACHE_ONCE.
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman Added APR_SAVE_THE_ENVIRONMENT and APR_RESTORE_THE_ENVIRONMENT macros.
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman Renamed AC_TYPE_RLIM_T macro to APACHE_TYPE_RLIM_T. [Roy Fielding]
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman *) Get mod_tls to compile/work better on Windows. PR #7612
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman [Bernhard Schrenk <b.schrenk@improx.com>]
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce *) Fix shutdown/restart hangs in the threaded MPM.
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov [Jeff Trawick, Greg Ames, Ryan Bloom]
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman *) Removed the keptalive boolean from conn_rec because it is now only
3612c73e7957721bcbf31d0118e2ac210eb46b88Pierre Ossman used by a single routine and can be replaced by a local variable.
dfd71fc92db940b2892cc996911cec03d7b6c52bSimo Sorce [Greg Stein, Ryan Bloom, Roy Fielding]
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl *) Patch prefork to put enough of the signal processing back in so that
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl signals are all handled properly now. The previous patch fixed the
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl deadlock race condition, but broke the user directed signal handling.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl This fixes it to work the way it did before my previous prefork patch
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl (primarily, SIGTERM is now working).
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Change how input filters decide how much data is returned to the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl higher filter. We used to use a field in the conn_rec, with this
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl change, we use an argument to ap_get_brigade to determine how much
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl data is retrieved. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix seg fault at start-up introduced by Ryan's change to enable
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl modules to specify their own logging tags. mod_log_config
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl registers an optional function, ap_register_log_handler().
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl ap_register_log_handler() was being called by http_core before
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl the directive hash table was created. This patch creates the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl directive hash table before ap_register_log_handler() is
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl registered as an optional function.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Add ap_set_int_slot() function
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [John K. Sterling <sterling@covalent.net>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Under certain circumstances, Apache did not supply the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl right response headers when requiring authentication.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Gertjan van Wingerde <Gertjan.van.Wingerde@cmg.nl>] PR#7114
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl (This is a port of the change that went into Apache 1.3.19.)
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Allow modules to specify their own logging tags. This basically
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl allows a module to tell mod_log_config that when %x is encountered
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl a specific function should be called. Currently, x can be any single
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl character. It may be more useful to make this a string at some point.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel ReichlChanges with Apache 2.0.17
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) If a higher-level filter handles the the byterange aspects of a
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl request, then the byterange filter should not try to redo the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl work. The most common case of this happening, is a byterange
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl request going through the proxy, and the origin server handles
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl the byterange request. The proxy should ignore it.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Graham Leggett <minfrin@sharp.fm>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Changed the threaded mpm to have child_main join to each of the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl worker threads to make sure the kids are all gone before child_main
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl exits after a signal (cleanup from perform_idle_server_maintenance).
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl This is an extension of Ryans recent commit to make the child_main
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl the signal thread.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Add more options to the ap_mpm_query function. This also allows MPMs to
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl report if their threads are dynamic or static. Finally, this also
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl implements a new API, ap_show_mpm, which returns the MPM that was
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl required into the core. [Harrie Hazewinkel <harrie@covalent.net>]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Do not install the binaries from the support directory twice.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [jun-ichiro hagino <itojun@iijlab.net>]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) The ap_f* functions should flush data to the filter that is passed
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl in, not the the filter after the one passed in.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Ryan Morgan <rmorgan@covalent.net>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Make ab work again by changing its native types to apr types and formats.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Justin Erenkrantz <jerenkrantz@ebuilt.com>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Move the byterange filter and all of the supporting functions back
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl to the HTTP module. The byterange filter turned out to be very
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl HTTP specific, and it belongs in the HTTP module. [Greg Stein]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Make clean, distclean, and extraclean consistently according to the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl Gnu makefile guidelines. [Justin Erenkrantz <jerenkrantz@ebuilt.com>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix errors in the renaming of the apr_threadattr_detach_xxx functions.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl This may have been causing problems stopping processes in the threaded
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl mpm's. [Greg Ames]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Fix content-length in mod_negotiation to a long int representation.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [William Rowe]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Remove BindAddress from the default config file.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [giles@nemeton.com.au]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Allow module authors to add a module to their Apache build using
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl --with-module, without re-running buildconf. The syntax is:
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl --with-module=module_type:/path/to/module.c
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl The configure script will copy the module.c file to
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl modules/module_type, and it will be added to the relevant Makefiles.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl currently, this only works for static modules. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Changes required to make prefork clean up idle children properly.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl There was a window during which a starting worker deadlocks when
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl an idle cleanup arrives before it completes init. Apache then keeps
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl trying to cleanup the same deadlocked worker forever (until higher
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl pids come along, but it still will never reduce below the deadlocked
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl pid). Thus the number of children would not reduce to the correct
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl idle level. [Paul J. Reder]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel ReichlChanges with Apache 2.0.16
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Change the default installation directory to /usr/local/apache2,
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl as now defined by the "Apache" layout in config.layout. [Marc Slemko]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) OS/2: Added support for building loadable modules as OS/2 DLLs.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Brian Havard]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Get MaxRequestsPerChild working with the Windows MPM.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Bill Stoddard]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Make generic hooks to work, with mod_generic_hook_import/export
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl experimental modules. [Ben Laurie, Will Rowe]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix segfaults for configuration file syntax errors such as
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl "<Directory>" followed by "</Directory" and
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl "<Directory>" followed by "</Directoryz>". [Jeff Trawick]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Cleanup the --enable-layout option of configure. This makes
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl us use a consistent location for the config.layout file, and it
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl makes configure more portable.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [jun-ichiro hagino <itojun@iijlab.net>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Changes to 'ab'; fixed int overrun's, added statistics, output in
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl csv/gnuplot format, rudimentary ssl support and various other tweaks
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl to make results more true to what is measured. The upshot of this it
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl turns out that 'ab' has often underreported the true performance of
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl apache. Often by a order of magnitude :-) See talk/paper of Sander
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl Temme <sctemme@covalent.net> at April ApacheCon 2001 for details.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Dirk-Willem van Gulik]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Clean up mod_cgid's temporary request pool. Besides fixing a
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl storage leak this ensures that some unnecessary pipes are closed.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Jeff Trawick]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Performance: Add quick_handler hook. This hook is called at the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl very beginning of the request processing before location_walk,
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl translate_name, etc. This hook is useful for URI keyed content
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl caches like Mike Abbott's Quick Shortcut Cache.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Bill Stoddard]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) top_module global variable renamed to ap_top_module [Perl]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Move ap_set_last_modified to the core. This is a potentially
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl controversial change, because this is kind of HTTP specific. However
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl many protocols should be able to take advantage of this kind of
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl information. I expect that headers will need one more layer of
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl indirection for multi-protocol work, but this is a small step in
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl the right direction. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Enable mod_status by default. This matches what Apache 1.3 does.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Ed Korthof]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Add a ScriptSock directive to the default config file. This is
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl only enabled when mod_cgid is used.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Taketo Kabe <kabe@sra-tohoku.co.jp>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel ReichlChanges with Apache 2.0.15
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Untangled the buildconf script and eliminated the need for build's
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl aclocal.m4, generated_lists, build.mk, build2.mk, and a host of other
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl libtool muck that is now under srclib/apr/build. [Roy Fielding]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Win32: Don't accept more connections than we have worker threads
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Bill Stoddard]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix bug in the Unix threaded.c MPM that allowed child processes
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl to fork() new child processes.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Bill Stoddard]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix a major security problem with double-reverse lookup checking.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl Previously, a client connecting over IPv4 would not be matched
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl properly when the server had an IPv6 listening socket. PR #7407
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Taketo Kabe <kiabe@sra-tohoku.co.jp>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Change the way the beos MPM handles polling to allow it to stop and
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl restart. Problem was the sockets being polled were being reset by
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl the select call, so once it had accepted a connection it was no
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl longer listening on the UDP socket we use for shutdown instructions.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl APR needs to be altered, patch on it's way. [David Reid]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Empty out the brigade shared by ap_getline()/ap_get_client_block()
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl on error exit from ap_getline(). Some other code got upset because
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl the wrong data was in the brigade. [Greg Ames, Jeff Trawick]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Handle ap_discard_request_body() being called more than once.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Greg Ames, Jeff Trawick]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Get rid of an inadvertent close of file descriptor 2 in
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl mod_mime_magic. [Greg Ames, Jeff Trawick]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Add a hook, create_request. This hook allows modules to modify
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl a request while it is being created. This hook is called for all
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl request_rec's, main request, sub request, and internal redirect.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl When this hook is called, the the r->main, r->prev, r->next
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl pointers have been set, so modules can determine what kind of
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl request this is. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Cleanup the build process a bit more. The Apache configure
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl script no longer creates its own helper scripts, it just
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Stop the forced downgrade of the connection to HTTP/1.0 for
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl proxy requests. [Graham Leggett]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Avoid using sscanf to determine the HTTP protocol number in
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl the common case because sscanf is a performance hog. From
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl Mike Abbot's Accelerating Apache patch number 6.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Mike Abbot <mja@trudge.engr.sgi.com>, Bill Stoddard]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Fix a security exposure in mod_access. Previously when IPv6
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl listening sockets were used, allow/deny-from-IPv4-address rules
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl were not evaluated properly (PR #7407). Also, add the ability to
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl specify IPv6 address strings with optional prefix length on Allow
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl and Deny. [Jeff Trawick]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Enhance rotatelogs so that a UTC offset can be specified, and
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl the logfile name can be formatted using strftime(3). (Brought
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl forward from 1.3.) [Ken Coar]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Reimplement the Windows MPM (mpm_winnt.c) to eliminate calling
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl DuplicateHandle on an IOCompletionPort (a practice which
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl MS "discourages"). The new model does not rely on associating
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl the completion port with the listening sockets, thus the
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl completion port can be completely managed within the child
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl process. A dedicated thread accepts connections off the network,
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl then calls PostQueuedCompletionStatus() to wake up worker
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl threads blocked on the completion port.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Bill Stoddard]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Bring forward the --suexec-umask option which allows the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl builder to preset the umask for suexec processes. [Ken Coar]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Add a -V flag to suexec, which causes it to display the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl compile-time settings with which it was built. (Only
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl usable by root or the AP_HTTPD_USER username.) [Ken Coar]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Mod_include should always unset the content-length if the file is
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl going to be passed through send_parsed_content. There is no to
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl determine if the content will change before actually scanning the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl entire content. It is far safer to just remove the C-L as long
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl as we are scanning it. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Make sure Apache sends WWW-Authenticate during a reverse proxy
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl request and not Proxy-Authenticate.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Graham Leggett <minfrin@sharp.fm>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel ReichlChanges with Apache 2.0.14
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix content-length computation. We ONLY compute a content-length if
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl We are not in a 1.1 request and we cannot chunk, and this is a keepalive
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl or we already have all the data. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Report unbounded containers in the config file. Previously, a typo
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl in the </container> directive could result in the rest of the config
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl file being silently ignored, with undesired defaults used.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Jeff Trawick]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Make the old_write filter use the ap_f* functions for the buffering.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Move more code from the http module into the core server. This
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl is core code, basically the default handler, the default input
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl and output filters, and all of the core configuration directives.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl All of this code is required in order for the server to work, with or
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl without HTTP. The server is closer to working without the HTTP
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl module, although there is still more to do. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix a number of SGI compile warnings throughout the server. Fix some
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl bad parameters to apr_bucket_read(). Fix a bad statement in
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl ap_method_in_list(). For the mod_rewrite cache use apr_time_t
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl consistently; we were mixing apr_time_t and time_t in invalid ways
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl before. In load_file(), call apr_dso_error() instead of
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl apr_strerror() so that we get a more specific string on some platforms.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl PR #6980 [Jeff Trawick]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Allow modules to query the MPM about it's execution profile. This
4113389146cde7034bec7980a7fdf0d50f4c7bf7Jakub Hrozek query API can and should be extended in the future, but for now,
d80412010e18d1f48aa402bf7e31a909008edb24Jakub Hrozek max_daemons, and threading or forking is a very good start.
d80412010e18d1f48aa402bf7e31a909008edb24Jakub Hrozek [Jon Travis <jtravis@covalent.net>]
d80412010e18d1f48aa402bf7e31a909008edb24Jakub Hrozek *) Modify mod_include to send blocks of data no larger than 9k.
d80412010e18d1f48aa402bf7e31a909008edb24Jakub Hrozek Without this, mod_include will wait until the whole file is parsed,
d80412010e18d1f48aa402bf7e31a909008edb24Jakub Hrozek or the first tag is found to send any data to the client.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Paul J. Reder <rederpj@raleigh.ibm.com>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix mod_info, so that <Directory> and <Location> directives are
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl not displayed twice when displaying the current configuration.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Ryan Morgan <rmorgan@covalent.net>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Add config directives to override DEFAULT_ERROR_MSG and
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl DEFAULT_TIME_FORMAT. This was sent in as PR 6193.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Dan Rench <drench@xnet.com>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Get mod_info building and loading on Win32. [William Rowe]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Begin to move protocol independant functions out of mod_http. The goal
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl is to have only functions that are HTTP specific in the http directory.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel ReichlChanges with Apache 2.0.13
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Don't assume that there will always be multiple calls to the byterange
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl filter. It is possible that we will need to do byteranges with only
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl one call to the filter. [Ryan Morgan <rmorgan@covalent.net>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Move the error_bucket definition from the http module to the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl core server. Every protocol will need this ability, not just
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl HTTP. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel ReichlChanges with Apache 2.0.12
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Modify mod_file_cache to save pre-formatted strings for
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl content-length and last-modified headers for performance.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Mike Abbot <mja@trudge.engr.sgi.com>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Namespace protect IOBUFSIZ since it is exposed in the API.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Jon Travis <jtravis@covalent.net>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Use "Basic" authentication instead of "basic" in ab, as the spec
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl says we should. [Andre Breiler <andre.breiler@rd.bbc.co.uk>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix a seg fault in mod_userdir.c. We used to use the pw structure
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl without ever filling it out. This fixes PR 7271.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Taketo Kabe <kabe@sra-tohoku.co.jp> and
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl Cliff Woolley <cliffwoolley@yahoo.com>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Add a couple of GCC attribute tags to printf style functions.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Jon Travis <jtravis@covalent.net>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Add the correct language tag for interoperation with the Taiwanese
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl versions of MSIE and Netscape. [Clive Lin <clive@CirX.ORG>] PR#7142
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Migrate the perchild MPM to use the new apr signal child, and
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl APR thread functions. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Close one copy of the CGI's stdout before creating the new process.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl The CGI will still have stdout, because we have already dup'ed it.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl This keeps Apache from waiting forever to send the results of a CGI
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl process that has forked a long-lived child process.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Taketo Kabe <kabe@sra-tohoku.co.jp>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Remove the rest of the pthreads functions from the threaded MPM.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl This requires the APR support for a signal thread that was just
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl added. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Make mod_dir use a fixup for sending a redirect to the browser.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl Before this, we were using a handler, which doesn't make much
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl sense, because the handler wasn't generating any data, it would
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl either return a redirect error code, or DECLINED. This fits the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl current hooks better. [Ryan Morgan <rmorgan@covalent.net>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Make the threaded MPM use APR threads instead of pthreads.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Get mod_tls to the point where it actually appears to work in all cases.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Ben Laurie]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) implement --enable-modules and --enable-mods-shared for "all" and
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl "most". [Greg Stein]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Move the threaded MPM to use APR locks instead of pthread locks.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Rename mpmt_pthread to threaded. This is more in line with the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl fact that mpmt_pthread shouldn't be using pthreads directly, and
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl it is a smaller name that doesn't tie into anything.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Rename the module structures so that the exported symbol matches
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl the file name, and it is easier to automate the installation
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl process (generating LoadModule directives from the module filenames).
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Martin Kraemer]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Remove the coalesce filter. With the ap_f* functions, this filter
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl is no longer needed. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel ReichlChanges with Apache 2.0.11
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Remove the dexter MPM. Perchild is the same basic idea, but it has the
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl added feature of allowing a uid/gid per child process. If no
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl uid/gid is specified, then Perchild behaves exactly like dexter.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Get perchild building again. [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Don't disable threads just because we are using the prefork MPM.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl If somebody wants to compile without threads, they must now add
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl --disable-threads to the configure command line. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Begin to move the calls to update_child_status into common code, so
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl that each individual MPM does not need to update the scoreboard itself.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Allow mod_tls to compile under Unix boxes where openssl has been
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl installed to the system include files.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Gomez Henri <new-httpd@slib.fr>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Cleanup the mod_tls configure process. This should remove any need
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl to hand-edit any files. We require OpenSSL 0.9.6 or later, but
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl configure doesn't check that yet. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Add a very early prototype of SSL support (in mod_tls.c). It is
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl vital that you read modules/tls/README before attempting to build
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl it. [Ben Laurie]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix a potential seg fault on all platforms. David Reid fixed this
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl on BEOS, but the problem could happen anywhere, so we don't want
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl to #ifdef it. [Cliff Woolley <cliffwoolley@yahoo.com>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Add new LogFormat directive, %D, to log time it takes to serve a
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl request in microseconds. [Bill Stoddard]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Change AddInputFilter and AddOutputFilter to SetInputFilter and
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl SetOutputFilter. This corresponds nicely with the other Set
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl directives, which operate on containers while the Add* directives
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl tend to work directly on extensions. [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Cleanup the header handling a bit. This uses the apr_brigade_*
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl functions for the buffering so that we don't need to compute
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl the length of the headers before we actually create the header
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl buffer. [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Allow filters to buffer data using the ap_f* functions. These have
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl become macros that resolve directly to apr_brigade_*.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Get the Unix MPM's to do a graceful restart again. If we are going
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl to register a cleanup with ap_cleanup_scoreboard, then we have to
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl kill the cleanup with the same function, and that function can't be
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl static. [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Install all required header files. Without these, it was not
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl possible to compile some modules outside of the server.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Fix the AliasMatch directive in Apache 2.0. When we brought a patch
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl forward from 1.3 to 2.0, we missed a single line, which broke regex
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl aliases. [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) We have a poor abstraction in the protocol. This is a temporary
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl hack to fix the bug, but it will need to be fixed for real. If
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl we find an error while sending out a custom error response, we back
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl up to the first non-OK request and send the data. Then, when we send
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl the EOS from finalize_request_protocol, we go to the last request,
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl to ensure that we aren't sending an EOS to a request that has already
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl received one. Because the data is sent on a different request than
871f340834f25ca92a481718939164e708a70e29Pavel Reichl the EOS, the error text never gets sent down the filter stack. This
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl fixes the problem by finding the last request, and sending the data
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl with that request. [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Make the server status page show the correct restart time, and
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl thus the proper uptime. [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Move the CGI creation logic from mod_include to mod_cgi(d). This
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl should reduce the amount of duplicate code that is required to
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl create CGI processes.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Paul J. Reder <rederpj@raleigh.ibm.com>]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) ap_new_connection() closes the socket and returns NULL if a socket
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl call fails. Usually this is due to a connection which has been
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl reset. [Jeff Trawick]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Move the Apache version information out of httpd.h and into release.h.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl This is in preparation for the first tag with the new tag and release
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl system. [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Begin restructuring scoreboard code to enable adding back in
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl the ability to use IPC other than shared memory.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl Get mod_status working on Windows again. [Bill Stoddard]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Make mod_status work with 2.0. This will work for prefork,
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl mpmt_pthread, and dexter. [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Correct a typo in httpd.conf.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Kunihiro Tanaka <tanaka@apache.or.jp>] PR#7154
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Really fix mod_rewrite map lookups this time. [Tony Finch]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Get the correct IP address if ServerName isn't set and we can't
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl find a fully-qualified domain name at startup.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl PR#7170 [Danek Duvall <dduvall@eng.sun.com>]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Make mod_cgid work with SuExec. [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Adopt apr user/group name features for mod_rewrite. Eliminates some
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl 'extra' stat's for user/group since they should never occur, and now
79ee5fbacd6ee4153fa59edf5b1ae55b4f020211Pavel Reichl resolves the SCRIPT_USER and SCRIPT_GROUP, including on WinNT NTFS
79ee5fbacd6ee4153fa59edf5b1ae55b4f020211Pavel Reichl volumes. [William Rowe]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Adopt apr features to simplify mod_includes. This changes the
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl behavior of the USER_NAME variable, unknown uid's are now reported
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl as USER_NAME="<unknown>" rather than the old user#000 result.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl WinNT now resolves USER_NAME on NTFS volumes. [William Rowe]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Adopt apr features for simplifing mod_userdir, and accept the new
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl Win32/OS2 exceptions without hiccuping. [William Rowe]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Replace configure --with-optim option by using and saving the
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl environment variable OPTIM instead. This is needed because configure
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl options do not support multiple flags separated by spaces.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Roy Fielding]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix some byterange handling. If we get a byte range that looks like
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl "-999999" where that is past the end of the file, we should return
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl a PARTIAL CONTENT status code, and return the whole file as one big
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl byterange. This matches the 1.3 handling now. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Make the error bucket a real meta-data bucket. This means that the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl bucket length is 0, and a read returns NULL data. If one of these
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl buckets is passed down after the headers are sent, this data will
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl just be ignored. [Greg Stein]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) The prefork MPM wasn't killing child processes correctly if a restart
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl signal was received while the process was serving a request. The child
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl process would become the equivalent of a second parent process. If
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl we break out of the accept loop, then we need to do die after cleaning
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl up after ourselves. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Change the Prefork MPM to use SIGWINCH instead of SIGUSR1 for graceful
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl restarts. [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Modify the apr_stat/lstat/getfileinfo calls within apache to use
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl the most optimal APR_FINFO_wanted bits. This spares Win32 from
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl performing very expensive owner, group and permission lookups
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl and allows the server to function until these apr_finfo_t fields
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl are implemented under Win32. [William Rowe]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Support for typedsafe optional functions - that is functions exported by
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl optional modules, which, therefore, may or may not be present, depending
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl on configuration. See the experimental modules mod_optional_fn_{ex,im}port
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl for sample code. [Ben Laurie]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) filters can now report an HTTP error to the server. This is done
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl by sending a brigade where the first bucket is an error_bucket.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl This bucket is a simple bucket that stores an HTTP error and
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl a string. Currently the string is not used, but it may be needed
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl to output an error log. The http_header_filter will find this
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl bucket, and output the error text, and then return
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl AP_FILTER_ERROR, which informs the server that the error web page
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl has already been sent. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) If we get an error, then we should remove all filters except for
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl those critical to serving a web page. This fixes a bug, where
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl error pages were going through the byterange filter, even though
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl that made no sense. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Relax the syntax checking of Host: headers in order to support
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl iDNS. PR#6635 [Tony Finch]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Cleanup the byterange filter to use the apr_brigade_partition
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl and apr_bucket_copy functions. This removes a lot of very messy
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl code, and hopefully makes this filter more stable.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Remove AddModule and ClearModuleList directives. Both of these
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl directives were used to ensure that modules could be enabled
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl in the correct order. That requirement is now gone, because
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl we use hooks to ensure that modules are in the correct order.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) When SuExec is specified, we need to add it to the list of
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl targets to be built. If we don't, then any changes to the
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl configuration won't affect SuExec, unless 'make suexec' is
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl specifically run. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Cleaned out open_file from mod_file_cache, as apr now accepts
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl the APR_XTHREAD argument to open a file for consumption by
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl parallel threads on win32. [William Rowe]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Correct a bug in determining when we follow symlinks. The code
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl expected a stat -1 result, not an apr_status_t positive error.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl Also check if the APR_FINFO_USER fields are valid before we
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl follow the link. [William Rowe]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Move initgroupgs, ap_uname2id and ap_gname2id from util.c to
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl mpm_common.c. These functions are only valid on some platforms,
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl so they should not be in the main-line code. [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Remove ap_chdir_file(). This function is not thread-safe,
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl and nobody is currently using it. [Ryan Bloom]
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl *) Do not try to run make depend if there are no .c files in the
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl current directory, doing so makes `make depend` fail.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Update highperformance.conf to work with either prefork or
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl pthreads mpms. [Greg Ames]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Stop checking to see if this is a pipelined request if we know
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl for a fact that it isn't. Basically, if r->connection->keepalive == 0.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl This keeps us from making an extra read call when serving a 1.0
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl request. [Ryan Bloom and Greg Stein]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix the handling of variable expansion look-ahead in mod_rewrite,
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl i.e. syntax like %{LA-U:REMOTE_USER}, and also fix the parsing of
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl more complicated nested RewriteMap lookups. PR#7087 [Tony Finch]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix the RFC number mentioned when complaining about a missing
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl Host: header. PR#7079 [Alexey Toptygin <alexeyt@wam.umd.edu>]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix an endless loop in ab which occurred when ab was posting
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl and the server dropped the connection unexpectedly.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Jeff Trawick]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix a segfault while handling request bodies in ap_http_filter().
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl This problem has been seen with mod_dav usage as well as with
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl requests where the body was just being discarded. [Jeff Trawick]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Some adjustment on the handling and automatic setting (via
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl hints.m4) of various compilation flags (eg: CFLAGS). Also,
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl add the capability to specify flags (NOTEST_CFLAGS and
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl NOTEST_LDFLAGS) which are used to compile Apache, but
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl not used during the configuration process. Useful for
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl flags like "-Werror". [Jim Jagielski]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Stop using environment variables to force debug mode or
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl no detach. We now use the -D command line argument to
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl specify the correct mode. -DONE_PROCESS and -DNO_DETACH.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Greg Stein, Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Change handlers to use hooks. [Ben Laurie]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Stop returning copies of filenames from both apr_file_t and
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl apr_dir_t. We pstrdup the filenames that we store in the
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl actual structures, so we don't need to pstrdup the strings again.
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) mod_cgi: Fix some problems where the wrong error value was being
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl traced. [Jeff Trawick]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) EBCDIC: Fix some missing ASCII conversion on some protocol data.
13ec767e6ca3e435e119f1f07bda10eb213383f6Pavel Reichl [Jeff Trawick]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Add generic hooks. [Ben Laurie]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Use a real pool to dup the error log descriptor. [Ryan Bloom]
2a91d3dd0ce4387332db27bd1a0c0005c74f870ePavel Reichl *) Fix a segfault caused by mod_ext_filter when the external filter
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl program does not exist. [Jeff Trawick]
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl *) Fix an output truncation error when on an HTTP >= 1.0 request an
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl object of size between DEFAULT_BUCKET_SIZE and AP_MIN_BYTES_TO_WRITE
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl was served through mod_charset_lite (or anything else that would
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl create a transient bucket in this size range). ap_bucket_make_heap()
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl silently failed (fixed), transient_setaside() discovered it, but
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl ap_save_brigade() ignored it (fixed). [Jeff Trawick]
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl *) Ignore \r\n or \n when using PEEK mode for input filters. The problem
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl is that some browsers send extra lines at the end of POST requests, and
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl we don't want to delay sending data back to the user just because the
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl browser isn't well behaved. [Ryan Bloom]
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl *) Get SuEXEC working again. We can't send absolute paths to suExec
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl because it refuses to execute those programs. SuEXEC also wasn't
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl always recognizing configuration changes made using the autoconf
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl setup. [Ryan Bloom]
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl *) Allow the buildconf process to find the config.m4 files in the correct
719985a9e2aeaf2cba960f1525325ff125b7e19bPavel Reichl order. Basically, we can now name config.m4 files as config\d\d.m4,
such as apache_2.0a9.tar.gz on FreeBSD again. [Ryan Bloom]
server root from the Apache.exe path.
loadable modules, dynamic libs are all named libfoo.dll, and the
makefile.win populates the include, lib and libexec directories.
numeric address strings (e.g., "Listen [fe80::1]:8080").
*) Get the functions in server/linked into the server, regardless of
be loadable into the server. Our new build/install mechanism expects
to build + install on Win32. Makefile.win now rewrites @@ServerRoot@
and installs the conf, htdocs and htdocs/manual directories.
time, and that list is then used to generate the exports.c file.
*) Added lib/aputil/ as a placeholder for utility functions which are not
rotatelogs.c code, and no longer churn log processes for this
hostname resolution/address string parsing and building
*) Mod_info.c has now been ported to Apache 2.0. As a part of this
*) APR read/write functions and bucket read functions now operate
code in mod_log_config.c
*) In the Apache/Win32 console window, accept Ctrl+C to stop the
since we don't compute digests of filtered (e.g., translated)
*) Update the mime.types file to the registered media types as
*) Namespace protect some macros declared in ap_config.h
*) Add support for /, //, //servername and //server/sharename
*) Fix another bug in the send_the_file() read/write loop. A partial
*) Reimplement core_output_filter to buffer/save bucket brigades
*) send_the_file now falls back to a read/write loop on platforms that
*) APR now has UUID generation/formatting/parsing support.
-add rules for cross-compiling in rules.mk. Okay, rule to check for
-add missing "AR=@AR@" to severaly Makefile.in's
*) Fix building on BSD/OS using its native make. The build system
hook in http_core.c. This removes the need to add the filter in
update allows the user to clear or preserve pw/groups/comment.
<IfModule mod_kilroy.c>
<IfModule mod_lovejoy.c>
*) Fix some compile warnings in mod_mmap_static.c
*) APRVARS.in no longer overwrites the EXTRA_LIBS variable.
*) Fix compile break on some platforms for mod_mime_magic.c
platforms to hints.m4, which contains (or should contain)
*) Add tables with non-string/binary values to APR.
configuration file started with an IfModule/IfDefine container,
not terminated with cr/lf sequences in Win32. [William Rowe]
*) Move all strings functions in APR to src/lib/apr/strings and create
apr_strings.h for the prototypes. [Ryan Bloom]
*) Clean out obsolete names (from httpd.h) for the HTTP Status Codes
*) Update the lib/expat-lite/ library (bring forward changes from
configure.in. [Dave Hill <ddhill@zk3.dec.com>]
timeouts (i.e, if a timeout was specified, the pipe reverted to
3x the rate of Apache 1.3.(e.g, Apache 1.3 will serve 400 rps
compiled-in limits (e.g., ThreadsPerChild, MaxClients, StartTreads).
and a user makes a request like http://www.example.com//cgi-bin/cgi
*) Yet another update to saferead/halfduplex stuff -- need to ensure
to the configured User/Group (like other httpd processes)
if the len was negative. Use <sys/un.h> for struct sockaddr_un
doesn't seem to have a problem but /bin/sh on Solaris does.
ContentDigest enabled and we can't/don't mmap the file.
related bugs, and changed shmem/locking to use apr API. Shared-mem
would be errors generating ap_config_auto.h later in the configure
*) Organize http_main.c as independent code, such that no code or
in 1.3's ebcdic.c. [Jeff Trawick]
buffer if the implementation knows how to use it (i.e., if L_tmpnam
*) Configure creates config.nice now containing your configure
options. Syntax: ./config.nice [--more-options]
*) Fix mm's memcpy/memset macros, pointer arithmetic was broken.
*) The ab program in the src/support directory is now portable using
*) Finished move of ap_md5 routines to apr_md5. Removed ap_md5.h.
Apache.dsw created to bring together all the pieces. Create new file
os/win32/BaseAddr.ref to define module base addresses (to prevent
*) More FAQs and answers from comp.infosystems.www.servers.unix.
fix up from Apache 1.3. #include'ing "ap_mpm.h" fixes up an
we can use ReadFileScatter and WriteFileGather in readwrite.c.
fixes to mod_so.c.
Makefile.win includes the same user interface as the old
*) Put in Korean and Norwegian index.html pages (2.0 and 1.3)
config file. E.g. 'ServerAdmin ${POSTMASTER}'. As commited
it does this on a line by line basis; i.e. if the envvar
ErrorDocument XXX /local/uri
ErrorDocument XXX http://valid/url
*) Changed 'CacheNegotiatedDocs' from its present/not-present
done with --with-module=/path/to/module. Modules can only be added
*) Enable Apache to use sendfile/TransmitFile API
*) Make file I/O and network I/O writev/sendv APIs consistent.
bytes_read/bytes_written is always valid (never -1). Plus
some fixes to buff.c to correct problems introduced by the
*) buff.c has been converted to no longer use errno.
automatically for developers from src/Configure.
*) Fixed building of src/support/htpasswd.c
*) Moved mod_auth_digest.c from experimental to standard. [Roy Fielding]
*) Support line-continuation feature in config.option file and
*) Implement WINNT Win32 MPM from original Win32 code in http_main.c
(per default used the config.option file).
calling order to be specified on a per-hook/per-module basis.
*) os/unix/unixd.[ch]: detach, setuid, setgid, stuff which will be common
*) mpm_prefork: throw away all the alarm/timeout crud; and clean up the
of alloc.c for now. [Dean Gaudet]
based on IP/port. [Ben Laurie]
*) I/O layering and BUFF revamp. See docs/buff.txt. [Dean Gaudet]
docs/initial_blurb.txt. [Dean Gaudet]
an absolute path to the ./libexec directory where the libhttp.ep file
routines are now called ap_base64* and are 'plain' (i.e., no
pool access or anything clever). Inside util.c the routines acting
*) Fixed assumption of absolute paths in binbuild.sh. [Tony Finch]
src/support/httpd.exp. [Bill Stoddard, Randy Terbush]
*) Make ap_sha1.c compile for EBCDIC platforms: replace remaining LONG
*) PORT: Improved compilation and DSO support on Sequent DYNIX/ptx.
*) Local struct mmap in http_core.c conflicted with system structure
*) Added updated mod_digest as modules/experimental/mod_auth_digest.
*) CIDR addresses such as a.b.c.d/24 where d != 0 weren't handled
*) RewriteLock/RewriteMap didn't work properly with virtual hosts.
*) PORT: Support for compaq/tandem/com.
Netscape servers. See support/SHA1 for more information.
Caused the separation of ap_md5.c into md5, sha1 and a general
ap_checkpass.c with just a validate_passwd routine. Added a
couple of flags to support/htpasswd. Some reuse of the to64()
with ASCII/EBCDIC conversions in "ident" query.
are combined, and duplicate tokens (e.g., "Vary: host, host" or
install the DSO; useful for editing httpd.conf with apxs. Fix
create duplicate LoadModule/AddModule entries; apxs can now be
used to re- enable/disable a module. [Wilfredo Sanchez]
Win 95 users may need to update their TCP/IP stack to pick up
Winsock 2. (See http://www.microsoft.com/windows95/downloads/)
error.log when CGI scripts fail. This makes Apache on Win32
*) Fix `make r' test procedure in src/regex/: ap_isprint was not found.
*) Add DSO support for DGUX 4.x using gcc. Tested on x86 platforms.
*) Add the new mass-vhost module (mod_vhost_alias.c) developed and
parent/child process management code.
*) Fix ndbm.h include problems with brain-dead glibc >= 2.1 which
has ndbm.h in a non-standard db1/ subdir. PR#4431, PR#4528
*) Determine AP_BYTE_ORDER for ap_config_auto.h and already
content-types are "text/html;parameters". PR#4524 [Ken Coar]
*void. When the OS/platform/compiler supports quads, ap_snprintf()
*) Add RULE_EXPAT, the src/lib/ directory structure, and a modified copy
(e.g., HTTP/0.9 or HTTP/1.1) of the request. [Ken Coar]
*) Switch to /bin/sh5 in APACI on Ultrix and friends to avoid problems with
their brain-dead /bin/sh. [Ralf S. Engelschall] PR#4372
*) mod_include's fsize/flastmod should allow only relative paths, just
*) Add iconsdir, htdocsdir, and cgidir to config.layout.
*) Fix minor but annoying bug with the test for Configuration.tmpl
in unix/os.c, and don't install the dyld error handlers, which
*) Add functionality to the install-bindist.sh script created by
binbuild.sh to use tar when copying distribution files to the
install-bindist.sh now detects the local perl5 path to install
src/modules/proxy_util.c where a NULL filepointer and
have assurance about how string manipulators (e.g., tr) will
*) Add "opt" (SysV-style) layout to config.layout. [Raymond S Brand
*) Fix number of bytes copied by read_connection() in src/support/ab.c
*) Make sure RewriteLock can be used only in the global context, (i.e.
uncompress/gzip, but those tools sometimes do not produce
*) PORT: deal with UTS compiler error in http_protocol.c
binary (e.g., image file) in the first place.
*) support/htpasswd now permits the password to be specified on the
apache -n apache1 -i -f c:/httpd.conf
Installs apache as service 'apache1' and associates c:/httpd.conf
Installs apache as service 'apache2'. httpd.conf is located under
the default server root (/apache/conf/httpd.conf).
apache -n apache3 -i -d c:/program files/apache
c:/program files/apache.
*) Correct the signed/unsigned character handling for the MD5 routines;
*) OS/2: Rework CGI handling to use spawn*() instead of fork/exec, achieving
*) proxy ftp: instead of using the hardwired string "text/plain" as
<Directory proxy:ftp://some.host>
DefaultType gargle/blurb
*) Be more smart in APACI's configure script when determining the UID/GID
the number of fork()s from one/request to just the odd one an hour.
*) Added proxy, auth and header support to src/support/ab.c. Added a
README file to src/support/
*) Fix sed-substitutions in `make install': path elements like `httpd/conf'
(for instance from an APACI configure --sysconfdir=/etc/httpd/conf
*) PORT: Add support for FreeBSD 4.x [Ralf S. Engelschall]
the reboot prompt (which is only given if MSVCRT.DLL system
*) WIN32: Apache.exe now contains an icon. [Paul Sutton]
*) Using APACI, the main config file (usually httpd.conf) was
*) Move the directive `ExtendedStatus' in httpd.conf-dist-win _after_ the
DSO/DLL section because it's a directive from mod_status and isn't
against libap.a and use its ap_snprintf() instead of sprintf() to avoid
*) Add Apple's Mac OS X Server Layout "Rhapsody" to config.layout.
*) Add cgidir, htdocsdir, iconsdir variables to Makefile.tmpl in order
*) Use proper pid_t type for saving PIDs in alloc.c. [John Bley]
in http_core.c. [John Bley, Roy Fielding]
*) src/support/: The ApacheBench benchmark program was overhauled by
*) Added -S option to install.sh so that options can be passed to
is *not* given in the argument list; i.e., the logical negation
*) Win32: Add global symbols missing from ApacheCore.def. [Carl Olsen]
to util.c for parsing an HTTP header field value to extract the next
code different from 500. This allows the proxy to, e.g., return
as "com.name" to be served. [Paul Sutton] PR#3769.
make subtasking easier on the OSD/POSIX mainframe environment.
ap_compat.h. [David White <david@persimmon.com>] PR#3725
*) Make NDBM file suffix determination for mod_rewrite more accurate, i.e.
*) Let src/Configure be aware of CFLAGS options starting with plus
signs as it's the case for the HP/UX compiler.
and this makes its functions available to things in src/support.
*) WIN32: Created new makefiles Makefile_win32.txt (normal build)
and Makefile_win32_debug.txt (debug build) that work on Win95.
nmake /f Makefile_win32.txt # compiles normal build
nmake /f Makefile_win32.txt install # compiles and installs
nmake /f Makefile_win32.txt clean # removes compiled junk
nmake /f Makefile_win32_debug.txt # compiles debug build
nmake /f Makefile_win32_debug.txt install
nmake /f Makefile_win32_debug.txt clean
*) Small fix for mod_env.html: The module was documented as to be _not_
*) Instead of fixing a bug in the generation procedure for config.status (a
making sure the src/support/ tools are _forced_ to be build last (they
*) Fix installation procedure: Now that os-inline.c is actually used (a
recently fixed bug prevented this) we need to also install os-include.c
`escape' and `unescape' were added which can be used to escape/unescape
to/from hex-encodings in URLs parts (this is especially useful in
*) Major overhaul of mod_negotiation.c, part 2.
- added ap_array_pstrcat() to alloc.c for efficient concatenation
*) Major overhaul of mod_negotiation.c, part 1.
revision (draft-ietf-http-v11-spec-rev-06.txt).
e.g. no feature negotiation). Removed old experimental version.
negotiation results are consistent across backup/restores and mirrors
*) RFC2396 allows the syntax http://host:/path (with no port number)
*) When modules update/modify the file name in the configfile_t structure,
*) The hashbang emulation code in ap_execve.c would interpret
#!/hashbang/scripts correctly, but failed to fall back to a
o fixed auto-suffix handling now that config.layout exists.
config.layout and every path now can be marked this way (not only the
SINGLE_LISTEN_UNSERIALIZED_ACCEPT to NetBSD/OpenBSD section
of ap_config.h to allow serialized accept for multiport listens.
*) PORT: Fixed a misplaced #endif for NetBSD/OpenBSD section
of ap_config.h that would skip several defines if DEFAULT_GROUP
strcasecmp, so allow it in ap_config.h. [Amiel Lee Yee] PR#3247
*) Fix ordering of definitions in ap_config.h so that ap_inline is
*) Make generation of src/Configuration.apaci more robust: It failed to
another (e.g. cgi vs. fastcgi). We now check for mod_XXX, libXXX and even
*) In src/Configure remove the SERVER_SUBVERSION support (already deprecated
*) Allow special options -Wc,xxx and -Wl,xxx on APXS compile/link command.
IS to the compiler/linker command. [Ralf S. Engelschall]
config.layout. Custom layouts are possible by using FILE:ID as the
The config.layout file consists of <Layout ID>..</Layout> sections
extension (e.g., .fr, .de) can be labelled as being some other
*) mod_include.c:handle_perl() now properly tests for OPT_INCNOEXEC
*) Updated mime.types to reflect current Internet media types
Improved mod_actions.c so that it can use any of the methods
defined in httpd.h. Added ap_method_number_of(method) for
*) Fix problems with handling of UNC names (e.g., \\host\path)
*) Move a typedef to fix compile problems on Linux with 1.x kernels.
*) http_config.c would respond with 501 (Method Not Implemented) if a
should have been a 500 response. Likewise, mod_proxy.c would responsd
on-the-fly/batch permute the order of two modules (mod_foo and mod_bar)
mod_foo with the begin of the module list, i.e. it `moves' the module to
which permutes mod_foo with the end of the module list, i.e. it `moves'
on container start lines (e.g., it wouldn't spot
*) Fix Berkeley-DB/2.x support in mod_auth_db: The data structures were not
httpd.conf-dist* files. The srm and access files now contain
only comments, and httpd.conf has all the combined contents in
*) PORT: DSO/ELF support for FreeBSD 3.0.
*) Fix http://localhost/ hints in top-level INSTALL document.
ap_config.h. [Brian Havard]
*) PORT: Add Pyramid DC/OSx support to configuration mechanism.
*) PORT: Fix sys/resource.h handling for Amdahl's UTS 2.1
*) Correct comment in mod_log_config.c about its internals.
handle the creation of modules.c [Jim Jagielski]
and to avoid problems under platforms where only version 2.x is present.
*) Remove redundant substitutions in top-level Makefile.tmpl.
platforms where `nogroup' exists in /etc/group. [Ralf S. Engelschall]
the possibility to override it manually via APACI or src/Configuration.
existance of the file under /usr/include, too.
*) Fix possible buffer overflow situation in suexec.c.
*) Fix documentation of ProxyPass/ProxyPassReverse according to the
in /home/user, not in /, therefore clicking on "../" in the
dump core for replies with invalid headers (e.g., duplicate
plop gmon.out profile data for each child [Doug MacEachern]
config.status script to be immune against arguments with whitespaces.
script `buildinfo.sh' which is both more flexible and already proofed to
*) Make ab.c again pass ``gcc -Wall -Wshadow -Wpointer-arith -Wcast-align
*) Remove bad reference to non-existing SERVER_VERSION in mod_rewrite.html
*) Bump up MAX_ENV_FLAGS in mod_rewrite.h from the too conservatice limit of
variables in one RewriteRule and had to patch mod_rewrite.h for every
*) Make sure the config.status file is not overridden when just
See include/ap_mmn.h for more details. [Randy Terbush]
*) Cleanup of the PrintPath/PrintPathOS2 helper functions. Avoid
following the same idea as "MSVC vs WIN32". Additionally the src/os/emx/
directory was renamed to src/os/os2/ for consistency.
linking the DSOs, i.e. PIC libs and shared libs. Currently the rule is
*) Add correct `model' MIME types from RFC2077 to mime.types file.
*) Fixed examples in mod_rewrite.html document.
*) Update the mod_rewrite.html document to correctly reflect the situation
Makefile.tmpl: The umask+cp approach didn't work as expected (especially
*) Fix `distclean' and `clean' targets in src/Makefile.tmpl to have same
src/helper/mkdir.sh script. [Ralf S. Engelschall]
`search' entries in /etc/resolv.conf.
INSTALL file because a lot of users don't read htdocs/manual/dso.html
[Knut A.Syed <Knut.Syed@nhh.no>] PR#2674
(compilers complained) and the .so.V.R.P filename extension was adjusted
*) Disable the incorrect entry for application/msword in the
*) Fix broken RANLIB handling in src/Configure (the entry from
src/Configuration.tmpl was ignored) and additionally force RANLIB to
*) Autogenerate some HAVE_XXXXX_H defines in conf_auto.h (determined via
TestCompile) instead of defining them manually in conf.h based on less
OS-type and/or OS-version identifiers to discover whether a system header
required by HTML 3.2 and later) to mod_mime_magic's conf/magic.
*) Add Dynamic Shared Object (DSO) support for SCO5 (OpenServer 5.0.x).
*) Fix the Guess-DSO-flags-from-Perl stuff in src/Configure: "perl" was
*) PORT: remove broken test for MAP_FILE in http_main.c.
*) PORT: Change support/apachectl to use "kill -0 $pid" to test if the
but case-insensitive platforms). New #define for this added to conf.h
*) Enable DSO support for OpenBSD in general, not only for 2.x, because it
also works for OpenBSD 1.x. [Ralf S. Engelschall]
of a config.status script (as GNU Autoconf does) which remembers the used
*) Correct initialization of variable `allowed_globals' in http_main.c
multipart/x-mixed-replace;boundary=ThisRandomString.
modules/xxx/Makefile's to avoid problems with SVR4 Make under "full-DSO"
<Directory /> section of the default access.conf-dist
*) Fix symbol export list (src/support/httpd.exp) after recent
solved by another helper script findprg.sh which searches for Perl and
*) Remove the system() call from htpasswd.c, which eliminates a system
dependancy. ["M.D.Parker" <mdpc@netcom.com>] PR#2332
*) PORT: helpers/GuessOS updates for various versions for NCR SVR4.
*) Fix recently introduced Win32 child spawning code in mod_rewrite.c which
configure and src/Configure depend on this.
*) Changes usage of perror/fprintf to stderr to more proper ap_log_error
*) PORT: QNX needed a #include <sys/mman.h>; and now it uses flock
spawn_child was obsoleted and moved to compat.h
*) Fix src/support/httpd.exp (DSO export file which is currently only
``RewriteRule ^myscript$ - [T=application/x-httpd-cgi]'' This was often
*) Fix discrepancy in proxy_ftp.c which was causing failures when
*) Support for the NCR MP/RAS 3.0
*) The LDFLAGS_SHLIB_EXPORT variable of src/Configuration[.tmpl] was
not retrieved in src/Configure and thus was not useable.
- SUBDIRS is now generated in src/Makefile only and not in
Makefile.config because it is a local define for this location.
- update the "depend" targets in Makefile.tmpl files to use $(OSDIR), too.
- replaced SHLIB_OBJS/SHLIBS_OBJ consistently with OBJS_PIC because OBJS
- replaced ugly xx-so.o/xx.so-o hack with a clean and consistent usage
of xxx.lo as GNU libtool does with its PIC objects
- reduce local complexity in modules Makefile.tmpl by moving the last
*) WIN32: Make Win32 work again after the /dev/null DoS fix.
*) When opening "configuration" files (like httpd.conf, htaccess
and htpasswd), Apache will not allow them to be non-/dev/null
necessary. Long-term fix is to either serialize the chdir/spawn combo
htdocs/manual/suexec.html document before using the suexec-related
and htdocs/manual/suexec.html documents.
UID/GID and safe PATH, too.
- overhauled mkshadow.sh script: now its more IFS-safe and approx. twice
*) Add a note to httpd.conf-dist that apache will on some systems fail
and not the original statically list from modules.c
confusion with the next point and reduces the Makefile.tmpl complexity
6. The modules.c generation was extended to now contain two
of loading/linking (we use load=link+load & link=activate instead of
*) Fix the generated mod_xxx.c from "apxs -g -f xxx" after the
*) Add a comment to mod_example.c showing the format of a FLAG command
places in the code (e.g. DATE_GMT). PR#1551
*) get/set_module_config are trivial enough to be better off inline. Worth
*) Fix off-by-one error in ap_proxy_date_canon() in proxy_util.c
*) Fix debug log messages for BS2000/OSD: instead of logging the whole
*) Make sure the referer_log and agent_log entries in the default httpd.conf
*) WIN32: Make roots of filesystems (e.g. c:/) work. [Ben Laurie]
from mod_so.c to Configure because first it needs $PLAT etc. and second
AIX variants should work fine, too. Even AIX 3.x should work). This is
which we put into a os/unix/os-dso-aix.c file.
*) Fix two bugs in select() handling in http_main.c.
side-effect this reduces some subdir fiddling in configure+Makefile.tmpl.
"make root=/tmp/apache install" for rolling the package without bristling
*) Workaround braindead AWK's when generating ap_config.h: The split() and
*) Fix DEBUG_CGI situation in mod_cgi.c [David MacKenzie] PR#2114
*) Make sure that "make install" doesn't overwrite the `mime.types' and
*) PORT: Dynamic Shared Object (DSO) support for OpenBSD 2.x
variables) to avoid side-effects in "src/Configure" when the user
*) Provide backward compatibility from some old src/Configuration.tmpl
*) NeXT required strdup() in support/logresolve.c
ap_snprintf, and ap_psprintf). See include/ap.h for docs.
*) Because /usr/local/apache is the default prefix the ``configure
to `char *' under OSF1 and FreeBSD 2.x where it is defined this way
*) PORT: Make sure some AWK's don't fail in src/Configure with "string too
long" errors when generating the MODULES entry for src/Makefile
*) Make sure src/Configure doesn't complain about the old directory
/usr/local/etc/httpd/ when APACI is used. [Lars Eilebrecht]
*) Adding DSO support for the HP/UX platform by emulating the dlopen-style
interface via the similar but proprietary HP/UX shl_xxx-style system
APACI Makefile.tmpl "install" target more robust for sensible UnixWare
- Apache provided general functions (e.g., ap_cpystrn)
- Public API functions (e.g., palloc, bgets)
cross-object usage) but should be (e.g., new_connection)
For backward source compatibility a new header file named compat.h was
dummy.so file (containing dummy references to all global symbols) the
Placing the Apache core code itself into a DSO library named libhttpd.so.
where we perhaps exploit this libhttpd.so mechanism for providing nifty
inside the src subtree (i.e. for non-APACI users). Following GNU Makefile
to the mak/dsp files. [Alexei Kosut]
*) Add documentation file and src/Configuration.tmpl entry for the
*) Now src/Configure uses a fallback strategy for the shared object support
and installation of the support tools from the src/support/ area.
dynamic shared object (DSO) mechanism [mod_so.c]. The trick here is that
Apache C header files (PREFIX/include) and the new APXS tool
(SBINDIR/apxs). The intend is to provide a handy tool for third-party
modules, from trivial ones (single mod_foo.c) to complex ones (like PHP3
*) Modify the log directives in httpd.conf-dist files to use CustomLog
script and a corresponding top-level "Makefile.tmpl" file. The goal is
the old src/Configure stuff in batch and additionally installs the
routines. Use this to replace http_bprintf.c. Add new routines
is necessary on at least Solaris where the /etc/rc?.d scripts
http://.../cgi-bin/...?http%3A%2F%2F... references) [Martin Kraemer]
the mod_proxy.html and corrected the hyperlink to it in the
new_features_1.3.html document. [Ralf S. Engelschall] PR#1348
*) Fix a bug in the src/helpers/fp2rp script and make it a little bit
*) Add the new ApacheBench program "ab" to src/support/: This is derived
*) src/include/ap_config.h now wraps it's #define's with #ifndef/#endif's
*) [PORT] For A/UX change the OS-#define for -DAUX to -DAUX3.
the ugly export kludge, makes the one-liner file mod_mime.h obsolete, and
*) util.c cleanup and speedup. [Dean Gaudet]
modules as shared objects. Especially Solaris 2.x, SunOS 4.1, IRIX and
*) The Configure script now generates src/include/ap_config.h which
"http://host" url is treated as if a similar "Host:" header had been
supplied. This change was made to support future HTTP/1.x protocols
*) API: Cleanup of code in http_vhost.c, and remove vhost matching
*) API: A new source module main/util_uri.c; It contains a routine
user; /* user name, as in http://user:passwd@host:port/ */
password; /* password, as in http://user:passwd@host:port/ */
a username can contain when trying to expand it via /etc/passwd.
*) Hide Proxy-Authorization from CGI/SSI/etc just like Authorization is
reads fail. ["M.D.Parker" <mdpc@netcom.com>] PR#1827
*) Source file dependencies in Makefile.tmpl files throughout the
htdocs/manual/known_client_problems.html are in the default
(like mod_dld for Win32). This replaces mod_dld.c. Use SharedModule
header files are in the src/include directory. The -Imain -Iap
and mod_rewrite) have not been moved to src/include; nor have
calls that use too small an initial guess, see alloc.c.
because the key/value is a constant, or the value has been built
Note that it is easy to get code subtly wrong if you pass a key/value
safe thing to do is to pass key/values which are in the pool of
i.e. if the table is part of a subrequest, a value from the main
usage, enabled by defining POOL_DEBUG. See alloc.c for more details.
*) API: "typedef array_header table" removed from alloc.h, folks should
HAVE_MMAP/SHMGET #defines strictly are informational that the
Unixware 1.x appears to have the same SIGHUP bug as solaris does with
*) PORT: A/UX can handle single-listen accepts without mutex
*) suexec errors now include the errno/description. [Marc Slemko] PR#1543
*) Some const declarations in mod_imap.c that were added for debugging
*) The src/main/*.h header files have had #ifndef wrappers added to
multiple paths (e.g., in .c files as well as other .h files).
src/ap/ap.h, to ease their use in non-httpd applications. [Ken Coar]
set with SetEnv/BrowserMatch and similar directives.
(the Siemens BS2000/OSD family) in the POSIX subsystem
Located in libap.a. [Jim Jagielski]
alloc.c (affects win32 only). [Ben Hyde]
server itself (like the src/support tools). [Ken Coar]
It also wouldn't handle "AddIconByType (TXT,/icons/text.gif text/*"
htdocs/manual/misc/known_client_problems.html#257th-byte) can happen
can be used by items in src/support among other things.
(e.g., <Directory>) where they're invalid. [Martin Kraemer]
for fgetc() and fgets() on SunOS 4.x. [Martin Kraemer, Ben Hyde]
subdirectory htdocs/manual/vhost/. [Lars Eilebrecht <sfx@unix-ag.org>]
[M.D.Parker] PR#1352
*) Inherit a bugfix to fnmatch.c from FreeBSD sources.
breaking on some systems. [Bhaba R.Misra <system@vt.edu>] PR#1368
*) A mild SIGTERM/SIGALRM race condition was eliminated.
*) Warn user that default path has changed if /usr/local/etc/httpd
*) PORT: On AIX 1.x files can't be named '@', fix the proxy cache
Document this a bit more in src/PORTING. [Dean Gaudet] PR#467
*) WIN32: Make index.html and friends work under Win95. [Ben Laurie]
*) Default pathname has been changed everywhere to /usr/local/apache
*) PORT: UnixWare 2.x requires -lgen for syslog.
[M.D.Parker <mdpc@netcom.com>] PR#1284
*) New support tool: src/support/split-logfile, a sample Perl script which
*) Makefile.tmpl was not using $CFLAGS in the link phase.
*) Add debugging code to alloc.c. Defining ALLOC_DEBUG provides a
Purify. See main/alloc.c for more details. [Dean Gaudet]
be used for whatever reason is appropriate (i.e. format() warnings
gcc >= 2.7.x (so that we have fewer support issues with older
Also removed the auto-generated link to www.apache.org that was the
*) suexec.c wouldn't build without -DLOG_EXEC. [Jason A. Dour]
*) Fixed error in proxy_util.c when looping through multiple host IP
buffered writes -- that is, it will buffer up to PIPE_BUF (i.e. 4k)
*) API: New register_other_child() API (see http_main.h) which allows
*) API: New piped_log API (see http_log.h) which implements piped logs,
Some things (like RewriteMaps) were checked/performed even if they
*) Removal of mod_auth_msql.c from the distribution. There are many
http://modules.apache.org/ It would be nice to offer a generic
Makefile on the fly based on Makefile.tmpl and Configuration.
*) support/httpd_monitor is no longer distributed because the
the headers/contents of the request. It does not run during subrequests
USE_xxx_SERIALIZED_ACCEPT in conf.h. xxx is FCNTL for fcntl(),
- Linux 2.x uses flock instead of fcntl
- Solaris 2.x uses pthreads
*) PORT: The semantics of accept/select make it very desirable to use
Modules can be dropped into modules/extra, or in their own
modules/standard. All other source code is in main. OS-specific
match "/home/a/andrew/public_html", now it only matches things
/dev/tty, etc.)
and cidr syntax (i.e. 10.1.0.0/16). PR#762
Apache would omit the chunk header/footer on the next block. Cleaned
e.g. when max_requests_per_child is reached, etc.
*) PORT: QNX mmap() support for faster/more reliable scoreboard handling.
setting. The define MAX_SPAWN_RATE can be used to raise/lower
in a language that by default does buffering (e.g. perl) this
*) PORT: Allow for use of n32bit libraries under IRIX 6.x
*) PORT: Linux: Attempt to detect glibc based systems and include crypt.h
*) PORT: QNX doesn't have initgroups() which support/suexec.c uses.
rect /url.hrm 10 20 30 40
braindead SunOS 4.1.x, allow env variables to be set even on rules with
i.e. now mod_rewrite no longer has a shared copyright. Instead is is
See http_config.h for more details. [Dean Gaudet]
LoadModule/LoadFile directives. Note that module DLLs must be
Module autoindex_module mod_autoindex.o
*) popendir/pclosedir created to properly protect directory scanning.
*) Makefile.nt added - to build all the bits from the command line:
nmake -f Makefile.nt
httpd.h. [Dean Gaudet]
the SFIO library calls sfread/sfwrite if B_SFIO is defined at
*) Turn off chunked encoding after sending terminating chunk/footer
*) SECURITY: When a client connects to a particular port/addr, and
actually be reached via that port/addr. [Ed Korthof <ed@organic.com>]
*) Support virtual hosts with wildcard port and/or multiple ports
and mod_include.c. [Dean Gaudet]
Also removed the auto-generated link to www.apache.org that was the
htdocs/manual/misc/known_client_problems.html#257th-byte) can happen
*) #ifdef wrap a few #defines in httpd.h to make life easier on
*) Fix MPE compilation error in mod_usertrack.c. [Mark Bixby]
should consider comparing against src/modules/standard/mod_include.c
*) suexec.c wouldn't build without -DLOG_EXEC. [Jason A. Dour]
minus WIN32/NT stuff, but plus copyright removement.
under Solaris 2.x (up through 2.5.1). It has been fixed.
lockfile in any location. It previously defaulted to /usr/tmp/htlock.
*) Add a placeholder in modules/Makefile to avoid errors with certain
*) USE_FLOCK_SERIALIZED_ACCEPT is now default for FreeBSD, A/UX, and
redirect flag, e.g. R=permanent, the permanent status was lost.
*) PORT: Support for Maxion/OS SVR4.2 Real Time Unix. [no name given] PR#383
*) PORT: fix problem compiling http_bprintf.c with gcc under SCO
*) Fixed open timestamp fd in proxy_cache.c [Chuck Murcko]
directive and the DEFAULT_TYPE symbol in httpd.h. Changed the value
of DEFAULT_TYPE to match the documented default (text/plain).
*) In mod_proxy.c, check return values for proxy_host2addr() when reading
the connection (e.g., when user presses Stop). Apache will now stop
*) Rearrange Configuration.tmpl so that mod_rewrite has higher priority
htdocs/manual/stopping.html for details on stopping and
*) The default handler now logs invalid methods or URIs (i.e. PUT on an
buffer or write inside buff.c or fread'ing from a CGI's output,
*) Use /bin/sh5 on ULTRIX. [P. Alejandro Lopez-Valencia] PR#369
*) Add UnixWare compile/install instructions. [Chuck Murcko]
*) Add macro for memmove to conf.h for SUNOS4. [Marc Slemko]
*) More signed/unsigned port fixes. [Dean Gaudet]
*) suexec.c doesn't close the log file, allowing CGIs to continue writing
*) Improved generation of modules/Makefile to be more generic for
*) Fixed overlaying of request/sub-request notes and headers in
*) Port to UXP/DS(V20) [Toshiaki Nomura <nom@yk.fujitsu.co.jp>]
*) changed status check mask in proxy_http.c from "HTTP/#.# ### *" to
- Changed send_dir() to remove user/passwd from displayed URL.
select/accept and keep-alive requests, fixed several bugs regarding
*) Tweak byteserving code (e.g. serving PDF files) to work around
Emit Content-Length header when sending multipart/byteranges.
*) Port to HI-UX/WE2. [Nick Maclaren]
regex/regcomp.c since that file also used a NEXT define.
*) Portability Fix: NeXT lacks unistd.h so we wrap it's inclusion
*) Remove mod_fastcgi.c from the distribution. This module appears
continue to be easily available at http://www.fastcgi.com/
*) Fixed bug in modules/Makefile that wouldn't allow building in more
- execution restricted to UID/GID > 100
*) Replace references to make in Makefile.tmpl with $(MAKE).
*) Add ProxyBlock directive w/IP address caching. Add IP address
*) Remove requirement for ResourceConfig/AccessConfig if not using
2. initgroups() on Linux 2.0.x clobbers gr->grid.
*) Reset timeout while reading via get_client_block() in mod_cgi.c
*) Add the ability to pass different Makefile.tmpl files to Configure
*) proxy_http.c bugfixes: [Chuck Murcko]
1) fixes possible NULL pointer reference w/NoCache
*) mod_include.c bugfixes:
*) Added definitions for S_IWGRP and S_IWOTH to conf.h [Ben Laurie]
http_protocol.c [Roy Fielding]
*) Replaced use of index() in mod_expires.c with more appropriate
*) In helpers/CutRule, replaced "cut" invocation with "awk" invocation
*) Updated helpers/GuessOS for ...
SCO UnixWare 2.1.1 (requires a separate set of #defines in conf.h)
and fixed something in helpers/PrintPath [Ben Laurie]
*) Not listed. See <http://www.apache.org/docs/new_features_1_2.html>
*) mod_env now turned on by default in Configuration.tmpl.
b) truncated hostnames/ip address in the logs
*) Not listed. See <http://www.apache.org/docs/new_features_1_1.html>
*) Internal redirects which occur in mod_dir.c now preserve the
*) Fix for POSIX compliance in waiting for processes in alloc.c.
which works similar to PidFile (in httpd.conf) [Rob Hartill]
*) Include sys/resource.h in the correct place for SunOS4 [Sameer Parekh]
*) the pstrcat call in mod_cookies.c didn't have an ending NULL,
*) Add strerror function to util.c for SunOS4 [Randy Terbush]
*) patch to get Apache compiled on UnixWare 2.x, recommended as
a temporary measure, pending rewrite of rfc931.c. [Chuck Murcko]
*) past changes to http_config.c to only use the
*) Remove uses of MAX_STRING_LEN/HUGE_STRING_LEN from several routines.
and the server provider uses relative links; as file.html
*) Not listed. See <http://www.apache.org/docs/new_features_1_0.html>
*) Fixed potential FILE* leak in http_main.c [Ben Laurie]
*) Eliminated some bogus Linux-only #defines in conf.h [Aram Mirzadeh]
*) Nuked bogus #define in httpd.h [David Robinson]
*) gcc -Wall no longer complains about an unused variable when util.c
*) Rationalize handling of BSD in conf.h and elsewhere [Randy Terbush,
*) Suppress -Wall warning by casting const away in util.c [Aram Mirzadeh]
subprocesses, including the SIGTERM/pause/SIGKILL routine, until
causing certain extremely marginal cases (e.g., ScriptAlias of a
*particular* index.html file) to fail. [David Robinson]
*) Cleaned up compiler warning from mod_access.c [Robert Thau]
*) Cleaned up comments in mod_cgi.c [Robert Thau]
"/path/to/some/link/" follows the link. [Thau, Fielding]
*) Doesn't reset DirectoryIndex to 'index.html' when
*) Clarified init code and nuked bogus warning in mod_access.c
*) Corrected several directives in sample srm.conf
*) Fixed ScriptAlias/Alias interaction by moving ScriptAlias handling to
mod_alias.c, merging it almost completely with handling of Alias, and
using a special file created for the purpose in /usr/tmp, and
which try to print out the last-modified date). [Eric Hagberg/Robert
*) <!--exec cgi="/some/uri/here"--> always treats the item named by the
*) POST to CGI works on A/UX [Jim Jagielski]
it seems to work well enough without it (even in a 10 hits/sec
workout), and the overhead for the locking under A/UX is
*) Fixed portability problems with mod_cookies.c [Cliff Skolnick]
*) Further de-Berklize mod_cookies.c; change the bogus #include. [Brian
Behlendorf/Eric Hagberg]
*) More improvements to default Configuration for A/UX [Jim Jagielski]
*) SunOS lib-function prototypes in conf.h conditionalized on __GNUC__,
*) Scoreboard file (/tmp/htstatus.*) no longer publically writable.
properly. (One-line fix to http_protocol.c).
*) Corrected cgi-src/Makefile entry for new imagemap script. [Alexei Kosut]
*) Nuked Shambhala name from src/README; had already cleaned it out
*) Set config file locations properly if not set in httpd.conf
*) Fixed mod_imap.c --- relative paths with base_uri referer don't
be nice if mod_dir.c was robust enough to handle that, but for now,
/tmp/htstatus.*, on which each process has an independent file
*) Moved FCNTL_SERIALIZED_ACCEPT defines into conf.h (that's what
*) Incidental code cleanups in http_main.c --- stop dragging
*) Fixed auth_name-related typos in http_core.c [Brian Behlendorf]
Also, fixed auth typo in http_protocol.c unmasked by this fix.
*) Reordered modules in modules.c so that Redirect takes priority
the same SIGTERM/pause/SIGKILL routine used to ding an errant CGI
*) Fixed silly typo in http_main.c which was suddenly fatal in HP-UX.
*) mod_core.c --- default_type returns DEFAULT_TYPE (the compile-time
memory area every time). Fix is in mod_dir.c. [Paul Sutton]
*) Changes to http_main.c --- root server no longer plays silly
*) mod_dir.c bug fixes: ReadmeName and HeaderName
*) http_request.c now calls unescape_url() more places where it
*) Generalized cleanup interface in alloc.c --- any function can be
registered with alloc.c as a cleanup for a resource pool;
*) More changes in alloc.c --- new cleanup_for_exec() function,
registered with the alloc.c machinery before the server exec()s a
*) Fixed basic thinkos in mod_dbm_auth.c [rst, reported by Mark Cox]
in alloc.c [rst]