CHANGES revision ea92d0ffcb30b186010a2c8ca2c80d2ac09e34da
2f3883b126a405f92b19e829472f614c7352b4f9vboxsyncChanges with Apache 2.0.18-dev
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Reimplement mod_headers as an output filter. mod_headers can now
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync add custom headers to inbound requests using the HeaderIn directive
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync and to responses using the HeaderOut directive. The Header
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync directive has been deprecated in favor of the HeaderOut directive.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Graham Leggett]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Fix command-line processing so that if a bad argument is specified
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync Apache will exit. [Jeff Trawick]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Change the make targets and rules to be consistent in all of the
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync Apache-owned source trees. [Roy Fielding]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix processing of the TRACE method. Previously we passed bogus
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync parms to form_header_field() and it overlaid some vhost structures,
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync resulting in a segfault in check_hostalias().
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Greg Ames, Jeff Trawick]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Win32: Add support for reliable piped logs. If the logging process
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync goes down, Apache will automatically restart it. This function has
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync been part of Apache on Unix/Linux/BSD since the early v1.3 releases.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Bill Stoddard]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Do not start piped log processes during the config file
7b9f0c34e9ea328981c99e97054bdf8684d9d620vboxsync preflight. This change also circumvents a problem on
9e7e0b61d29309a0ed7af9472c8d6d865f9e8a2dvboxsync Windows where the rotatelog processes created during preflight
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync was not getting cleaned up properly.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Bill Stoddard]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) add "Request Phase Participation" info to mod_info
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Doug MacEachern]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Make first phase changes to the scoreboard data structures in
b1cc3e87518139898395f96974ecff9e6bf228fbvboxsync preparation for the rewriting of the scoreboard per my posted
b1cc3e87518139898395f96974ecff9e6bf228fbvboxsync design notes. [Paul J. Reder]
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync *) Fix httpd's definition of LTFLAGS to be consistent with that of apr
388b6b190a5407548753b7fde12fa58134ec3563vboxsync and apr-util, allow it to be overridden by the configure command-line
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync (default="--silent") and introduce LT_LDFLAGS to replace what we were
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync formerly abusing as LTFLAGS. [Roy Fielding]
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync *) Clean up the reporting of incorrect closing container tags.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Barrie Slaymaker <barries@slaysys.com>]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) Simplify the configure process by moving all libtool stuff to APR
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync and moving hints.m4 inline. [Roy Fielding]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) Add the AP_DECLARE()/AP_CORE_DECLARE macros on the return types
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync of functions used by mod_proxy for export in the DLL
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Ian Holsman <IanH@cnet.com>]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Prevent a hang when a cgi handled by mod_cgid tries to read a
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync request body from its stdin but no reqest body is being written to
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync the cgi. [Jeff Trawick]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) mod_log_config: %c connection status incorrectly logged
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync as "-" (non-keepalive) when MaxKeepAliveRequests is set to 0.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Bill Stoddard]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Get mod_cern_meta working under Windows
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Bill Stoddard]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Create Files, and thus MMAPs, out of the request pool, not the
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync connection pool. This solves a small resource leak that had us
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync not closing files until a connection was closed. In order to do
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync this, at the end of the core_output_filter, we loop through the
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync brigade and convert any data we have into a single HEAP bucket
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync that we know will survive clearing the request_rec.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Ryan Bloom, Justin Erenkrantz <jerenkrantz@ebuilt.com>,
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync Cliff Woolley]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Completely revamp configure so that it preserves the standard make
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync variables CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS and LIBS by moving
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync the configure additions to EXTRA_* variables. Also, allow the user
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync to specify NOTEST_* values for all of the above, which eliminates the
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync need for THREAD_CPPFLAGS, THREAD_CFLAGS, and OPTIM. Fix the setting
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync of INCLUDES and EXTRA_INCLUDES. Check flags as they are added to
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync avoid pointless duplications. Fix the order in which flags are given
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync on the compile and link lines. Remove obsolete macros APR_DOEXTRA,
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync AC_ADD_LIBRARY, AC_CHECK_DEFINE, APACHE_PASSTHRU, and APACHE_ONCE.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync Added APR_SAVE_THE_ENVIRONMENT and APR_RESTORE_THE_ENVIRONMENT macros.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync Renamed AC_TYPE_RLIM_T macro to APACHE_TYPE_RLIM_T. [Roy Fielding]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Get mod_tls to compile/work better on Windows. PR #7612
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Bernhard Schrenk <b.schrenk@improx.com>]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Fix shutdown/restart hangs in the threaded MPM.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Jeff Trawick, Greg Ames, Ryan Bloom]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Removed the keptalive boolean from conn_rec because it is now only
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync used by a single routine and can be replaced by a local variable.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Greg Stein, Ryan Bloom, Roy Fielding]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Patch prefork to put enough of the signal processing back in so that
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync signals are all handled properly now. The previous patch fixed the
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync deadlock race condition, but broke the user directed signal handling.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync This fixes it to work the way it did before my previous prefork patch
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync (primarily, SIGTERM is now working).
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Change how input filters decide how much data is returned to the
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync higher filter. We used to use a field in the conn_rec, with this
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync change, we use an argument to ap_get_brigade to determine how much
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync data is retrieved. [Ryan Bloom]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Fix seg fault at start-up introduced by Ryan's change to enable
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync modules to specify their own logging tags. mod_log_config
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync registers an optional function, ap_register_log_handler().
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync ap_register_log_handler() was being called by http_core before
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync the directive hash table was created. This patch creates the
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync directive hash table before ap_register_log_handler() is
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync registered as an optional function.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Add ap_set_int_slot() function
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [John K. Sterling <sterling@covalent.net>]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Under certain circumstances, Apache did not supply the
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync right response headers when requiring authentication.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Gertjan van Wingerde <Gertjan.van.Wingerde@cmg.nl>] PR#7114
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync (This is a port of the change that went into Apache 1.3.19.)
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Allow modules to specify their own logging tags. This basically
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync allows a module to tell mod_log_config that when %x is encountered
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync a specific function should be called. Currently, x can be any single
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync character. It may be more useful to make this a string at some point.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Ryan Bloom]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsyncChanges with Apache 2.0.17
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) If a higher-level filter handles the the byterange aspects of a
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync request, then the byterange filter should not try to redo the
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync work. The most common case of this happening, is a byterange
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync request going through the proxy, and the origin server handles
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync the byterange request. The proxy should ignore it.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Graham Leggett <minfrin@sharp.fm>]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Changed the threaded mpm to have child_main join to each of the
581f0625e43a928987623d7cf59e1b1ab61ca6c8vboxsync worker threads to make sure the kids are all gone before child_main
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync exits after a signal (cleanup from perform_idle_server_maintenance).
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync This is an extension of Ryans recent commit to make the child_main
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync the signal thread.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Add more options to the ap_mpm_query function. This also allows MPMs to
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync report if their threads are dynamic or static. Finally, this also
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync implements a new API, ap_show_mpm, which returns the MPM that was
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync required into the core. [Harrie Hazewinkel <harrie@covalent.net>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Do not install the binaries from the support directory twice.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [jun-ichiro hagino <itojun@iijlab.net>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) The ap_f* functions should flush data to the filter that is passed
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync in, not the the filter after the one passed in.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ryan Morgan <rmorgan@covalent.net>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Make ab work again by changing its native types to apr types and formats.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Justin Erenkrantz <jerenkrantz@ebuilt.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Move the byterange filter and all of the supporting functions back
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync to the HTTP module. The byterange filter turned out to be very
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync HTTP specific, and it belongs in the HTTP module. [Greg Stein]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Make clean, distclean, and extraclean consistently according to the
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync Gnu makefile guidelines. [Justin Erenkrantz <jerenkrantz@ebuilt.com>]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Fix errors in the renaming of the apr_threadattr_detach_xxx functions.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync This may have been causing problems stopping processes in the threaded
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync mpm's. [Greg Ames]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Fix content-length in mod_negotiation to a long int representation.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [William Rowe]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Remove BindAddress from the default config file.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [giles@nemeton.com.au]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Allow module authors to add a module to their Apache build using
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync --with-module, without re-running buildconf. The syntax is:
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync --with-module=module_type:/path/to/module.c
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync The configure script will copy the module.c file to
fb41ad77bcfbdb3aaa1fc9503a37ee6a70dc6461vboxsync modules/module_type, and it will be added to the relevant Makefiles.
fb41ad77bcfbdb3aaa1fc9503a37ee6a70dc6461vboxsync currently, this only works for static modules. [Ryan Bloom]
fb41ad77bcfbdb3aaa1fc9503a37ee6a70dc6461vboxsync *) Changes required to make prefork clean up idle children properly.
fb41ad77bcfbdb3aaa1fc9503a37ee6a70dc6461vboxsync There was a window during which a starting worker deadlocks when
fb41ad77bcfbdb3aaa1fc9503a37ee6a70dc6461vboxsync an idle cleanup arrives before it completes init. Apache then keeps
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync trying to cleanup the same deadlocked worker forever (until higher
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync pids come along, but it still will never reduce below the deadlocked
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync pid). Thus the number of children would not reduce to the correct
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync idle level. [Paul J. Reder]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsyncChanges with Apache 2.0.16
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Change the default installation directory to /usr/local/apache2,
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync as now defined by the "Apache" layout in config.layout. [Marc Slemko]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) OS/2: Added support for building loadable modules as OS/2 DLLs.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Brian Havard]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Get MaxRequestsPerChild working with the Windows MPM.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Bill Stoddard]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Make generic hooks to work, with mod_generic_hook_import/export
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync experimental modules. [Ben Laurie, Will Rowe]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Fix segfaults for configuration file syntax errors such as
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync "<Directory>" followed by "</Directory" and
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync "<Directory>" followed by "</Directoryz>". [Jeff Trawick]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Cleanup the --enable-layout option of configure. This makes
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync us use a consistent location for the config.layout file, and it
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync makes configure more portable.
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync [jun-ichiro hagino <itojun@iijlab.net>]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Changes to 'ab'; fixed int overrun's, added statistics, output in
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync csv/gnuplot format, rudimentary ssl support and various other tweaks
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync to make results more true to what is measured. The upshot of this it
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync turns out that 'ab' has often underreported the true performance of
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync apache. Often by a order of magnitude :-) See talk/paper of Sander
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync Temme <sctemme@covalent.net> at April ApacheCon 2001 for details.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Dirk-Willem van Gulik]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Clean up mod_cgid's temporary request pool. Besides fixing a
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync storage leak this ensures that some unnecessary pipes are closed.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Jeff Trawick]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Performance: Add quick_handler hook. This hook is called at the
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync very beginning of the request processing before location_walk,
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync translate_name, etc. This hook is useful for URI keyed content
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync caches like Mike Abbott's Quick Shortcut Cache.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Bill Stoddard]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) top_module global variable renamed to ap_top_module [Perl]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Move ap_set_last_modified to the core. This is a potentially
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync controversial change, because this is kind of HTTP specific. However
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync many protocols should be able to take advantage of this kind of
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync information. I expect that headers will need one more layer of
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync indirection for multi-protocol work, but this is a small step in
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync the right direction. [Ryan Bloom]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Enable mod_status by default. This matches what Apache 1.3 does.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Ed Korthof]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Add a ScriptSock directive to the default config file. This is
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync only enabled when mod_cgid is used.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Taketo Kabe <kabe@sra-tohoku.co.jp>]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsyncChanges with Apache 2.0.15
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Untangled the buildconf script and eliminated the need for build's
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync aclocal.m4, generated_lists, build.mk, build2.mk, and a host of other
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync libtool muck that is now under srclib/apr/build. [Roy Fielding]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Win32: Don't accept more connections than we have worker threads
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Bill Stoddard]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Fix bug in the Unix threaded.c MPM that allowed child processes
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync to fork() new child processes.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Bill Stoddard]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Fix a major security problem with double-reverse lookup checking.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync Previously, a client connecting over IPv4 would not be matched
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync properly when the server had an IPv6 listening socket. PR #7407
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync [Taketo Kabe <kiabe@sra-tohoku.co.jp>]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Change the way the beos MPM handles polling to allow it to stop and
fb41ad77bcfbdb3aaa1fc9503a37ee6a70dc6461vboxsync restart. Problem was the sockets being polled were being reset by
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync the select call, so once it had accepted a connection it was no
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync longer listening on the UDP socket we use for shutdown instructions.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync APR needs to be altered, patch on it's way. [David Reid]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Empty out the brigade shared by ap_getline()/ap_get_client_block()
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync on error exit from ap_getline(). Some other code got upset because
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync the wrong data was in the brigade. [Greg Ames, Jeff Trawick]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Handle ap_discard_request_body() being called more than once.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Greg Ames, Jeff Trawick]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Get rid of an inadvertent close of file descriptor 2 in
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync mod_mime_magic. [Greg Ames, Jeff Trawick]
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync *) Add a hook, create_request. This hook allows modules to modify
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync a request while it is being created. This hook is called for all
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync request_rec's, main request, sub request, and internal redirect.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync When this hook is called, the the r->main, r->prev, r->next
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync pointers have been set, so modules can determine what kind of
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync request this is. [Ryan Bloom]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Cleanup the build process a bit more. The Apache configure
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync script no longer creates its own helper scripts, it just
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync uses APR's.
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync *) Stop the forced downgrade of the connection to HTTP/1.0 for
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync proxy requests. [Graham Leggett]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Avoid using sscanf to determine the HTTP protocol number in
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync the common case because sscanf is a performance hog. From
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync Mike Abbot's Accelerating Apache patch number 6.
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync [Mike Abbot <mja@trudge.engr.sgi.com>, Bill Stoddard]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Fix a security exposure in mod_access. Previously when IPv6
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync listening sockets were used, allow/deny-from-IPv4-address rules
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync were not evaluated properly (PR #7407). Also, add the ability to
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync specify IPv6 address strings with optional prefix length on Allow
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync and Deny. [Jeff Trawick]
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync *) Enhance rotatelogs so that a UTC offset can be specified, and
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync the logfile name can be formatted using strftime(3). (Brought
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync forward from 1.3.) [Ken Coar]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Reimplement the Windows MPM (mpm_winnt.c) to eliminate calling
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync DuplicateHandle on an IOCompletionPort (a practice which
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync MS "discourages"). The new model does not rely on associating
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync the completion port with the listening sockets, thus the
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync completion port can be completely managed within the child
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync process. A dedicated thread accepts connections off the network,
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync then calls PostQueuedCompletionStatus() to wake up worker
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync threads blocked on the completion port.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Bill Stoddard]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Bring forward the --suexec-umask option which allows the
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync builder to preset the umask for suexec processes. [Ken Coar]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Add a -V flag to suexec, which causes it to display the
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync compile-time settings with which it was built. (Only
06ea6bcf23874b662d499b3f130024c98b2dd7a6vboxsync usable by root or the AP_HTTPD_USER username.) [Ken Coar]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Mod_include should always unset the content-length if the file is
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync going to be passed through send_parsed_content. There is no to
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync determine if the content will change before actually scanning the
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync entire content. It is far safer to just remove the C-L as long
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync as we are scanning it. [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Make sure Apache sends WWW-Authenticate during a reverse proxy
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync request and not Proxy-Authenticate.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Graham Leggett <minfrin@sharp.fm>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsyncChanges with Apache 2.0.14
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync *) Fix content-length computation. We ONLY compute a content-length if
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync We are not in a 1.1 request and we cannot chunk, and this is a keepalive
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync or we already have all the data. [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Report unbounded containers in the config file. Previously, a typo
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync in the </container> directive could result in the rest of the config
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync file being silently ignored, with undesired defaults used.
06ea6bcf23874b662d499b3f130024c98b2dd7a6vboxsync [Jeff Trawick]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Make the old_write filter use the ap_f* functions for the buffering.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ryan Bloom]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Move more code from the http module into the core server. This
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync is core code, basically the default handler, the default input
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync and output filters, and all of the core configuration directives.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync All of this code is required in order for the server to work, with or
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync without HTTP. The server is closer to working without the HTTP
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync module, although there is still more to do. [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix a number of SGI compile warnings throughout the server. Fix some
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync bad parameters to apr_bucket_read(). Fix a bad statement in
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync ap_method_in_list(). For the mod_rewrite cache use apr_time_t
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync consistently; we were mixing apr_time_t and time_t in invalid ways
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync before. In load_file(), call apr_dso_error() instead of
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync apr_strerror() so that we get a more specific string on some platforms.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync PR #6980 [Jeff Trawick]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Allow modules to query the MPM about it's execution profile. This
06ea6bcf23874b662d499b3f130024c98b2dd7a6vboxsync query API can and should be extended in the future, but for now,
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync max_daemons, and threading or forking is a very good start.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Jon Travis <jtravis@covalent.net>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Modify mod_include to send blocks of data no larger than 9k.
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync Without this, mod_include will wait until the whole file is parsed,
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync or the first tag is found to send any data to the client.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Paul J. Reder <rederpj@raleigh.ibm.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix mod_info, so that <Directory> and <Location> directives are
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync not displayed twice when displaying the current configuration.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ryan Morgan <rmorgan@covalent.net>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Add config directives to override DEFAULT_ERROR_MSG and
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync DEFAULT_TIME_FORMAT. This was sent in as PR 6193.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Dan Rench <drench@xnet.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Get mod_info building and loading on Win32. [William Rowe]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Begin to move protocol independant functions out of mod_http. The goal
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync is to have only functions that are HTTP specific in the http directory.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsyncChanges with Apache 2.0.13
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Don't assume that there will always be multiple calls to the byterange
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync filter. It is possible that we will need to do byteranges with only
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync one call to the filter. [Ryan Morgan <rmorgan@covalent.net>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Move the error_bucket definition from the http module to the
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync core server. Every protocol will need this ability, not just
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync HTTP. [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsyncChanges with Apache 2.0.12
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Modify mod_file_cache to save pre-formatted strings for
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync content-length and last-modified headers for performance.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Mike Abbot <mja@trudge.engr.sgi.com>]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Namespace protect IOBUFSIZ since it is exposed in the API.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Jon Travis <jtravis@covalent.net>]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Use "Basic" authentication instead of "basic" in ab, as the spec
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync says we should. [Andre Breiler <andre.breiler@rd.bbc.co.uk>]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Fix a seg fault in mod_userdir.c. We used to use the pw structure
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync without ever filling it out. This fixes PR 7271.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Taketo Kabe <kabe@sra-tohoku.co.jp> and
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync Cliff Woolley <cliffwoolley@yahoo.com>]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Add a couple of GCC attribute tags to printf style functions.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Jon Travis <jtravis@covalent.net>]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Add the correct language tag for interoperation with the Taiwanese
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync versions of MSIE and Netscape. [Clive Lin <clive@CirX.ORG>] PR#7142
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Migrate the perchild MPM to use the new apr signal child, and
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync APR thread functions. [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Close one copy of the CGI's stdout before creating the new process.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync The CGI will still have stdout, because we have already dup'ed it.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync This keeps Apache from waiting forever to send the results of a CGI
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync process that has forked a long-lived child process.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Taketo Kabe <kabe@sra-tohoku.co.jp>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Remove the rest of the pthreads functions from the threaded MPM.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync This requires the APR support for a signal thread that was just
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync added. [Ryan Bloom]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Make mod_dir use a fixup for sending a redirect to the browser.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync Before this, we were using a handler, which doesn't make much
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync sense, because the handler wasn't generating any data, it would
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync either return a redirect error code, or DECLINED. This fits the
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync current hooks better. [Ryan Morgan <rmorgan@covalent.net>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Make the threaded MPM use APR threads instead of pthreads.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Get mod_tls to the point where it actually appears to work in all cases.
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync [Ben Laurie]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) implement --enable-modules and --enable-mods-shared for "all" and
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync "most". [Greg Stein]
7e8ef90d3160234df0f254131b87af4243d79476vboxsync *) Move the threaded MPM to use APR locks instead of pthread locks.
7e8ef90d3160234df0f254131b87af4243d79476vboxsync [Ryan Bloom]
7e8ef90d3160234df0f254131b87af4243d79476vboxsync *) Rename mpmt_pthread to threaded. This is more in line with the
7e8ef90d3160234df0f254131b87af4243d79476vboxsync fact that mpmt_pthread shouldn't be using pthreads directly, and
7e8ef90d3160234df0f254131b87af4243d79476vboxsync it is a smaller name that doesn't tie into anything.
7e8ef90d3160234df0f254131b87af4243d79476vboxsync [Ryan Bloom]
7e8ef90d3160234df0f254131b87af4243d79476vboxsync *) Rename the module structures so that the exported symbol matches
7e8ef90d3160234df0f254131b87af4243d79476vboxsync the file name, and it is easier to automate the installation
7e8ef90d3160234df0f254131b87af4243d79476vboxsync process (generating LoadModule directives from the module filenames).
7e8ef90d3160234df0f254131b87af4243d79476vboxsync [Martin Kraemer]
7e8ef90d3160234df0f254131b87af4243d79476vboxsync *) Remove the coalesce filter. With the ap_f* functions, this filter
7e8ef90d3160234df0f254131b87af4243d79476vboxsync is no longer needed. [Ryan Bloom]
7e8ef90d3160234df0f254131b87af4243d79476vboxsyncChanges with Apache 2.0.11
7e8ef90d3160234df0f254131b87af4243d79476vboxsync *) Remove the dexter MPM. Perchild is the same basic idea, but it has the
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync added feature of allowing a uid/gid per child process. If no
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync uid/gid is specified, then Perchild behaves exactly like dexter.
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync [Ryan Bloom]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Get perchild building again. [Ryan Bloom]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Don't disable threads just because we are using the prefork MPM.
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync If somebody wants to compile without threads, they must now add
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync --disable-threads to the configure command line. [Ryan Bloom]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Begin to move the calls to update_child_status into common code, so
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync that each individual MPM does not need to update the scoreboard itself.
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync [Ryan Bloom]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Allow mod_tls to compile under Unix boxes where openssl has been
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync installed to the system include files.
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync [Gomez Henri <new-httpd@slib.fr>]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Cleanup the mod_tls configure process. This should remove any need
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync to hand-edit any files. We require OpenSSL 0.9.6 or later, but
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync configure doesn't check that yet. [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Add a very early prototype of SSL support (in mod_tls.c). It is
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync vital that you read modules/tls/README before attempting to build
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync it. [Ben Laurie]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Fix a potential seg fault on all platforms. David Reid fixed this
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync on BEOS, but the problem could happen anywhere, so we don't want
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync to #ifdef it. [Cliff Woolley <cliffwoolley@yahoo.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Add new LogFormat directive, %D, to log time it takes to serve a
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync request in microseconds. [Bill Stoddard]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Change AddInputFilter and AddOutputFilter to SetInputFilter and
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync SetOutputFilter. This corresponds nicely with the other Set
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync directives, which operate on containers while the Add* directives
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync tend to work directly on extensions. [Ryan Bloom]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Cleanup the header handling a bit. This uses the apr_brigade_*
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync functions for the buffering so that we don't need to compute
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync the length of the headers before we actually create the header
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync buffer. [Ryan Bloom]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Allow filters to buffer data using the ap_f* functions. These have
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync become macros that resolve directly to apr_brigade_*.
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync [Ryan Bloom]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Get the Unix MPM's to do a graceful restart again. If we are going
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync to register a cleanup with ap_cleanup_scoreboard, then we have to
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync kill the cleanup with the same function, and that function can't be
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync static. [Ryan Bloom]
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync *) Install all required header files. Without these, it was not
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync possible to compile some modules outside of the server.
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync [Ryan Bloom]
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync *) Fix the AliasMatch directive in Apache 2.0. When we brought a patch
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync forward from 1.3 to 2.0, we missed a single line, which broke regex
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync aliases. [Ryan Bloom]
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync *) We have a poor abstraction in the protocol. This is a temporary
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync hack to fix the bug, but it will need to be fixed for real. If
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync we find an error while sending out a custom error response, we back
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync up to the first non-OK request and send the data. Then, when we send
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync the EOS from finalize_request_protocol, we go to the last request,
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync to ensure that we aren't sending an EOS to a request that has already
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync received one. Because the data is sent on a different request than
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync the EOS, the error text never gets sent down the filter stack. This
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync fixes the problem by finding the last request, and sending the data
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync with that request. [Ryan Bloom]
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync *) Make the server status page show the correct restart time, and
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync thus the proper uptime. [Ryan Bloom]
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync *) Move the CGI creation logic from mod_include to mod_cgi(d). This
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync should reduce the amount of duplicate code that is required to
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync create CGI processes.
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync [Paul J. Reder <rederpj@raleigh.ibm.com>]
1cd59fdf671ca60c64d77e3f7046aaecf7003824vboxsync *) ap_new_connection() closes the socket and returns NULL if a socket
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync call fails. Usually this is due to a connection which has been
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync reset. [Jeff Trawick]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Move the Apache version information out of httpd.h and into release.h.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync This is in preparation for the first tag with the new tag and release
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync system. [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Begin restructuring scoreboard code to enable adding back in
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync the ability to use IPC other than shared memory.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync Get mod_status working on Windows again. [Bill Stoddard]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Make mod_status work with 2.0. This will work for prefork,
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync mpmt_pthread, and dexter. [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Correct a typo in httpd.conf.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Kunihiro Tanaka <tanaka@apache.or.jp>] PR#7154
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Really fix mod_rewrite map lookups this time. [Tony Finch]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Get the correct IP address if ServerName isn't set and we can't
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync find a fully-qualified domain name at startup.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync PR#7170 [Danek Duvall <dduvall@eng.sun.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Make mod_cgid work with SuExec. [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Adopt apr user/group name features for mod_rewrite. Eliminates some
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync 'extra' stat's for user/group since they should never occur, and now
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync resolves the SCRIPT_USER and SCRIPT_GROUP, including on WinNT NTFS
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync volumes. [William Rowe]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Adopt apr features to simplify mod_includes. This changes the
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync behavior of the USER_NAME variable, unknown uid's are now reported
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync as USER_NAME="<unknown>" rather than the old user#000 result.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync WinNT now resolves USER_NAME on NTFS volumes. [William Rowe]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Adopt apr features for simplifing mod_userdir, and accept the new
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync Win32/OS2 exceptions without hiccuping. [William Rowe]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Replace configure --with-optim option by using and saving the
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync environment variable OPTIM instead. This is needed because configure
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync options do not support multiple flags separated by spaces.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Roy Fielding]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix some byterange handling. If we get a byte range that looks like
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync "-999999" where that is past the end of the file, we should return
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync a PARTIAL CONTENT status code, and return the whole file as one big
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync byterange. This matches the 1.3 handling now. [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Make the error bucket a real meta-data bucket. This means that the
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync bucket length is 0, and a read returns NULL data. If one of these
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync buckets is passed down after the headers are sent, this data will
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync just be ignored. [Greg Stein]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) The prefork MPM wasn't killing child processes correctly if a restart
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync signal was received while the process was serving a request. The child
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync process would become the equivalent of a second parent process. If
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync we break out of the accept loop, then we need to do die after cleaning
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync up after ourselves. [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Change the Prefork MPM to use SIGWINCH instead of SIGUSR1 for graceful
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync restarts. [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Modify the apr_stat/lstat/getfileinfo calls within apache to use
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync the most optimal APR_FINFO_wanted bits. This spares Win32 from
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync performing very expensive owner, group and permission lookups
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync and allows the server to function until these apr_finfo_t fields
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync are implemented under Win32. [William Rowe]
fb41ad77bcfbdb3aaa1fc9503a37ee6a70dc6461vboxsync *) Support for typedsafe optional functions - that is functions exported by
fb41ad77bcfbdb3aaa1fc9503a37ee6a70dc6461vboxsync optional modules, which, therefore, may or may not be present, depending
fb41ad77bcfbdb3aaa1fc9503a37ee6a70dc6461vboxsync on configuration. See the experimental modules mod_optional_fn_{ex,im}port
fb41ad77bcfbdb3aaa1fc9503a37ee6a70dc6461vboxsync for sample code. [Ben Laurie]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) filters can now report an HTTP error to the server. This is done
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync by sending a brigade where the first bucket is an error_bucket.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync This bucket is a simple bucket that stores an HTTP error and
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync a string. Currently the string is not used, but it may be needed
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync to output an error log. The http_header_filter will find this
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync bucket, and output the error text, and then return
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync AP_FILTER_ERROR, which informs the server that the error web page
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync has already been sent. [Ryan Bloom]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) If we get an error, then we should remove all filters except for
fb41ad77bcfbdb3aaa1fc9503a37ee6a70dc6461vboxsync those critical to serving a web page. This fixes a bug, where
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync error pages were going through the byterange filter, even though
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync that made no sense. [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Relax the syntax checking of Host: headers in order to support
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync iDNS. PR#6635 [Tony Finch]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Cleanup the byterange filter to use the apr_brigade_partition
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync and apr_bucket_copy functions. This removes a lot of very messy
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync code, and hopefully makes this filter more stable.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Ryan Bloom]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Remove AddModule and ClearModuleList directives. Both of these
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync directives were used to ensure that modules could be enabled
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync in the correct order. That requirement is now gone, because
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync we use hooks to ensure that modules are in the correct order.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) When SuExec is specified, we need to add it to the list of
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync targets to be built. If we don't, then any changes to the
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync configuration won't affect SuExec, unless 'make suexec' is
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync specifically run. [Ryan Bloom]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Cleaned out open_file from mod_file_cache, as apr now accepts
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync the APR_XTHREAD argument to open a file for consumption by
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync parallel threads on win32. [William Rowe]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Correct a bug in determining when we follow symlinks. The code
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync expected a stat -1 result, not an apr_status_t positive error.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync Also check if the APR_FINFO_USER fields are valid before we
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync follow the link. [William Rowe]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Move initgroupgs, ap_uname2id and ap_gname2id from util.c to
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync mpm_common.c. These functions are only valid on some platforms,
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync so they should not be in the main-line code. [Ryan Bloom]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Remove ap_chdir_file(). This function is not thread-safe,
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync and nobody is currently using it. [Ryan Bloom]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Do not try to run make depend if there are no .c files in the
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync current directory, doing so makes `make depend` fail.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Update highperformance.conf to work with either prefork or
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync pthreads mpms. [Greg Ames]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Stop checking to see if this is a pipelined request if we know
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync for a fact that it isn't. Basically, if r->connection->keepalive == 0.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync This keeps us from making an extra read call when serving a 1.0
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync request. [Ryan Bloom and Greg Stein]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Fix the handling of variable expansion look-ahead in mod_rewrite,
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync i.e. syntax like %{LA-U:REMOTE_USER}, and also fix the parsing of
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync more complicated nested RewriteMap lookups. PR#7087 [Tony Finch]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Fix the RFC number mentioned when complaining about a missing
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync Host: header. PR#7079 [Alexey Toptygin <alexeyt@wam.umd.edu>]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Fix an endless loop in ab which occurred when ab was posting
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync and the server dropped the connection unexpectedly.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Jeff Trawick]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Fix a segfault while handling request bodies in ap_http_filter().
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync This problem has been seen with mod_dav usage as well as with
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync requests where the body was just being discarded. [Jeff Trawick]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Some adjustment on the handling and automatic setting (via
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync hints.m4) of various compilation flags (eg: CFLAGS). Also,
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync add the capability to specify flags (NOTEST_CFLAGS and
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync NOTEST_LDFLAGS) which are used to compile Apache, but
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync not used during the configuration process. Useful for
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync flags like "-Werror". [Jim Jagielski]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Stop using environment variables to force debug mode or
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync no detach. We now use the -D command line argument to
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync specify the correct mode. -DONE_PROCESS and -DNO_DETACH.
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync [Greg Stein, Ryan Bloom]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) Change handlers to use hooks. [Ben Laurie]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) Stop returning copies of filenames from both apr_file_t and
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync apr_dir_t. We pstrdup the filenames that we store in the
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync actual structures, so we don't need to pstrdup the strings again.
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync [Ryan Bloom]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) mod_cgi: Fix some problems where the wrong error value was being
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync traced. [Jeff Trawick]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) EBCDIC: Fix some missing ASCII conversion on some protocol data.
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync [Jeff Trawick]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Add generic hooks. [Ben Laurie]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Use a real pool to dup the error log descriptor. [Ryan Bloom]
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync *) Fix a segfault caused by mod_ext_filter when the external filter
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync program does not exist. [Jeff Trawick]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Fix an output truncation error when on an HTTP >= 1.0 request an
5366e994777f9d9391cf809dc77610f57270d75dvboxsync object of size between DEFAULT_BUCKET_SIZE and AP_MIN_BYTES_TO_WRITE
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync was served through mod_charset_lite (or anything else that would
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync create a transient bucket in this size range). ap_bucket_make_heap()
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync silently failed (fixed), transient_setaside() discovered it, but
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync ap_save_brigade() ignored it (fixed). [Jeff Trawick]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Ignore \r\n or \n when using PEEK mode for input filters. The problem
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync is that some browsers send extra lines at the end of POST requests, and
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync we don't want to delay sending data back to the user just because the
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync browser isn't well behaved. [Ryan Bloom]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Get SuEXEC working again. We can't send absolute paths to suExec
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync because it refuses to execute those programs. SuEXEC also wasn't
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync always recognizing configuration changes made using the autoconf
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync setup. [Ryan Bloom]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Allow the buildconf process to find the config.m4 files in the correct
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync order. Basically, we can now name config.m4 files as config\d\d.m4,
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync and we will sort them correctly when inserting them into the build
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync process. [Ryan Bloom]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Get mod_cgid to use apr calls for creating the actual CGI process.
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync This also allows mod_cgid to use ap_os_create_priviledged_process,
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync thus allowing for SuExec execution from mod_cgid. Currently, we do
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync not support everything that standard SuExec supports, but at least
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync it works minimally now. [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Allow SuExec to be configured from the ./configure command line.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Update some of the docs in README and INSTALL to reflect some of
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync the changes in Apache 2.0 [Cliff Woolley <cliffwoolley@yahoo.com>]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) If we get EAGAIN returned from the call to apr_sendfile, then we
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync need to call sendfile again. This gets us serving large files
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync such as apache_2.0a9.tar.gz on FreeBSD again. [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Get the support programs building cleanly again.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Cliff Woolley <cliffwoolley@yahoo.com>]
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync *) The Apache/Win32 Apache.exe and dll's now live in bin. The
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync current directory logic now backs up over bin/ to determine the
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync server root from the Apache.exe path.
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync *) Apache/Win32 now follows the standard conventions of mod_foo.so
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync loadable modules, dynamic libs are all named libfoo.dll, and the
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync makefile.win populates the include, lib and libexec directories.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Apache is now IPv6-capable. On systems where APR supports IPv6,
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync Apache gets IPv6 listening sockets by default. Additionally, the
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync Listen, NameVirtualHost, and <VirtualHost> directives support IPv6
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync numeric address strings (e.g., "Listen [fe80::1]:8080").
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [Jeff Trawick]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Modify the install directory layout. Modules are now installed in
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync modules/. Shared libraries should be installed in libraries/, but
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync we don't have any of those on Unix yet. All install directories
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync are modifyable at configure time. [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Install all header files in the same directory on Unix. [Ryan Bloom]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Get the functions in server/linked into the server, regardless of
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync which modules linked into the server. This uses the same hack
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync for Apache that we use for APR and apr-util to ensure all of the
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync necessary functions are linked. As a part of thise, the CHARSET_EBCDIC
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync was renamed to AP_CHARSET_EBCDIC for namespace protection, and to make
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync the scripts a bit easier.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ryan Bloom]
ca3db470494a8b6eaec69ea37468a5cda65e2da8vboxsync *) Rework the RFC1413 handling to make it thread-safe, use a timeout
ca3db470494a8b6eaec69ea37468a5cda65e2da8vboxsync on the query, and remove IPv4 dependencies. [Jeff Trawick]
ca3db470494a8b6eaec69ea37468a5cda65e2da8vboxsync *) Get all of the auth modules to the point that they will install and
ca3db470494a8b6eaec69ea37468a5cda65e2da8vboxsync be loadable into the server. Our new build/install mechanism expects
ca3db470494a8b6eaec69ea37468a5cda65e2da8vboxsync that all modules will have a common name format. The auth modules
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync didn't use that format, so we didn't install them properly.
ca3db470494a8b6eaec69ea37468a5cda65e2da8vboxsync [Ryan Bloom]
ca3db470494a8b6eaec69ea37468a5cda65e2da8vboxsync *) API routines ap_pgethostbyname() and ap_pduphostent() are no longer
ca3db470494a8b6eaec69ea37468a5cda65e2da8vboxsync available. Use apr_getaddrinfo() instead. [Jeff Trawick]
ca3db470494a8b6eaec69ea37468a5cda65e2da8vboxsync *) Get "NameVirtualHost *" working in 2.0. [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Return HTTP_RANGE_NOT_SATISFIABLE if the every range requested starts
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync after the end of the response. [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Get byterange requests working with responses that do not have a
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync content-length. Because of the way byterange requests work, we have to
ca3db470494a8b6eaec69ea37468a5cda65e2da8vboxsync have all of the data before we can actually do the byterange, so we
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync can compute the content-length in the byterange filter.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Get exe CGI's working again on Windows.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Allan Edwards]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Get mod_cgid and mod_rewrite to work as DSOs by changing the way
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync they keep track of whether or not their post config hook has been
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync called before. Instead of a static variable (which is replaced when
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync the DSO is loaded a second time), use userdata in the process pool.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Jeff Trawick]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsyncChanges with Apache 2.0a9
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Win32 now requires perl to complete the final install step for users
ca3db470494a8b6eaec69ea37468a5cda65e2da8vboxsync to build + install on Win32. Makefile.win now rewrites @@ServerRoot@
ca3db470494a8b6eaec69ea37468a5cda65e2da8vboxsync and installs the conf, htdocs and htdocs/manual directories.
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync [William Rowe]
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync *) Make mod_include use a hash table to associate directive tags with
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync functions. This allows modules to implement their own SSI tags easily.
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync The idea is simple enough, a module can insert it's own tag and function
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync combination into a hash table provided by mod_include. While mod_include
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync parses an SSI file, when it encounters a tag in the file, it does a
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync hash lookup to find the function that implements that tag, and passes
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync all of the relevant data to the function. That function is then
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync responsible for processing the tag and handing the remaining data back
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync to mod_include for further processing.
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync [Paul J. Reder <rederpj@raleigh.ibm.com>]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Get rid of ap_new_apr_connection(). ap_new_connection() now has
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync fewer parameters: the local and remote socket addresses were removed
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync from the parameter list because all required information is available
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync via the APR socket. [Jeff Trawick]
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync *) Distribution directory structure reorganized to reflect a
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync normal source distribution with external install targets.
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync [Roy Fielding]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) The MPMs that need multiple segments of shared memory now create
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync two apr_shmem_t variables, one for each shared memory allocation.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync the problem is that we can't determine how much memory will be required
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync for shared memory allocations once we try to allocate more than one
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync variable. The MM code automatically aligns the shared memory allocations,
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync so we end up needing to pad the amount of shared memory we want based
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync on how many variables will be allocated out of the shared memory segment.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync It is just easier to create a second apr_shmem_t variable, and two
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync shmem memory blocks.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Cleanup the export list a bit. This creates a single unified list of
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync functions exported by APR. The export list is generated at configure
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync time, and that list is then used to generate the exports.c file.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync Because of the way the export list is generated, we only export those
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync functions that are valid on the platform we are building on.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Enable logging the cookie with mod_log_config
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Sander van Zoest <sander@covalent.net>]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Fix a segfault in mod_info when it reaches the end of the configuration.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Jeff Trawick]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Added lib/aputil/ as a placeholder for utility functions which are not
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync specific to the Apache HTTP Server (but do not make sense with APR).
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync The first utility is "apu_dbm": a set of functions to work with DBM
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync files. This first version can be compiled for SDBM or GDBM databases.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Greg Stein]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Complete re-write of mod_include. This makes mod_include a filter that
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync uses buckets directly. This has now served the FAQ correctly.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Paul Reder <rederpj@raleigh.ibm.com>]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Allow modules to specify the first filter in a sub_request when
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync making the sub_request. This keeps modules from having to change the
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync output_filter immediately after creating the sub-request, and therefore
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync skip the sub_req_output_filter. [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Update ab to accept URLs with IPv6 literal address strings (in the
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync format described in RFC 2732), and to build Host header fields in
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync the same format. This allows IPv6 literal address strings to be
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync used with ab. This support has been tested against Apache 1.3 with
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync the KAME patch, but Apache 2.0 does not yet work with this format
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync of the Host header field. [Jeff Trawick]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Accomodate an out-of-space condition in the piped logs and the
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync rotatelogs.c code, and no longer churn log processes for this
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync condition. [Victor J. Orlikowski]
cc1ef2ef9bbc6a0ff964928d61b7298e5bfcce5fvboxsync *) Add support for partial writes with apr_sendfile() to core_output_filter.
cc1ef2ef9bbc6a0ff964928d61b7298e5bfcce5fvboxsync [Greg Ames]
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsyncChanges with Apache 2.0a8
cc1ef2ef9bbc6a0ff964928d61b7298e5bfcce5fvboxsync *) Add a directive to mod_mime so that filters can be associated with
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync a given mime-type.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync [Ryan Bloom]
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync *) Get multi-views working again. We were setting the path_info
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync field incorrectly if we couldn't find the specified file.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Fix 304 processing. The core should never try to send the headers
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync down the filter stack. Always, just setup the table in the request
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync record, and let the header filter convert it to data that is ready
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync for the network.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync [Ryan Bloom]
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync *) More fixes for the proxy. There are still bugs in the proxy code,
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync but this has now proxied www.yahoo.com and www.ntrnet.net (my ISP)
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync successfully.
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync [Ryan Bloom]
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync *) Fix params for apr_getaddrinfo() call in connect proxy handler.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Chuck Murcko]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) APR: Add new apr_getopt_long function to handle long options.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [B. W. Fitzpatrick <fitz@red-bean.com>]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) APR: Change apr_connect() to take apr_sockaddr_t instead of hostname.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync Add generic apr_create_socket(). Add apr_getaddrinfo() for doing
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync hostname resolution/address string parsing and building
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync apr_sockaddr_t. Add apr_get_sockaddr() for getting the address
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync of one of the apr_sockaddr_t structures for a socket. Change
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync apr_bind() to take apr_sockaddr_t. [David Reid and Jeff Trawick]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Remove the BUFF from the HTTP proxy. This is still a bit ugly, but
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync I have proxied pages with it, cleanup will commence soon.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Make the proxy work with filters. This isn't perfect, because we
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync aren't dealing with the headers properly. [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Do not send a content-length iff the C-L is 0 and this is a head
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync request. [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Make cgi-bin work as a regular directory when using mod_vhost_alias
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync with no VirtualScriptAlias directives. PR#6829 [Tony Finch]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Remove BUFF from the PROXY connect handling. [Ryan Bloom]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Get the default_handler to stop trying to deal with HEAD requests.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync The idea is to let the content-length filter compute the C-L before
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync we try to send the data. If we can get the C-L correctly, then we
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync should send it in the HEAD response.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) The Header filter can now determine if a body should be sent based
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync on r->header_only. The general idea of this is that if we delay
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync deciding to send the body, then we might be able to compute the
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync content-length correctly, which will help caching proxies to cache
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync our data better. Any handler that doesn't want to try to compute
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync the content-length can just send an EOS bucket without data and
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync everything will just work.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Add the referer to the error log if one is available.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Markus Gyger <mgyger@itr.ch>]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Mod_info.c has now been ported to Apache 2.0. As a part of this
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync change, the root of the configuration tree has been exposed to modules
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync as ap_conftree.
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync [Ryan Morgan <rmorgan@covalent.net>]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Get the core_output_filter to use the bucket interface directly.
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync This keeps us from calling the content-length filter multiple times
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync for a simple static request.
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync [Ryan Bloom]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) We are sending the content-type correctly now.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom and Will Rowe]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) APR on FreeBSD: Fix a bug in apr_sendfile() which caused us to report
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync a bogus bytes-sent value when the only thing being sent was trailers
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync and writev() returned an error (or EAGAIN). [Jeff Trawick]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) Get SINGLE_LISTEN_UNSERIALIZED_ACCEPT working again. This uses the
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync hints file to determine which platforms define
15c6c4ce0082362b8b81e15c3605f2d3aca69a21vboxsync SINGLE_LISTEN_UNSERIALIZED_ACCEPT.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Ryan Bloom]
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync *) APR: add apr_get_home_directory() [Jeff Trawick]
15c6c4ce0082362b8b81e15c3605f2d3aca69a21vboxsync *) Initial import of 1.3-current mod_proxy. [Chuck Murcko]
15c6c4ce0082362b8b81e15c3605f2d3aca69a21vboxsync *) Not all platforms have INADDR_NONE defined by default. Apache
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync used to make this check and define INADDR_NONE if appropriate,
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync but APR needs the check too, and I suspect other applications will
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync as well. APR now defines APR_INADDR_NONE, which is always a valid
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync value on all platforms.
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync [Branko �ibej <brane@xbc.nu>]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Destroy the pthread mutex in lock_intra_cleanup() for PR#6824.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Shuichi Kitaguchi <ki@hh.iij4u.or.jp>]
004d74842597dacc4009803171296dfcf9398c69vboxsync *) Relax the syntax checking of Host: headers in order to support
004d74842597dacc4009803171296dfcf9398c69vboxsync iDNS. PR#6635 [Tony Finch]
004d74842597dacc4009803171296dfcf9398c69vboxsync *) When reading from file buckets we convert to an MMAP if it makes
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync sense. This also simplifies the default handler because the
004d74842597dacc4009803171296dfcf9398c69vboxsync default handler no longer needs to try to create MMAPs.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) BUFF has been removed from the main server. The BUFF code will remain
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync in the code until it has been purged from the proxy module as well.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ryan Bloom]
004d74842597dacc4009803171296dfcf9398c69vboxsync *) Byteranges have been completely re-written to be a filter. This
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync has been tested, and I believe it is working correctly, but it could
004d74842597dacc4009803171296dfcf9398c69vboxsync doesn't work for the Adobe Acrobat plug-in. The output almost matches
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync the output from 1.3, the only difference being that 1.3 includes
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync a content-length in the response, and this does not.
004d74842597dacc4009803171296dfcf9398c69vboxsync [Ryan Bloom]
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync *) APR read/write functions and bucket read functions now operate
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync on unsigned integers, instead of signed ones. It doesn't make
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync any sense to use signed ints, because we return the error codes,
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync so if we have an error we should report 0 bytes read or written.
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Always compute the content length, whether it is sent or not.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync The reason for this, is that it allows us to correctly report
004d74842597dacc4009803171296dfcf9398c69vboxsync the bytes_sent when logging the request. This also simplifies
004d74842597dacc4009803171296dfcf9398c69vboxsync content-length filter a bit, and fixes the actual byte-reporing
5366e994777f9d9391cf809dc77610f57270d75dvboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Remove AP_END_OF_BRIGADE definition. This does not signify what
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync it says, because it was only used by EOS and FLUSH buckets. Since
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync neither of those are required at the end of a brigade, this was
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync really signifying FLUSH_THE_DATA, but that can be determined better
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync by checking AP_BUCKET_IS_EOS() or AP_BUCKET_IS_FLUSH. EOS and FLUSH
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync buckets now return a length of 0, which is actually the amount of data
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync read, so they make more sense.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Allow the core_output_filter to save some data past the end of a
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync request. If we get an EOS bucket, we only send the data if it
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync makes sense to send it. This allows us to pipeline request
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync responses. As a part of this, we also need to allocate mmap
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync buckets out of the connection pool, not the request pool. This
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync allows the mmap to outlive the request.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Make blocking and non-blocking bucket reads work correctly for
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync sockets and pipes. These are the only bucket types that should
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync have non-blocking reads, because the other bucket types should
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync ALWAYS be able to return something immediately.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) In the Apache/Win32 console window, accept Ctrl+C to stop the
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync server, but use Ctrl+Break to initiate a graceful restart
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync instead of duplicating behavior. [John Sterling]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Patch mod_autoindex to set the Last-Modified header based on
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync the directory's mtime, and add the ETag header. [William Rowe]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Merge the 1.3 patch to add support for logging query string in
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync such a way that "%m %U%q %H" is the same as "%r".
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Bill Stoddard]
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) Port three log methods from mod_log_config 1.3 to 2.0:
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync CLF compliant '-' byte count, method and protocol.
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync [Bill Stoddard]
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync *) Add a new LogFormat directive, %c, that will log connection
5366e994777f9d9391cf809dc77610f57270d75dvboxsync status at the end of the response as follows:
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync 'X' - connection aborted before the response completed.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync '+' - connection may be kept-alive by the server.
5366e994777f9d9391cf809dc77610f57270d75dvboxsync '-' - connection will be closed by the server.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Bill Stoddard]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Expand APR for WinNT to fully accept and return utf-8 encoded
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync Unicode file names and paths for Win32, and tag the Content-Type
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync from mod_autoindex to reflect that charset if the the feature
d8e12fa5dd1c35282b98cb165e42b6b395cf971bvboxsync macro APR_HAS_UNICODE_FS is true. [William Rowe]
d8e12fa5dd1c35282b98cb165e42b6b395cf971bvboxsync *) Compute the content length (and add appropriate header field) for
d8e12fa5dd1c35282b98cb165e42b6b395cf971bvboxsync the response when no content length is available and we can't use
d8e12fa5dd1c35282b98cb165e42b6b395cf971bvboxsync chunked encoding. [Jeff Trawick]
d8e12fa5dd1c35282b98cb165e42b6b395cf971bvboxsync *) Changed ap_discard_request_body() to use REQUEST_CHUNKED_DECHUNK,
d8e12fa5dd1c35282b98cb165e42b6b395cf971bvboxsync so that content input filters get dechunked data when using
5366e994777f9d9391cf809dc77610f57270d75dvboxsync the default handler. Also removed REQUEST_CHUNKED_PASS.
15c6c4ce0082362b8b81e15c3605f2d3aca69a21vboxsync [Sascha Schumann]
15c6c4ce0082362b8b81e15c3605f2d3aca69a21vboxsync *) Add mod_ext_filter as an experimental module. This module allows
15c6c4ce0082362b8b81e15c3605f2d3aca69a21vboxsync the administrator to use external programs as filters. Currently,
15c6c4ce0082362b8b81e15c3605f2d3aca69a21vboxsync only filtering of output is supported. [Jeff Trawick]
d8e12fa5dd1c35282b98cb165e42b6b395cf971bvboxsync *) Most Apache functions work on EBCDIC machines again, as protocol
d8e12fa5dd1c35282b98cb165e42b6b395cf971bvboxsync data is now translated (again). [Jeff Trawick]
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) Introduce ap_xlate_proto_{to|from}_ascii() to clean up some of
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync the EBCDIC support. They are noops on ASCII machines, so this
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync type of translation doesn't have to be surrounded by #ifdef
5366e994777f9d9391cf809dc77610f57270d75dvboxsync CHARSET_EBCDIC. [Jeff Trawick]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Fix mod_include. tag commands work again, and the server will
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync send the FAQ again. This also allows mod_include to set aside
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync buckets that include partial buckets.
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync [Ryan Bloom and David Reid]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Add suexec support back. [Manoj Kasichainula]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Lingering close now uses the socket directly instead of using
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync BUFF. This has been tested, but since all we can tell is that it
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync doesn't fail, this needs to be really hacked on.
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Allow filters to modify headers and have those headers be sent to
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync the client. The idea is that we have an http_header filter that
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync actually sends the headers to the network. This removes the need
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync for the BUFF to send headers.
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [Ryan Bloom]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) Charset translation: mod_charset_lite handles translation of
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync request bodies. Get rid of the xlate version of ap_md5_digest()
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync since we don't compute digests of filtered (e.g., translated)
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync response bodies this way anymore. (Note that we don't do it at
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync all at the present; somebody needs to write a filter to do so.)
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [Jeff Trawick]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) Input filters and ap_get_brigade() now have a input mode parameter
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync (blocking, non-blocking, peek) instead of a length parameter.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [hackathon]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) Update the mime.types file to the registered media types as
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync of 2000-10-19. PR#6613 [Carsten Klapp <carsten.klapp@home.net>,
3ff8aa7d3c74cfbe8da5f77b8ea6c748cc79213avboxsync Tony Finch]
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync *) Namespace protect some macros declared in ap_config.h
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ryan Bloom]
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync *) Support HTTP header line folding with input filtering.
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync [Greg Ames]
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync *) Mod_include works again. This should still be re-written, but at
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync least now we can serve an SHTML page again.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Begin to remove BUFF from the core. Currently, we keep a pointer
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync to both the BUFF and the socket in the conn_rec. Functions that
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync want to use the BUFF can, functions that want to use the socket,
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync can. They point to the same place.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) apr_psprintf doesn't understand %lld as a format. Make it %ld.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Tomas "�gren" <stric@ing.umu.se>]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) APR pipes on Unix and Win32 are now cleaned up automatically when the
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync associated pool goes away. (APR pipes on OS/2 were already had this
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync logic.) This resolvs a fatal file descriptor leak with CGIs.
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync [Jeff Trawick]
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync *) The final line of the config file was not being read if there was
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync no \n at the end of it. This was caused by apr_fgets returning
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync APR_EOF even though we had read valid data. This is solved by
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync making cfg_getline check the buff that was returned from apr_fgets.
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync If apr_fgets return APR_EOF, but there was data in the buf, then we
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync return the buf, otherwise we return NULL.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ryan Bloom]
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync *) Piped logs work again in the 2.0 series.
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync [Ryan Bloom]
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync *) Restore functionality broken by the mod_rewrite security fix:
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync rewrite map lookup keys and default values are now expanded
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync so that the lookup can depend on the requested URI etc.
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync PR #6671 [Tony Finch]
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync *) Tighten up the syntax checking of Host: headers to fix a
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync security bug in some mass virtual hosting configurations
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync that can allow a remote attacker to retrieve some files
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync on the system that should be inaccessible. [Tony Finch]
40c1a23e86c79b24a917a43c186b2e54504d12c1vboxsync *) Add a pool bucket type. This bucket is used for data allocated out
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync of a pool. If the pool is cleaned before the bucket is destroyed, then
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync the data is converted to a heap bucket, allowing it to survive the
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync death of the pool.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Ryan Bloom]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Add a flush bucket. This allows modules to signal that the filters
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync should all flush whatever data they currently have. There is no way
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync to actually force them to do this, so if a filter ignores this bucket,
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync that's life, but at least we can try with this.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Ryan Bloom]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Add an output filter for sub-requests. This filter just strips the
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync EOS bucket so that we don't confuse the main request's core output
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync filter by sending multiple EOS buckets. This change also makes sub
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync requests start to send EOS buckets when they are finished.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Ryan Bloom]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Make ap_bucket_(read|destroy|split|setaside) into macros. Also
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync makes ap_bucket_destroy a return void, which is okay because it
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync used to always return APR_SUCCESS, and nobody ever checked its
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync return value anyway.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Cliff Woolley <cliffwoolley@yahoo.com>]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Remove the index into the bucket-type table from the buckets
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync structure. This has now been replaced with a pointer to the
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync bucket_type. Also add some macros to test the bucket-type.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Ryan Bloom]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Renamed all MODULE_EXPORT symbols to AP_MODULE_DECLARE and all symbols
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync for CORE_EXPORT to AP_CORE_DECLARE (namespace protecting the wrapper)
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync and retitled API_EXPORT as AP_DECLARE and APR_EXPORT as APR_DECLARE.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync All _VAR_ flavors changes to _DATA to be absolutely clear.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [William Rowe]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Add support for /, //, //servername and //server/sharename
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync parsing of <Directory> blocks under Win32 and OS2.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Tim Costello, William Rowe, Brian Harvard]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Remove the function pointers from the ap_bucket type. They have been
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync replaced with a global table. Modules are allowed to register bucket
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync types and use then use those buckets.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Ryan Bloom]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) mod_cgid: In the handler, shut down the Unix socket (only for write)
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync once we finish writing the request body to the cgi child process;
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync otherwise, the client doesn't hit EOF on stdin. Small request bodies
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync worked without this change (for reasons I don't understand), but large
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync ones didn't. [Jeff Trawick]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Remove file bucket specific information from the ap_bucket type.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync This has been moved to a file_bucket specific type that hangs off
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync the data pointer in the ap_bucket type.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Ryan Bloom]
40c1a23e86c79b24a917a43c186b2e54504d12c1vboxsync *) Input filtering now has a third argument. This is the amount of data
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync to read from lower filters. This argument can be -1, 0, or a positive
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync number. -1 means give me all the data you have, I'll deal with it and
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync let you know if I need more. 0 means give me one line and one line
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync only. A positive number means I want no more than this much data.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync Currently, only 0 and a positive number are implemented. This allows
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync us to remove the remaining field from the conn_rec structure, which
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync has also been done.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Ryan Bloom]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Big cleanup of the input filtering. The goal is that http_filter
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync understands two conditions, headers and body. It knows where it is
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync based on c->remaining. If c->remaining is 0, then we are in headers,
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync and http_filter returns a line at a time. If it is not 0, then we are
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync in body, and http_filter returns raw data, but only up to c->remaining
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync bytes. It can return less, but never more.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Greg Ames, Ryan Bloom, Jeff Trawick]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) mod_cgi: Write all of the request body to the child, not just what
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync the kernel would accept on the first write. [Jeff Trawick]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Back out the change that moved the brigade from the core_output_filters
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync ctx to the conn_rec. Since all requests over a given connection
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync go through the same core_output_filter, the ctx pointer has the
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync correct lifetime.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Fix another bug in the send_the_file() read/write loop. A partial
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync send by apr_send would cause unsent data in the read buffer to
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync get clobbered. Complete making send_the_file handle partial
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync writes to the network.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Bill Stoddard]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Fix a couple of type fixes to allow compilation on AIX again
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Victor J. Orlikowski <v.j.orlikowski@gte.net>]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Fix bug in send_the_file() which causes offset to be ignored
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync if there are no headers to send.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Bill Stoddard]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Handle APR_ENOTIMPL returned from apr_sendfile in the core
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync filter. Useful for supporting Windows 9* with a binary
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync compiled on Windows NT.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Bill Stoddard]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsyncChanges with Apache 2.0a7
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Reimplement core_output_filter to buffer/save bucket brigades
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync across multiple calls to the core_filter. The brigade will be
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync sent when either MIN_BYTES_TO_SEND or MAX_IOVEC_TO_WRITE
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync thresholds are hit or the EOS bucket is received.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Bill Stoddard]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Create experimental filter (buffer_filter) that coalesces bytes
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync into one large buffer before invoking the next filter in the
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync chain. This filter is particularly useful with the current
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync implementation of mod_autoindex when it inserted above the
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync chunk_filter. mod_autoindex generates a lot of brigades that
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync containing buckets holding just a few bytes each. The
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync buffer_filter coalesces these buckets into a single large bucket.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Bill Stoddard]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Add apr_sendfile() support into the core_output_filter.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Bill Stoddard]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Add apr_sendv() support into the core_output_filter.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Bill Stoddard]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Fix mod_log_config so that it compiles cleanly with BUFFERED_LOGS
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Mike Abbott <mja@sgi.com>]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Remove ap_send_fb. This is no longer used in Apache, and it doesn't
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync make much sense, because Apache uses buckets instead of BUFFs now.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Ryan Bloom]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) send_the_file now falls back to a read/write loop on platforms that
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync do not have sendfile.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Ryan Bloom and Brian Havard]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Install apachectl correctly, and substitute the proper values so
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync that it works again. [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Better(??) handle platforms that lack sendfile().
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Jim Jagielski]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) APR now has UUID generation/formatting/parsing support.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Greg Stein]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Begin the http_filter. This is an input filter that understands
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync the absolute basic amount required to parse an HTTP Request. The
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync goal is to be able to split headers from request body before passing
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync the data back to the other filters.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Bring forward from 1.3.13 the config directory implementation
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Jim Jagielski]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) install apxs if it is created
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Ryan Bloom]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Added APR_IS_STATUS_condition test macros to eliminate canonical error
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync conversions. [William Rowe]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Now that we have ap_add_input_filter(), rename ap_add_filter() to
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync ap_add_output_filter(). [Jeff Trawick]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Multiple build and configuration fixes
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync Build process:
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync -add datadir and localstatedir substitutions
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync -fix layout name
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync -fix logfilename misspelling
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync -fix evaluation of installation dir variables and
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync -replace $foobar by $(foobar) to be usefull in the makefile
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync Cross compile:
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync -add rules for cross-compiling in rules.mk. Okay, rule to check for
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync $CC_FOR_BUILD is still missing
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync -use CHECK_TOOL instead of CHECK_PROG for ranlib
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync -add missing "AR=@AR@" to severaly Makefile.in's
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync -cache result for "struct rlimit"
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync -compile all helper programs with native and cross compiler
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync and use the native version to generate header file
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync ["R�diger" Kuhlmann <Tadu@gmx.de>]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Prepare our autoconf setup for autoconf 2.14a and for cross-
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync ["R�diger" Kuhlmann <Tadu@gmx.de>]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Fix a bug where a client which only sends \n to delimit header
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync lines (netcat) gets a strange looking HTTP_NOT_IMPLEMENTED
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync message. Start working on ebcdic co-existance with input
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [William Rowe, Greg Ames]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) If mod_so is enabled in the server always create libexec, even
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync if there are no modules installed in this directory. This is a
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync requirement for APXS to work correctly.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Ryan Bloom]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Connection oriented output filters are now stored in the
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync conn_rec instead of the request_rec. This allows us to add the
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync output filter in the pre-connection phase instead of the
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync post_read_request phase, which keeps us from trying to write an
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync error page before we have a filter to write to the network.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Ryan Bloom, Jeff Trawick, and Greg Ames]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Cleaning up an mmap bucket no longer deletes the mmap. An
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync mmap can be used across multiple buckets (default_handler with
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync byte ranges, mod_file_cache, mod_mmap_static), so cleanup of
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync the mmap itself can't be associated with the bucket.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Jeff Trawick]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Add .dll caching directive ISAPICacheFile to mod_isapi.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [William Rowe]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Radical surgery to improve mod_isapi support under Win32.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync Includes a number of newer ServerSupportFunction calls, support
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync for ReadClient (in order to retrieve POSTs greater than 48KB),
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync and general bug fixes to more reliably load ISAPI .dll's and
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync prevent leaking handle resources. Note: There are still
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync discrepancies between IIS's and Apache's ServerVariables, and
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync async calls are still not supported. Additional warnings are
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync logged to facilitate debugging of unsupported ISAPI calls.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [William Rowe]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Add input filtering to Apache. The basic idea for the input
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync filters is the same as the ideas for output filters. The biggest
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync difference is that instead of calling ap_pass_brigade, ap_get_brigade
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync should be called, and the order of execution for the filter itself is
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync different. When writing an output filter, a brigade is passed in,
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync and filters operate directly on that brigade, when done, they call
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync ap_pass_brigade. Input filters are the exact opposite. Because input
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync is not a push operation, filters first call ap_get_brigade. When this
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync function returns, the input filter will be left with a valid brigade.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync The input filter should then operate on the brigade, and return.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Ryan Bloom]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Fix building on BSD/OS using its native make. The build system
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync falls back to the BSD .include directive on that host platform.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Sascha Schumann]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Expand dbmmanage to allow -d -m -s -p options for Crypt, MD5,
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync SHA1 and plaintext password encodings. Make feature tests a
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync bit more flexible. [William Rowe]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Charset translation: mod_charset_lite handles output content
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync translation in a filter. mod_charset_lite no longer ignores
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync subrequests. A bunch of cruft related to BUFF's support for
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync translating request and response bodies was removed.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Jeff Trawick]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Move the addition of the CORE filter to the post_read_request
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync hook in http_core.c. This removes the need to add the filter in
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync multiple places and allows for an SSL module to be added much
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync simpler. [Ryan Bloom]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Fix a security problem that affects certain configurations of
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync mod_rewrite. If the result of a RewriteRule is a filename that
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync contains expansion specifiers, especially regexp backreferences
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync $0..$9 and %0..%9, then it may be possible for an attacker to
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync access any file on the web server. [Tony Finch]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Fix a bug where errors that are detected during early request parsing
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync don't produce visible HTTP error messages at the browser, because
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync the core_filter wasn't present. [Greg Ames]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Provide apr_socklen_t as a portability aid.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Victor J. Orlikowski]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Overhaul of dbmmanage to allow a groups arg (as in Apache 1.2)
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync as well as a comment arg to the add, adduser and update cmds.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync update allows the user to clear or preserve pw/groups/comment.
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync Fixed a bug in dbmmanage that prevented the check option from
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync parsing a password followed by :group... text. Corrected the
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync seed calcualation for Win32 systems, and added -lsdbm support.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [William Rowe]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Configured mod_auth_dbm to compile with sdbmlib under Win32.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [William Rowe]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Avoid a segfault when parsing .htaccess files. An
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync uninitialized tree pointer was passed to ap_build_config().
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Jeff Trawick]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) Change the way that inet_addr & inet_network are checked for
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync in APR's configure process to allow BeOS BONE to correctly
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync find them. With this change BeOS BONE now builds from source
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync with no problems. [David Reid]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) Fix a bug in apr_create_process() for Unix. The NULL signifying
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync the end of the parameters to execve() was stored in the wrong
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync location, overlaying the storage beyond the newargs[] array and
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync also passing uninitialized storage to execve(), which would
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync sometimes fail with EFAULT. [Jeff Trawick]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Fix a bug parsing configuration file containers. With a sequence
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync like this in the config file
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync </IfModule>
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync (blank line)
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync </IfModule>
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync the second container would be terminated at the blank line due to
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync sediment in the buffer from reading the prior </IfModule> and an
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync error message would be generated for the real </IfModule> for the
6b9d50a0f466bd5a61458ed53925480ab28a3c17vboxsync second container. Also due to this problem, any two characters
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync could be used for "</" in the close of a container.
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync [Jeff Trawick]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) ap_add_filter prototype changed to remove the ctx pointer. The
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync pointer still remains in the filter structure, but it can not be
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync a part of the ap_add_filter prototype. The reason is that when
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync the core uses AddFilter to add a filter to the stack it doesn't
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync know how to allocate the ctx pointer, or even how much memory should
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync be allocated. The filters will have to be responsible for allocating
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync the ctx memory when they need it.
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync [Ryan Bloom]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Add an AddFilter directive. This directive takes a list of filters
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync that should be activated for the requested resource.
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync [Ryan Bloom]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) apr_snprintf(): Get quad format strings working on OS/390 (and perhaps
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync some other platforms). [Jeff Trawick]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Modify mod_include to be a filter. Currently, it has only been tested
5366e994777f9d9391cf809dc77610f57270d75dvboxsync on actual files, but it should work for CGI scripts too.
5366e994777f9d9391cf809dc77610f57270d75dvboxsync [Ryan Bloom]
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) apr_putc(), apr_puts() for Unix: handle buffered files and interrupted
5366e994777f9d9391cf809dc77610f57270d75dvboxsync writes. apr_flush() for Unix: handle interrupted writes.
5366e994777f9d9391cf809dc77610f57270d75dvboxsync [Jeff Trawick]
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) NameVirtualHost can now take "*" as an argument instead of
5366e994777f9d9391cf809dc77610f57270d75dvboxsync an IP address. This allows you to create a purely name-based
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync virtual hosting server that does not have any IP addresses in
cc1ef2ef9bbc6a0ff964928d61b7298e5bfcce5fvboxsync the configuration file and which ignores the local address
cc1ef2ef9bbc6a0ff964928d61b7298e5bfcce5fvboxsync of any connections. PR #5595, PR #4455 [Tony Finch]
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) Fix some compile warnings in mod_mmap_static.c
5366e994777f9d9391cf809dc77610f57270d75dvboxsync [Mike Abbott <mja@sgi.com>]
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) Fix chunking problem with CGI scripts. The general problem was that
5366e994777f9d9391cf809dc77610f57270d75dvboxsync the CGI modules were adding an EOS bucket and then the core added an
5366e994777f9d9391cf809dc77610f57270d75dvboxsync EOS bucket. The chunking filter finalizes the chunked response when it
5366e994777f9d9391cf809dc77610f57270d75dvboxsync encounters an EOS bucket. Because two EOS buckets were sent, we
5366e994777f9d9391cf809dc77610f57270d75dvboxsync finalized the response twice. The fix is to make sure we only send one
5366e994777f9d9391cf809dc77610f57270d75dvboxsync EOS, by utilizing a flag in the request_rec.
5366e994777f9d9391cf809dc77610f57270d75dvboxsync [Ryan Bloom]
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) apr_put_os_file() now sets up the unget byte appropriately on Unix
cc1ef2ef9bbc6a0ff964928d61b7298e5bfcce5fvboxsync and Win32. Previously, the first read from an apr_file_t set up via
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync apr_put_os_file() would return a '\0'. [Jeff Trawick]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Mod_cgid now creates a single element bucket brigade, with a pipe
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync bucket, instead of using BUFF's and ap_r*.
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync [Ryan Bloom]
7e8ef90d3160234df0f254131b87af4243d79476vboxsync *) APRVARS.in no longer overwrites the EXTRA_LIBS variable.
7e8ef90d3160234df0f254131b87af4243d79476vboxsync [Mike Abbott <mja@sgi.com>]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Remove ap_bopenf from buff code. This required modifying the file_cache
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync code to use APR file's directly instead of going through BUFFs.
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync [Ryan Bloom]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Fix compile break on some platforms for mod_mime_magic.c
e2489bd9ef063ae006feaebc3318ffa4143f6e16vboxsync [John K. Sterling <sterling@covalent.net>]
e2489bd9ef063ae006feaebc3318ffa4143f6e16vboxsync *) Fix merging of AddDefaultCharset directive.
e2489bd9ef063ae006feaebc3318ffa4143f6e16vboxsync PR #5872 (1.3) [Jun Kuriyama <kuriyama@imgsrc.co.jp>]
e2489bd9ef063ae006feaebc3318ffa4143f6e16vboxsync *) Minor revamp of the rlimit sections of code. We now test
e2489bd9ef063ae006feaebc3318ffa4143f6e16vboxsync explicitly for setrlimit and getrlimit. Also, unixd_set_rlimit()
e2489bd9ef063ae006feaebc3318ffa4143f6e16vboxsync is now "available" even if the platform doesn't support
e2489bd9ef063ae006feaebc3318ffa4143f6e16vboxsync the rlimit family (it's just a noop though). [Jim Jagielski]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Migrate the pre-selection of which MPM to use for specific
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync platforms to hints.m4, which contains (or should contain)
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync all platform specific "hints". [Jim Jagielski]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Remove IOLs from Apache. With filtering, IOLs are no longer necessary
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync [Ryan Bloom]
cc1ef2ef9bbc6a0ff964928d61b7298e5bfcce5fvboxsync *) Add tables with non-string/binary values to APR.
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync *) Fix some bad calls to ap_log_rerror() in mod_rewrite.
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync [Jeff Trawick]
6b9d50a0f466bd5a61458ed53925480ab28a3c17vboxsync *) Update PCRE to version 3.2. [Ryan Bloom]
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync *) Change the way buckets' destroy functions are called so that
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync they can be more directly used when changing the type of a
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync bucket in place. [Tony Finch]
6b9d50a0f466bd5a61458ed53925480ab28a3c17vboxsync *) Add generic support for reference-counting the resources used by
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync buckets, and alter the HEAP and MMAP buckets to use it. Change
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync the way buckets are initialised to support changing the type of
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync buckets in place, and use it when setting aside TRANSIENT buckets.
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync Change the implementation of TRANSIENT buckets so that it can be
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync mostly shared with IMMORTAL buckets, which are now implemented.
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync [Tony Finch]
6b9d50a0f466bd5a61458ed53925480ab28a3c17vboxsyncChanges with Apache 2.0a6
6b9d50a0f466bd5a61458ed53925480ab28a3c17vboxsync *) Add support to Apache and APR for dsos on OS/390. [Greg Ames]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Add a chunking filter to Apache. This brings us one step closer
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync to removing BUFF. [Ryan Bloom]
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync *) ap_add_filter now adds filters in a LIFO fashion. The first filter
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync added to the stack is the last filter to be called. [Ryan Bloom]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Apache 2.0 has been completely documented using Scandoc. The
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync docs can be generated by running 'make docs'. [Ryan Bloom]
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync *) Add filtered I/O to Apache. This is based on bucket brigades,
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync Currently the buckets still use BUFF under the covers, but that
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync should change quickly. The only currently written filter is the
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync core filter which just calls ap_bwrite. [The Apache Group]
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync *) APR locks on Unix: Let APR_LOCKALL locks work when APR isn't
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync built with thread support. [Jeff Trawick]
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync *) Abort configuration if --with-layout was specified and there's
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync no layout definition file. [Ken Coar]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) Add support for '--with-port=n' option to configure. [Ken Coar]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Add support for extension methods for the Allow response header
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync field, and an API routine for accessing r->allowed and the
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync list of extension methods in a unified manner. [Ken Coar]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) mod_cern_meta: fix broken file reading loop in scan_meta_file().
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync [Rob Simonson <simo@us.ibm.com>]
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync *) Get xlate builds working again. The apr renaming in 2.0a5 broke
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync APACHE_XLATE builds. [Jeff Trawick]
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync *) A configuration file parsing problem was fixed. When the
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync configuration file started with an IfModule/IfDefine container,
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync only the last statement in the container would be retained.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync [Jeff Trawick]
687794577e2e35c3cae67e692a7f2130d1262a82vboxsyncChanges with Apache 2.0a5
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync *) Perchild is serving pages after passing them to different child
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync processes. There are still a lot of bugs, but this does work. I
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync have made requests against the same installation of Apache, and had
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync different servers use different user IDs to serve the responses.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync This change moves to using socketpair instead of an AF_UNIX socket.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync [Ryan Bloom]
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync *) Perchild MPM still doesn't work perfectly, but it is serving pages.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync It can't seem to pass between child processes yet, but I think we
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync are closer now than before. This moves us back to using Unix
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync Domain Sockets. [Ryan Bloom]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) libapr functions and types renamed with apr_ prefix.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync *) Fix problems with APR sockaddr handling on Win32. It didn't always
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync return the right information on the local socket address.
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync [Gregory Nicholls <gnicholls@level8.com>]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) ap_recv() on Win32: Set bytes-read to 0 on error.
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync [Gregory Nicholls <gnicholls@level8.com>]
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync *) Add an option to not detach from the controlling terminal without
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync going into single process mode. This allows for much easier
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync debugging of the process startup code. [Ryan Bloom]
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync *) ab: don't use perror() to report the failure of an APR function.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync [Jeff Trawick]
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) Make dexter, mpmt_pthread, and perchild MPMs not destroy the
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync scoreboard on graceful restarts.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Fix segfault/SIGSEGV when running gzip from mod_mime_magic.c.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync An invalid ap_proc_t was passed to ap_create_process().
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Jeff Trawick]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Allow modules to register filters. Those filters are still
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync never called, but this is a step in the right direction.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync [Ryan Bloom and Greg Stein]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Register the mod_cgid daemon process for cleanup so that it is
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync killed at termination if it does not die when the parent gets
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync SIGTERM. This change is to fix occasional problems where the
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync process stays around. Bugs in similar logic in mod_rewrite and
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync mod_include were also fixed. [Jeff Trawick]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Fix a bug in the time handling. Basically, we were imploding a time
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync in ap_parseHTTPdate, but it had bogus data in the exploded time format.
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync Namely, tm_usec and tm_gmtoff were not filled out. ap_implode_time
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync uses those two fields to adjust the time value. Because of the HTTP
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync spec, both of those values can be zero'ed out safely. This fixes
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync the bug correctly. [Ryan Bloom]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Fix a couple of place in the Windows code where the wrong error
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync code was being returned. [Gregory Nicholls <gnicholls@level8.com>]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Fix POOL_DEBUG (at least for prefork mpm). [Dean Gaudet]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Added the APR_EOL_STR macro for platform dependent differences in
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync logfiles and other raw text (such as all APR files). Fixes logfiles
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync not terminated with cr/lf sequences in Win32. [William Rowe]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Move all strings functions in APR to src/lib/apr/strings and create
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync apr_strings.h for the prototypes. [Ryan Bloom]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) APR lock fixes: when using SysV sems, flock(), or fcntl(), be sure
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync to repeat the syscall until we stop getting EINTR. I noticed a
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync related problem at termination (SIGTERM) on FreeBSD when using
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync fcntl(). Apache 1.3 had these new loops too. Also, make the flock()
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync implementation work properly with child init. Previously, ap_lock()
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync was essentially a no-op because all children were using different
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync locks and thus nobody ever blocked. [Jeff Trawick]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) The htdocs/ tree has been moved out of the CVS source tree into
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync a separate area for easier development. This has NO EFFECT on
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync end-users or Apache installations. [Ken Coar]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Integrate the mod_dav module for WebDAV protocol handling. This
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync adds the dav and dav_fs modules, the SDBM library, and additional
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync XML handling utilities. [Greg Stein]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Clean out obsolete names (from httpd.h) for the HTTP Status Codes
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Greg Stein]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Update the lib/expat-lite/ library (bring forward changes from
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync the Apache 1.3 repository). [Greg Stein]
9e7e0b61d29309a0ed7af9472c8d6d865f9e8a2dvboxsync *) If sizeof(long long) == sizeof(long), then prefer long in APR
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync configure.in. [Dave Hill <ddhill@zk3.dec.com>]
9e7e0b61d29309a0ed7af9472c8d6d865f9e8a2dvboxsync *) Add ap_sendfile for Tru64 Unix. Also, add an error message for
9e7e0b61d29309a0ed7af9472c8d6d865f9e8a2dvboxsync machines where sendfile is detected, but nobody has written ap_sendfile.
9e7e0b61d29309a0ed7af9472c8d6d865f9e8a2dvboxsync [Dave Hill <ddhill@zk3.dec.com>]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Compile fixes in mod_mmap_static. [Victor J. Orlikowski]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) ab would start up more connections than needed, then quit when the
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync desired number were finished. Also fixed a logic error involving
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync ab keepalives. [Victor J. Orlikowski]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) WinNT: Implement non-blocking pipes with timeouts to communicate
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync with CGIs. Apache 2.0a4 had non-blocking pipes but without
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync timeouts (i.e, if a timeout was specified, the pipe reverted to
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync a full blocking pipe). Now the behaviour is more in line with
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync Unix non-blocking pipes.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Bill Stoddard]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) WinNT: Implement accept socket reuse. Using mod_file_cache to
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync cache open file handles along with accept socket reuse enables
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync Apache 2.0 to serve non-keepalive requests for static files at
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync 3x the rate of Apache 1.3.(e.g, Apache 1.3 will serve 400 rps
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync and Apache 2.0 will serve almost 1200 rps on my system).
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Bill Stoddard]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Merge mod_mmap_static function into mod_file_cache. mod_file_cache
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync supports two config directives, mmapfile (same behavious as
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync mod_mmap_static) and cachefile. Use the cachefile directive
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync to cache open file handles. This directive only works on systems
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync that have implemented the ap_sendfile API. cachefile works today
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync on Windows NT, but has not been tested on any flavors of Unix.
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [Bill Stoddard]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) Cleanup the configuration. With the last few changes the
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync configuration process automatically:
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync inherits information about how to build from APR. Allowing
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync APR to inform Apache that it should or should not use -ldl
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync Detects which mod_cgi should be used mod_cgi or mod_cgid,
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync based on the threading model
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync Apache calls APR's configure process before finishing it's
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync configuration processing, allowing for more information flow
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync between the two.
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [Ryan Bloom]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) Change Unix and Win32 ap_setsockopt() so that APR_SO_NONBLOCK
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync with non-zero argument makes the socket non-blocking. BeOS and
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync OS/2 already worked this way. [Jeff Trawick]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) ap_close() now calls ap_flush() for buffered files, so write
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync operations work a whole lot better on buffered files.
88cc9bf61296bc5526344415167bb2625ae1dd99vboxsync [Jeff Trawick]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) Fix error messages issued from MPMs which explain where to change
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync compiled-in limits (e.g., ThreadsPerChild, MaxClients, StartTreads).
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [Greg Ames]
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync *) ap_create_pipe() now leaves pipes in blocking state. (This helps
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync reduce the number of syscalls on Unix.) ap_set_pipe_timeout() is
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync now the way that the blocking state of a pipe is manipulated.
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync ap_block_pipe() is gone. [Jeff Trawick]
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync *) Correct the problem where the only local host name that the IP stack
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync can discover are 'undotted' private names. If no fully qualified
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync domain name can be identified, the default ServerName will be set to
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync the machine's IP address string. A warning is always provided if the
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync ServerName not specified, but assumed. Solves PR6215 [William Rowe]
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync *) Repair problems with config file processing which caused segfault
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync at init when virtual hosts were defined and which caused ServerName to
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync be ignored when there was no valid DNS setup. [Jeff Trawick]
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync *) Removed pointless ap_is_aborted macro function. [Roy Fielding]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Add ap_sendfile implementation for AIX
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync [Victor J. Orlikowski]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Repair C++ compatibility in ap_config.h, apr_file_io.h,
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync [Tyler J. Brooks <tylerjbrooks@home.com>, Jeff Trawick]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Bring the allocation and pool debugging code back into a working
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync state. This will need to be tested as so far it's only been used on
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync BeOS. [David Reid]
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync *) Change configuration command setup to be properly typesafe when in
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync maintainer mode. Note that this requires a compiler that can initialise
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync unions. [Ben Laurie]
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync *) Turn on buffering for config file reads. Part of this was to
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync repair buffered I/O support in Unix and implement buffered
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync ap_fgets() for all platforms. [Brian Havard, Jeff Trawick]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Win32: Fix problem where UTC offset was not being set correctly
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync in the access log. Problem reported on news group by Jerry Baker.
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync [Bill Stoddard]
f9ce005e61f0fbb51a2cabc53d58c3485151faa9vboxsync *) Fix segfault when reporting this type of syntax error:
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync "</container> without matching <container> section", where
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync container is VirtualHost or Directory or whatever.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Jeff Trawick]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Prevent the source code for CGIs from being revealed when using
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync mod_vhost_alias and the CGI directory is under the document root
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync and a user makes a request like http://www.example.com//cgi-bin/cgi
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync as reported in <news:960999105.344321@ernani.logica.co.uk>
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Tony Finch]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Add support for the new Beos NetwOrking Environment (BONE)
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [David Reid]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) xlate: ap_xlate_conv_buffer() now tells the caller when the
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync final input char is incomplete; ap_bwrite_xlate() now handles
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync incomplete final input chars. [Jeff Trawick]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Yet another update to saferead/halfduplex stuff -- need to ensure
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync that a bhalfduplex call occurs before logging or else DNS and
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync such can delay the last packet of the response. [Dean Gaudet]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Some syscall reduction in APR on unix -- don't seek when setting
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync up an mmap; and don't fcntl() more than once per socket.
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync [Dean Gaudet]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) When mod_cgid is started as root, the cgi daemon now switches
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync to the configured User/Group (like other httpd processes)
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync instead of continuing as root. [Jeff Trawick]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) The prefork MPM now uses an APR lock for the accept() mutex.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync It has not been getting a lock at all recently. httpd -V now
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync displays APR's selection of the lock mechanism instead of the
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync symbols previously respected by prefork. [Jeff Trawick]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Change the mmap() feature test to check only for existence.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync The previous check required features not used by Apache.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Greg Ames]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Fix a couple of bugs in mod_cgid: The cgi arguments were
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync sometimes mangled. The len parm to accept() was not
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync initialized, leading sometimes to an endless loop of failed
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync accept() calls on OS/390 and anywhere else that failed the call
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync if the len was negative. Use <sys/un.h> for struct sockaddr_un
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync instead of declaring it ourselves to fix a compilation problem
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync on Solaris. [Jeff Trawick]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Add Resource limiting code back into Apache 2.0. [Ryan Bloom]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Fix zombie process problem with mod_cgi. [Jeff Trawick]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Port mod_mmap_static to 2.0. Make it go faster. [Greg Ames]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Fix storage overlay when loading dsos. Symptom: Apache dies at
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync initialization if ALLOC_DEBUG is defined; no known symptom
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync otherwise. [Jeff Trawick]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Fix typo in configure script when checking for mod_so. bash
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync doesn't seem to have a problem but /bin/sh on Solaris does.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync Symptom: "./configure: test: unknown operator =="
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Jeff Trawick]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Rebind the Win32 NT and 9x services control into the MPM.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync All console, WinNT SCM and Win9x pseudo-service control code is
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync now wrapped within the WinNT MPM.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [William Rowe]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Make a copy of getenv("PATH") before storing for later use. Some
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync getenv() implementations use the same storage for successive calls.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync CGIs on OS/390 had a bad PATH due to this. [Jeff Trawick]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Server Tokens work in 2.0 again. This also propogates the change
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync to allow just the product name in the server string using
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync PRODUCT_ONLY.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Ryan Bloom]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsyncChanges with Apache 2.0a4
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) EBCDIC: Rearrange calls to ap_checkconv() so that most handlers
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync won't need to call it. [Greg Ames, Jeff Trawick]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Move pre_config hook call to between configuration read and config
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync tree walk. This allows all modules to implement pre_config hooks
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync and know that they will be called at an appropriate time.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Ryan Bloom]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) mod_cgi, mod_cgid: Make ScriptLog directive work again.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Jeff Trawick]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Add pre-config hooks back to all modules.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Ryan Bloom]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Fix a SIGSEGV in ap_md5digest(), which is used when you have
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync ContentDigest enabled and we can't/don't mmap the file.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Jeff Trawick]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) We now report the correct line number for syntax errors in config
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync files. [Ryan Bloom, Greg Stein, Jeff Trawick]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Brought mod_auth_digest up to synch with 1.3, fixed ap_time_t-
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync related bugs, and changed shmem/locking to use apr API. Shared-mem
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync is currently disabled, however, because of problems with graceful
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync restarts. [Ronald Tschal�r]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Fix corruption of IFS variable in --with-module= handling.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync Depending on the user's shell or customization thereof, there
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync would be errors generating ap_config_auto.h later in the configure
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync procedure. [Jeff Trawick]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) mod_cgi: Restore logging of stderr from child process when ScriptLog
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync isn't used (as in 1.3), except that on Unix it is now logged via
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync ap_log_rerror() instead of by the child having STDERR_FILENO refer
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync to the error log. [Greg Ames, Jeff Trawick]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Add '-D' argument processing for run time configuration defines.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [William Rowe]
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync *) Organize http_main.c as independent code, such that no code or
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync global data is exported from it. WIN32 will dynamically link it
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync to the server core, so this will prevent mutual dependency.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [William Rowe]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Add separate dynamic linkage tags APR_EXPORT(), APR_EXPORT_NONSTD()
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync and APR_VAR_EXPORT to correctly resolve apr functions and globals.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [William Rowe]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Add Win9x service execution and Ctrl+C/Ctrl+Break/Shutdown handlers.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [William Rowe, Jan Just Keijser <KEIJSERJJ@logica.com>]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Add mod_charset_lite for configuring character set translation.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Jeff Trawick]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Add '-n' option to htpasswd to make it print its user:pw record
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync on stdout rather than having to frob a text file. [Ken Coar]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Fix saferead. Basically, we flush the output buffer if a read on the
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync input will block.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Ryan Bloom]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) APR: Add ap_xlate_get_sb() so that an app can find out whether or not
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync a conversion is single-byte only. [Jeff Trawick]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) BEOS: ap_shutdown should return APR_SUCCESS or errno. Note that
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync the BeOS 5.0 documentation says that shutdown doesn't work yet.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Roy Fielding]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Fix some minor errors where pid was being manipulated as an int
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync instead of the portable pid_t. [Roy Fielding]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Fix some error log prints that were printing the pointer to a
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync structure rather than the pid within the structure.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Jeff Trawick, Roy Fielding]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) ab: Fix a command-line processing bug; track bad headers in
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync err_response; support reading headers up to 2K.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Ask Bjoern Hansen <ask@valueclick.com>]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Fix ap_resolve_env() so that it handles new function added in a prior
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync alpha (see "Added the capability to do ${ENVVAR} constructs in the
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync config file.") as well as the constructs used by mod_rewrite.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Paul Reder <rederpj@raleigh.ibm.com>]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Apache 2.0 builds and runs on OS/390. [Jeff Trawick, Greg Ames]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Change the EBCDIC support in functions for MD5, SHA1, and base 64 to use
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync APR to perform translation, instead of accessing the hard-coded tables
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync in 1.3's ebcdic.c. [Jeff Trawick]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Fix some bugs (mostly lost 1.3 code) in ab's command-line processing.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Jeff Trawick]
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync *) Add the ability to hook into the config file reading phase. Basically
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync if a directive is specified EXEC_ON_READ, then when that directive is
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync read from the config file, the assocaited function is executed. This
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync should only be used for those directives that must muck with HOW the
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync server INTERPRETS the config. This should not be used for directives
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync that re-order or replace items in the config tree. Those changes should
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync be made in the pre-config step.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Ryan Bloom]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Add mod_example to the build system.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Tony Finch]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) APR: Add ap_xlate_conv_byte() to convert one char between single-
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync byte character sets. [Jeff Trawick]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Pick up various EBCDIC fixes from 1.3 (from Martin
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync Kraemer and Oliver Reh originally according to the change log).
9e7e0b61d29309a0ed7af9472c8d6d865f9e8a2dvboxsync [Jeff Trawick]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Fix a couple of problems in RFC1413 support (controlled by the
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync IdentityCheck directive). Apache did not build the request string
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync properly and more importantly Apache would loop forever if the
9e7e0b61d29309a0ed7af9472c8d6d865f9e8a2dvboxsync would-be ident server dropped the connection before sending a
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync properly terminated response. [Jeff Trawick]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) apxs works in 2.0.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Ryan Bloom]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Reliable piped logs work in 2.0.
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync [Ryan Bloom]
ecf100db90e8e3af96312908282d3c20e754fbe8vboxsync *) Introduce a hash table implementation into APR to be used for
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync replacing tables and other random data structures in Apache.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Tony Finch]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Add some more error reporting to htpasswd in the case of problems
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync generating or accessing the temporary file. Also, pass in a
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync buffer if the implementation knows how to use it (i.e., if L_tmpnam
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync is defined). [Ken Coar]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Configure creates config.nice now containing your configure
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync options. Syntax: ./config.nice [--more-options]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Sascha Schumann]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix various return code problems in APR on Win32. For most of
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync these, APR was returning APR_EEXIST instead of GetLastError()/
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync WSAGetLastError(). [Jeff Trawick]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) Make piped logs work again in version 2.0
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync [Ryan Bloom]
d8e12fa5dd1c35282b98cb165e42b6b395cf971bvboxsync *) Add VPATH support to UNIX build system of Apache and APR.
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync [Sascha Schumann]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Fix ap_tokenize_to_argv to respect the const arguments that are
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync passed to it.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Ryan Bloom]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) Fix mm's memcpy/memset macros, pointer arithmetic was broken.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync Patch submitted to author.
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync [Sascha Schumann]
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync *) Fix mm configuration on Solaris 8 x86 and OS/390. Don't require
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync /sbin in PATH on FreeBSD (all submitted to rse previously)
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync [Jeff Trawick]
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync *) Fix building Pthread-based MPMs on OpenBSD
d8e12fa5dd1c35282b98cb165e42b6b395cf971bvboxsync [Sascha Schumann] PR#26
d8e12fa5dd1c35282b98cb165e42b6b395cf971bvboxsync *) Fix ap_readdir() problem on systems where d_name[] field in
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync struct dirent is declared with only one byte. (This problem only
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync affected multithreaded builds.) This caused a segfault during
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync pool cleanup with mod_autoindex on Solaris (Solaris 8 x86, at
3fb3de312d1ff675e0f7cc62a7d46cbb1d5d9353vboxsync least). [Jeff Trawick]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix some make-portability problems on at least Tru64, Irix
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync and UnixWare.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Sascha Schumann] PR#18, PR#39
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Add ap_sigwait() to support old-style sigwait() on systems
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync like OS/390 and UnixWare.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Sascha Schumann]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) Add POSIX-thread flags for more platforms.
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [Sascha Schumann]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) Fix some minor bugs in ap_strerror(). Teach ap_strerror()
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync (on Unix, at least) to handle resolver errors. Fix a bug in
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync the definition of APR_ENOMEM so that ap_strerror() can spit
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync out the correct error message for it.
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [Jeff Trawick]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsyncChanges with Apache 2.0a3
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) mod_so reports ap_os_dso_error() if ap_dso_load() fails
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Doug MacEachern]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) API: *HOOK* macros now have an AP_ prefix
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [Doug MacEachern]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) Win32: Eliminate redundant calls to initialize winsock.
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [Tim Costello <timcostello@ozemail.com.au>]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) Fix bugs initializing ungetchar for pipes.
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [Chia-liang Kao <clkao@CirX.ORG>]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) The ab program in the src/support directory is now portable using
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [Ryan Bloom]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) Support directory is being compiled when the server is built
c99b597540585068d22dde4c9f74730305f24097vboxsync [Ryan Bloom]
c99b597540585068d22dde4c9f74730305f24097vboxsync *) The configure option --with-program-name has been added to allow
c99b597540585068d22dde4c9f74730305f24097vboxsync developers to rename the executable at configure time. This also
c99b597540585068d22dde4c9f74730305f24097vboxsync changes the name of the config files to match the executable's name.
c99b597540585068d22dde4c9f74730305f24097vboxsync [Ryan Bloom]
c99b597540585068d22dde4c9f74730305f24097vboxsync *) mod_autoindex: Add `IndexOptions +VersionSort', to nicely sort filenames
c99b597540585068d22dde4c9f74730305f24097vboxsync containing version numbers. [Martin Pool]
c99b597540585068d22dde4c9f74730305f24097vboxsync *) ap_open(..,APR_OS_DEFAULT,..) uses perms 0666 instead of 0777 on
c99b597540585068d22dde4c9f74730305f24097vboxsync Unix; access_log and error_log now created with these perms; non-
c99b597540585068d22dde4c9f74730305f24097vboxsync Unix is unaffected [Jeff Trawick]
c99b597540585068d22dde4c9f74730305f24097vboxsync *) Finished move of ap_md5 routines to apr_md5. Removed ap_md5.h.
c99b597540585068d22dde4c9f74730305f24097vboxsync Replaced more magic numbers with MD5_DIGESTSIZE.
c99b597540585068d22dde4c9f74730305f24097vboxsync [William Rowe, Roy Fielding]
c99b597540585068d22dde4c9f74730305f24097vboxsync *) Win32: Get mod_auth_digest compiling and added to the Windows
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync build environment. Not tested and I'd be suprised if it
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync actually works. [Bill Stoddard]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Revamp the Win32 make environment. Makefiles have been removed and
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync Apache.dsw created to bring together all the pieces. Create new file
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync os/win32/BaseAddr.ref to define module base addresses (to prevent
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync dll relocation at start-up).
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [William Rowe, Greg Marr, Tim Costello, Bill Stoddard]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) [EBCDIC] Port Paul Gilmartin's CRLF patch from 1.3. This replaces most
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync of the \015, \012, and \015\012 constants with macros.
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [Greg Ames <gregames@us.ibm.com>]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Add ap_xlate_open() et al for translation of text between different
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync character sets. The initial implementation requires iconv().
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [Jeff Trawick]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) More FAQs and answers from comp.infosystems.www.servers.unix.
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [Joshua Slive <slive@finance.commerce.ubc.ca>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) CGI output is being timed out now.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ryan Bloom]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) Fix the problem with dieing quietly. dupfile now takes a pool which
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync is used by the new apr file. There is no reason to create a new file
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync with the same lifetime as the original file.
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [Ryan Bloom]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) Win32: Attempt to eliminate dll relocation at start-up by specifying
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync module base addresses. This will help shooting seg faults
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync in the field. [William Rowe <wrowe@lnd.com>]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) Update Apache on Windows documentation. Add new document
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync describing how to compile Apache on Windows.
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync [William Rowe <wrowe@lnd.com>]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) ap_set_pipe_timeout(), ap_poll(), and APR_SO_TIMEOUT now take
c99b597540585068d22dde4c9f74730305f24097vboxsync microseconds instead of seconds. Some storage leaks and other
c99b597540585068d22dde4c9f74730305f24097vboxsync minor bugs in related code were fixed. [Jeff Trawick]
02651f98b4320e70a300ba1ebe95270096ebfd4dvboxsync *) Win32: First cut at getting mod_isapi working under 2.0
c99b597540585068d22dde4c9f74730305f24097vboxsync [William Rowe <wrowe@lnd.com>]
c99b597540585068d22dde4c9f74730305f24097vboxsync *) First stab at getting mod_auth_digest working under 2.0
c99b597540585068d22dde4c9f74730305f24097vboxsync quick change summary:
c99b597540585068d22dde4c9f74730305f24097vboxsync - moved the random byte generation (ap_generate_random_bytes) into APR
c99b597540585068d22dde4c9f74730305f24097vboxsync - now uses ap_time_t
c99b597540585068d22dde4c9f74730305f24097vboxsync - compiles and runs on linux
c99b597540585068d22dde4c9f74730305f24097vboxsync - tested with amaya
c99b597540585068d22dde4c9f74730305f24097vboxsync [Brian Martin <bmartin@penguincomputing.com>]
0fd108a555ae02f2fb557d5f2c40281999b60d15vboxsync *) Win32: Move the space stripping of physical service names
c99b597540585068d22dde4c9f74730305f24097vboxsync fix up from Apache 1.3. #include'ing "ap_mpm.h" fixes up an
c99b597540585068d22dde4c9f74730305f24097vboxsync unresolved symbol. Add dependency checking to the
c99b597540585068d22dde4c9f74730305f24097vboxsync CreateService call to ensure TCPIP and AFP (winsock) is started
c99b597540585068d22dde4c9f74730305f24097vboxsync before Apache.
c99b597540585068d22dde4c9f74730305f24097vboxsync [William Rowe <wrowe@lnd.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Win32: Add code to perform latebinding on functions that may
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync not exist on all levels of Windows where Apache runs. This
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync is needed to allow Apache to start-up on Win95/98. All calls
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync to non portable functions should be protected with
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync ap_oslevel checks to prevent runtime segfaults.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [William Rowe <wrowe@lnd.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix fallback default values for SHM_R and SHM_W [Martin Kraemer]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Get lingering_close() working again. [Dean Gaudet, Jeff Trawick]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Win32: Get non-blocking CGI pipe reads working under Windows NT.
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync This addresses PR 1623. Still need to address timing out runaway
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync CGI scripts. [Bill Stoddard]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Win32: Make ap_stat Windows 95/98 friendly
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [William Rowe <wrowe@lnd.com>]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Win32: Fix a bug in ap_get_oslevel which causes GetVersionEx() to
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync always fail. Need to initialise the dwOSVersionInfoSize member of the
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync OSVERSIONINFO struct before calling GetVersionEx, so GetVersionEx
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync always fails.
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync The patch also enhances ap_get_oslevel (and the associated enum) to
5366e994777f9d9391cf809dc77610f57270d75dvboxsync handle selected service packs for NT4, and adds recognition for
5366e994777f9d9391cf809dc77610f57270d75dvboxsync Windows 2000. This is useful, eg. if we can recognise NT4 SP2 then
5366e994777f9d9391cf809dc77610f57270d75dvboxsync we can use ReadFileScatter and WriteFileGather in readwrite.c.
5366e994777f9d9391cf809dc77610f57270d75dvboxsync [Tim Costello <Tim.Costello@BTFinancialgroup.com>]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Get mod_rewrite building and running, and mod_status building for Win NT
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync [Allan Edwards <ake@raleigh.ibm.com>]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Patch to port mod_auth_db to the 2.0 api and also to support
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync Berlekey DB 3.0. It works for me with both Berkeley DB 3.0.55 and
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync 2.7.7. It should work with version 1 as well but I haven't tested it.
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [Brian Martin <bmartin@penguincomputing.com>]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Get APR DSO code working under Windows. Includes cross platform
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync [Tim.Costello@BTFinancialgroup.com]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Fix some of the Windows APR time functions.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [William Rowe]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) FAQ changes related to tidying up historical documents on the web site.
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync [Joshua Slive <slive@finance.commerce.ubc.ca>]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Move Windows DSO code into APR.
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync [Bill Stoddard]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Eliminate apr_win.h and apr_winconfig.h (and the ugly #ifdefs they cause).
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync Now, apr.h and apr_config.h are generated from apr.hw and apr_config.hw
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync at build time. At this point, the server will not compile on Windows because
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync of the recent DSO commits. Fixing those next.
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync [Bill Rowe & Bill Stoddard]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) Added error checking for file I/O APR routines.
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync [Jon Travis <jtravis@covalent.net>]
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync *) APR: Don't use the values of resolver error codes for the
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync corresponding APR error codes. On Unix and Win32, return the
35e6d303696e46d969aaf9a59cc381333a483b0bvboxsync proper APR error code after a resolver error. [Jeff Trawick]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsyncChanges with Apache 2.0a2
3641904508e6a0671c21a083a2ed03ebad8d976cvboxsync *) Renamed the executable back to httpd on all platforms other
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Allow BeOS to survive restarts, log properly and a few
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync small things it had problems with due to the way it setup
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync users and groups. [David Reid]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Get mod_rewrite working with APR locks
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Paul Reder <rederpj@raleigh.ibm.com>]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Actually remove the sempahore when the lock cleanup routine
36f3c24e4ad9c6b813767db1faeabbe7e2ecc057vboxsync is called on BeOS. [David Reid]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Clear hook registrations between reads of the config file.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync When DSOs are unloaded and re-loaded the old hook pointers may
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync no longer be valid. This fix eliminates potential segfaults.
36f3c24e4ad9c6b813767db1faeabbe7e2ecc057vboxsync [Allan Edwards <ake@raleigh.ibm.com>]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Fix a problem with Sigfunc not being defined or bypassed
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync if sigaction() wasn't found. [Jim Jagielski]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Fix the locking mechanism on BSD variants. They now use fcntl
36f3c24e4ad9c6b813767db1faeabbe7e2ecc057vboxsync locks. This allows the server to start and serve pages.
ca3db470494a8b6eaec69ea37468a5cda65e2da8vboxsync [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) First cut at getting the Win32 installer to work
36f3c24e4ad9c6b813767db1faeabbe7e2ecc057vboxsync [William Rowe <wrowe@lnd.com>]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Get htpasswd compiling under Windows
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync [William Rowe <wrowe@lnd.com>]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Change the log message for a bind() failure to show the
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync interface and port number. [Jeff Trawick]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Import the documentation from 1.3.12 and bring parts of it
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync up-to-date with respect to the changes that have occurred
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Tony Finch]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) BeOS MPM updated. CGI bug on BeOS fixed. IP addresses
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync now logged correctly on BeOS.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [David Reid]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Create one makefile for all Win32 distributions (NT/2000/95/98).
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync Makefile.win includes the same user interface as the old
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [William Rowe <wrowe@lnd.com>, Jeff Trawick <trawick@us.ibm.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Win32 exec now uses COMSPEC environment string for command
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync shell path resolution.
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync [William Rowe <wrowe@lnd.com>] PR#3715
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync *) Win32: ap_connect() was not returning correct error condition
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync [Allen Prescott <allen@clanprescott.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Win32: ap_open() was broken on Win9x because an NT-specific
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync flag was passed to CreateFile. ap_puts() added an unnecessary
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync [Jeff Trawick <trawick@us.ibm.com>]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Put in Korean and Norwegian index.html pages (2.0 and 1.3)
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync which where donated by Lee Kuk Hyun and Lorant Czaran. 'Fixed'
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync confusing ee/et name and made all extensions language/dialect
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync rather than country reflecting. Changed example files to
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync explicit reflect the ISO charset and added a few common
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync ones to the example config [dirkx]
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync *) Extend external module capability. To use this, you call
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync configure with --with-module=path/to/mod1,path/to/mod2,etc.
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Backported the various "default charset" fixes from 1.3.12,
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync including the AddDefaultCharset directive. [Jim Jagielski]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Added the capability to do ${ENVVAR} constructs in the
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync config file. E.g. 'ServerAdmin ${POSTMASTER}'. As commited
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync it does this on a line by line basis; i.e. if the envvar
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync expands to something with spaces you have to protect it
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync by adding quotes around it (Unless of course you expect it
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync to contains more than one argument. Alternatively you
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync can compile it on a per token basis; which is what people
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync usually expect by setting RESOLVE_ENV_PER_TOKEN. But this
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync hampers fancier hacks.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Dirk-Willem van Gulik]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Changed the 'ErrorDocument' syntax in that it NO longer
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync supports the asymetric
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync ErrorDocument 301 "Some message
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync Note the opening " quote, without a closing quote. It now
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync has either the following syntaxes
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync ErrorDocument XXX /local/uri
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync ErrorDocument XXX http://valid/url
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync ErrorDocument XXX "Some Message"
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync The recognition heuristic is: if it has a space it
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync is a message. If it has no spaces and starts with a /
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync or is a valid URL then treat it that way. Otherwise it
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync is assumed to be a message.
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync This breaks backward compatibility but makes live a hell
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync of a lot easier for GUI's and config file parsers.
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync [Dirk-Willem van Gulik]
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync *) Changed 'CacheNegotiatedDocs' from its present/not-present
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync syntax into a 'on' or 'off' syntax. As it currently is the
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync only non nesting token which uses NO_ARGS and thus is an
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync absolute pain for any config interface automation. This
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync breaks backward compatibility. [Dirk-Willem van Gulik]
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync *) Add ability to add external modules to the build process. This is
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync done with --with-module=/path/to/module. Modules can only be added
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync as static modules at this point.
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync [Ryan Bloom]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsyncChanges with Apache 2.0a1
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync *) Fix FreeBSD 3.3 core dump.
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync Basically, ap_initialize() needs to get called before
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync create_process(), since create_process() passes op_on structure
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync to semop() to get a lock, but op_on isn't initialized until
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync ap_initialize() calls setup_lock(). Here is a slight
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync rearrangement to main() which calls ap_initialize() earlier...
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Jeff Trawick <trawick@us.ibm.com>]
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync *) Enable Apache to use sendfile/TransmitFile API
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync [Bill Stoddard, David Reid, Paul Reder]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Re-Implement Win32 APR network I/O APIs and most of the file I/O
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync [Bill Stoddard]
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync *) Make file I/O and network I/O writev/sendv APIs consistent.
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync Eliminate use of ap_iovec_t and use Posix struct iovec.
8bc8d66f188d5357155b8340e2d489573be2b607vboxsync Use seperate variable on ap_writev to set the number of iovecs
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync passed in and number of bytes written.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Bill Stoddard]
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync *) Adapt file iol to use APR functions. Replaced ap_open_file()
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync with ap_create_file_iol(). ap_create_file_iol() requires that
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync the file be opened prior to the call using ap_open().
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Bill Stoddard]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Port mod_include and mod_cgi to 2.0
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync [Paul Reder, Bill Stoddard]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) ap_send{,v}, ap_recv, ap_sendfile API clarification --
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync bytes_read/bytes_written is always valid (never -1). Plus
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync some fixes to buff.c to correct problems introduced by the
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync errno => ap_status_t changes a while back. Plus a fix to
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync chunked encoding introduced right at the beginning of 2.0.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Dean Gaudet]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) Revamped UNIX build system to use autoconf and libtool.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Manoj Kasichainula, Sascha Schumann]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) port mod_rewrite to 2.0. [Paul J. Reder <rederpj@raleigh.ibm.com>]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) More rigorous checking of Host: headers to fix security problems
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync with mass name-based virtual hosting (whether using mod_rewrite
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync or mod_vhost_alias).
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [Ben Hyde, Tony Finch]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) Add back support for UseCanonicalName in <Directory> containers.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Manoj Kasichainula]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Added APLOG_STARTUP log type. This allows us to write an error
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync message without any of the date and time information. As a part
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync of this change, I also removed all of the calls to fprintf(stderr
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync and replaced them with calls to ap_log_error using APLOG_STARTUP
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync writing to stderr is no longer portable, because we don't direct
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync stderr to the error log on all platforms.
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [Ryan Bloom]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) Convert error logging functions to take errno as an argument.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync This makes our error logs more portable, because some Windows API's
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync don't set errno. This change allows us to still output a valid
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync message on all of our platforms.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ryan Bloom]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) mod_mime_magic runs in 2.0-dev now.
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [Paul Reder <rederpj@raleigh.ibm.com>]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) sendfile has been added to APR.
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [John Zedlewski <zedlwski@Princeton.EDU>]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) buff.c has been converted to no longer use errno.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Manoj Kasichainula]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) mod_speling runs in 2.0-dev now: a bug in readdir_r handling and
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync interface adaption to APR functions did it. [Martin Kraemer]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) Support DSOs properly on 32-bit HP-UX 11.0
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [Dilip Khandekar <dilip@cup.hp.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Updated MM in APR source tree from version 1.0.8 to 1.0.11
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ralf S. Engelschall]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Cleaned APR build environment integration and bootstrap APR
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync automatically for developers from src/Configure.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ralf S. Engelschall]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Fixed building of src/support/htpasswd.c
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync [Ralf S. Engelschall]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) When generating the Location: header, mod_speling forgot
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync to escape the spelling-fixed uri. (Forw-Port from 1.3)
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Martin Kraemer]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Moved mod_auth_digest.c from experimental to standard. [Roy Fielding]
06ea6bcf23874b662d499b3f130024c98b2dd7a6vboxsync *) Change all pools to APR contexts. This is the first step to
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync incorporating APR into Apache. [Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Move "handler not found" warning message to below the check
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync for a wildcard handler. [Dirk <dirkm@teleport.com>, Roy Fielding]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync PR#2584, PR#2751, PR#3349, PR#3436, PR#3548, PR#4384, PR#4795, PR#4807
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Support line-continuation feature in config.option file and
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync allow the loading of multiple option sections at once via
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync ``--with-option=<section1>,<section2>,...''
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ralf S. Engelschall]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Rebuilt CVS repository with Apache 1.3.9 as basis. [Roy Fielding]
06ea6bcf23874b662d499b3f130024c98b2dd7a6vboxsyncChanges with Apache MPM
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Use asynchronous AcceptEx() and a completion port to accept and
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync dispatch connections to threads in Windows NT/2000.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Bill Stoddard]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Implement WINNT Win32 MPM from original Win32 code in http_main.c
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Bill Stoddard]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Implement the APACI --with-option facility
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync (per default used the config.option file).
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ralf S. Engelschall]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) MPM BEOS port. [David Reid <abb37@dial.pipex.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Start to implement module-defined hooks that are a) fast and b) typesafe.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync Replace pre_connection module call with a register_hook call and
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync implement pre_connection as a hook. The intent is that these hooks will
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync be extended to allow Apache to be multi-protocol, and also to allow the
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync calling order to be specified on a per-hook/per-module basis.
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync [Ben Laurie]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Implement mpm_* methods as "modules". Each method gets its own
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync subdir in src/modules (eg: src/modules/prefork). Selection
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync of method uses Rule MPM_METHOD. [Jim Jagielski]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Port the hybrid server from the apache-apr repository as
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync mpm_mpmt_pthread. [Manoj Kasichainula]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) os/unix/unixd.[ch]: detach, setuid, setgid, stuff which will be common
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync amongst the unix MPMs.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) mpm_prefork: throw away all the alarm/timeout crud; and clean up the
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync signal handling for the new world order. [Dean Gaudet]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Crude ap_thread_mutex abstraction so that we get the pthread stuff out
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync of alloc.c for now. [Dean Gaudet]
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync *) Handle partial large writes correctly. [Ben Laurie]
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync *) Eliminate conn_rec's pointer to server. All it knows is the base server
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync based on IP/port. [Ben Laurie]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Port a bunch of modules to the new module structure.
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync ["Michael H. Voase" <mvoase@midcoast.com.au>]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) I/O layering and BUFF revamp. See docs/buff.txt. [Dean Gaudet]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Basic restructuring to introduce the MPM concept; includes various
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync changes to the module API... better described by
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsyncChanges with Apache pthreads
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) New buff option added: BO_TIMEOUT. It describes the timeout for
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync buff operations (generally over a network).
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync [Dean Gaudet, Ryan Bloom, Manoj Kasichainula]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Created http_accept abstraction. Added 4 new functions (not exported):
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync init_accept(), begin_accepting_requests(), get_request(),
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync stop_accepting_requests() [Bill Stoddard]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Fix to ap_rprintf call that allows mod_info to work properly.
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync [James Morris <jmorris@intercode.com.au>]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) user and ap_auth_type fields were moved from connection_rec to
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync request_rec. [Ryan Bloom]
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync *) Removed the ap_block_alarms and ap_unblock_alarm calls. These aren't
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync needed in a threaded server.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Initial pthread implementation from from Dean's apache-nspr code.
06ea6bcf23874b662d499b3f130024c98b2dd7a6vboxsync [Bill Stoddard, Ryan Bloom]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsyncChanges with Apache 1.3.9
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Remove bogus error message when a redirect doesn't set Location.
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync Instead, use an empty string to avoid coredump if the error message
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync was supposed to include a location. [Roy Fielding]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Don't allow configure to include mod_auth_digest unless it is
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync explicitly requested, even if the user asked for all modules.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Roy Fielding]
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync *) Translate module names to dll names for OS/2 so that they are no more
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync than 8 characters long and have an extension of "dll" instead of "so".
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync [Brian Havard]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Print out pointer to Rule DEV_RANDOM when truerand lib not found.
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync Fix test-compile check to check for randbyte instead of trand32.
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync Use ap_base64encode_binary/decode instead of copy in mod_auth_digest.c
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync and tweak to make Amaya happier. [Ronald Tschal�r]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Ensure that the installed expat include files are world readable,
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync just like the other header files. [Martin Kraemer]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fixed generated AddModule adjustments in APACI's `configure' script
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync in order to allow (new) modules like mod_vhost_alias to be handled
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync correctly (which was touched by the adjustments for mod_alias).
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync [Ralf S. Engelschall]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) For binary builds, add -R flag to apachectl to work around the lack of
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync an absolute path to the ./libexec directory where the libhttp.ep file
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync is needed for SHARED_CORE architectures. [Randy Terbush]
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync *) WIN32: Create the CGI script process as DETACHED. This may solve the
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync problem observed by some Win95/98 users where they get CGI script
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync output sent to the console. [Bill Stoddard]
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync *) Fix (re)naming in the uuencode/decode section. The ap/ap_
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync routines are now called ap_base64* and are 'plain' (i.e., no
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync pool access or anything clever). Inside util.c the routines acting
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync like pstrdup are called ap_pbase64encode() and ap_pbase64decode().
92e624e40b06b4dc6d0a8222e1de33bd3e879a63vboxsync The oddly named ap_uuencode(), ap_uudecode() are kept around for
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync now but deprecated. [dirkx]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Clean up the base64 and SHA1 additions and make sure they are
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync represented in the ApacheCore.def, ApacheCoreOS2.def, and httpd.exp
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync files. [Roy Fielding]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) WIN32: Migrate to InstallShield 5.5 and provide a bit more error
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync checking. Allow compiling on VS 6.0. [Randy Terbush]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fixed assumption of absolute paths in binbuild.sh. [Tony Finch]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Use TestCompile to search for the truerand library (rather than blindly
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync assuming its existence). If it is not found, complain (but do not
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync exit - yet). [Martin Kraemer]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) We forgot to add the new exported function names to
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync src/support/httpd.exp. [Bill Stoddard, Randy Terbush]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Add description of -T command-line option to usage().
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync [Ralf S. Engelschall]
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync *) For "some" platforms (notably, EBCDIC based ones), libos needs to be
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync searched only AFTER libap has been searched, because libap needs
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync some symbols from libos. [Martin Kraemer]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix conflict with original mod_digest related to the symbol of the
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync module dispatch list (which has to be unique for DSO and follow the
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync usual conventions for the installation procedure).
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ralf S. Engelschall]
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync *) Add a dbm-library check for the "usual places" (-ldbm, -lndbm, -ldb)
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync for other platforms as well. [Martin Kraemer]
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync *) Make ap_sha1.c compile for EBCDIC platforms: replace remaining LONG
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync types by AP_LONG and replace reference to renamed variable 'ubuf'
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync by 'buffer'. [Martin Kraemer]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsyncChanges with Apache 1.3.8 [not released]
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync *) Flush the output buffer immediately after sending an error or redirect
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync response, since the result may be needed by the client to abort a
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync long data transfer or restart a series of pipelined requests.
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync [Tom Vaughan <tvaughan@aventail.com>, Roy Fielding]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) PORT: Improved compilation and DSO support on Sequent DYNIX/ptx.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ian Turner <iant@sequent.com>] PR#4735
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Local struct mmap in http_core.c conflicted with system structure
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync name on DYNIX -- changed to mmap_rec. [Roy Fielding] PR#4735
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Added updated mod_digest as modules/experimental/mod_auth_digest.
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync [Ronald Tschal�r <ronald@innovation.ch>]
58c0567dee3cc3ebe62dec1e27f8e35bac4ddeb0vboxsync *) Fix a memory leak where the module counts were getting messed
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync up across restarts. [David Harris <dharris@drh.net>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) CIDR addresses such as a.b.c.d/24 where d != 0 weren't handled
36f3c24e4ad9c6b813767db1faeabbe7e2ecc057vboxsync properly in mod_access.
9e17ca2e9d797e845e3284141dd4086a4b817ae5vboxsync ["Paul J. Reder" <rederpj@raleigh.ibm.com>] PR#4770
9e17ca2e9d797e845e3284141dd4086a4b817ae5vboxsync *) RewriteLock/RewriteMap didn't work properly with virtual hosts.
9e17ca2e9d797e845e3284141dd4086a4b817ae5vboxsync [Dmitry Khrustalev <dima@bog.msu.su>] PR#3874
9e17ca2e9d797e845e3284141dd4086a4b817ae5vboxsync *) PORT: Support for compaq/tandem/com.
9e17ca2e9d797e845e3284141dd4086a4b817ae5vboxsync [Michael Ottati <michael.ottati@compaq.com>, dirkx]
9e17ca2e9d797e845e3284141dd4086a4b817ae5vboxsync *) Added SHA1 password encryption support to easy migration from
9e17ca2e9d797e845e3284141dd4086a4b817ae5vboxsync Netscape servers. See support/SHA1 for more information.
9e17ca2e9d797e845e3284141dd4086a4b817ae5vboxsync Caused the separation of ap_md5.c into md5, sha1 and a general
9e17ca2e9d797e845e3284141dd4086a4b817ae5vboxsync ap_checkpass.c with just a validate_passwd routine. Added a
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync couple of flags to support/htpasswd. Some reuse of the to64()
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync function; hence renamed to ap_to64().
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Dirk-Willem van Gulik, Clinton Wong <clintdw@netcom.com>]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Change for EBCDIC platforms (TPF and BS2000) to correctly deal
9e17ca2e9d797e845e3284141dd4086a4b817ae5vboxsync with ASCII/EBCDIC conversions in "ident" query.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [David McCreedy <McCreedy@us.ibm.com>]
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync *) Get rid of redefinition warning on MAC_OS_X_SERVER platform.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync Change "Power Macintosh" to Power* so if uname prints "Power Book"
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync we're still happy on Rhapsody platforms. [Wilfredo Sanchez]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Fix SIGSEGV on some systems because the Vary fix below included
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync a call to table_do with a variable argument list that was not
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync NULL terminated. Replaced with better implementation. [Roy Fielding]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsyncChanges with Apache 1.3.7 [not released]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) The "Vary" response header field is now sanitised right before
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync the header is sent back to the client. Multiple "Vary" fields
9e17ca2e9d797e845e3284141dd4086a4b817ae5vboxsync are combined, and duplicate tokens (e.g., "Vary: host, host" or
9e17ca2e9d797e845e3284141dd4086a4b817ae5vboxsync "Vary: host, negotiate, host, accept-language") are reduced to
9e17ca2e9d797e845e3284141dd4086a4b817ae5vboxsync single instances. This is a better solution than the force-no-vary
06ea6bcf23874b662d499b3f130024c98b2dd7a6vboxsync one (which is still valid for clients that can't cope with Vary
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync at all). PR#3118 [Dean Gaudet, Roy Fielding, Ken Coar]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Portability changes for BeOS. [David Reid abb37@dial.pipex.com]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Link DSO's with "gcc -shared" instead of "ld -Bshareable" at
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync least on Linux and FreeBSD for now.
5366e994777f9d9391cf809dc77610f57270d75dvboxsync [Rasmus Lerdorf]
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) Win32: More apache -k restart work. Restarts are now honored
5366e994777f9d9391cf809dc77610f57270d75dvboxsync immediately and connections in the listen queue are -not- lost.
5366e994777f9d9391cf809dc77610f57270d75dvboxsync This is made possible by the use of the WSADuplicateSocket()
5366e994777f9d9391cf809dc77610f57270d75dvboxsync call. The listeners are opened in the parent, duplicated, then
5366e994777f9d9391cf809dc77610f57270d75dvboxsync the duplicates are passed to the child. The original listen sockets
5366e994777f9d9391cf809dc77610f57270d75dvboxsync are not closed by the parent across a restart, thus the listen queue
5366e994777f9d9391cf809dc77610f57270d75dvboxsync is preserved.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Bill Stoddard <stoddard@raleigh.ibm.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix handling of case when a client has sent "Expect: 100-continue"
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync and we are going to respond with an error, but get stuck waiting to
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync discard the body in the pointless hope of preserving the connection.
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Roy Fielding, Joe Orton <jeo101@york.ac.uk>] PR#4499, PR#3806
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) Fix 'configure' to work correctly with SysV-based versions of
5366e994777f9d9391cf809dc77610f57270d75dvboxsync 'tr' (consistent with Configure's use as well). [Jim Jagielski]
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) apxs: Add "-S var=val" option which allows for override of CFG_*
5366e994777f9d9391cf809dc77610f57270d75dvboxsync built-in values. Add "-e" option which works like -i but doesn't
5366e994777f9d9391cf809dc77610f57270d75dvboxsync install the DSO; useful for editing httpd.conf with apxs. Fix
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync editing code so that multiple invocations of apxs -a will not
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync create duplicate LoadModule/AddModule entries; apxs can now be
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync used to re- enable/disable a module. [Wilfredo Sanchez]
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Win32: Update the server to use Winsock 2. Specifically, link with
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync ws2_32.lib rather than wsock32.lib. This gives us access to
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync WSADuplcateSocket() in addition to some other enhanced comm APIs.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync Win 95 users may need to update their TCP/IP stack to pick up
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync Winsock 2. (See http://www.microsoft.com/windows95/downloads/)
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Bill Stoddard stoddard@raleigh.ibm.com]
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) Win32: Redirect CGI script stderr (script debug info) into the
5366e994777f9d9391cf809dc77610f57270d75dvboxsync error.log when CGI scripts fail. This makes Apache on Win32
5366e994777f9d9391cf809dc77610f57270d75dvboxsync behave more like Unix.
5366e994777f9d9391cf809dc77610f57270d75dvboxsync [Bill Stoddard stoddard@raleigh.ibm.com]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Fixed `httpd' usage display: -D was missing.
5366e994777f9d9391cf809dc77610f57270d75dvboxsync [Ralf S. Engelschall] PR#4614
d8e12fa5dd1c35282b98cb165e42b6b395cf971bvboxsync *) Fix `make r' test procedure in src/regex/: ap_isprint was not found.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ralf S. Engelschall] PR#4561, PR#4562
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) OS/2: Fix problem with accept lock semaphores where server would die with
d8e12fa5dd1c35282b98cb165e42b6b395cf971bvboxsync "OS2SEM: Error 105 getting accept lock. Exiting!"
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Brian Havard] PR#4505
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) Add DSO support for DGUX 4.x using gcc. Tested on x86 platforms.
5366e994777f9d9391cf809dc77610f57270d75dvboxsync [Randy Terbush <randy@covalent.net>]
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) Add the new mass-vhost module (mod_vhost_alias.c) developed and
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync used by Demon Internet, Ltd. [Tony Finch <fanf@demon.net>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Better GCC detection for DSO flags under Solaris 2 where the `cc'
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync command potentially _is_ GCC. [Ralf S. Engelschall]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix apxs build issues on AIX
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Rasmus Lerdorf <rasmus@raleigh.ibm.com>]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) DocumentRoot Checking: Under previous versions, when Apache
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync first started up, it used to do a stat of each DocumentRoot to
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync see if it existed and was a directory. If not, then an error
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync message was printed. THIS HAS BEEN DISABLED. If DocumentRoot
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync does not exist, you will get error messages in error_log. If
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync the '-t' command line option is used (to check the configuration)
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync the check of DocumentRoot IS performed. An additional command
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync line option, '-T', has been added if you want to avoid the
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync DocumentRoot check even when checking the configuration.
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [Jim Jagielski]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Win32: The query switch "apache -S" didn't exit after showing the
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync vhost settings. That was inconsistent with the other query functions.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Bill Stoddard - Fixed by Martin on Unix in 1.3.4]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) Win32: Changed behaviour of apache -k restart.
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync Previously, the server would drain all connections in the stack's
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync listen queue before honoring the restart. On a busy server, this
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync could take hours. Now, a restart is honored almost immediately.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync All connections in Apache's queues are handled but connections in
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync the stack's listen queue are discarded. Restart triggered by
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync MaxRequestPerChild is unchanged.
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [Bill Stoddard <stoddard@raleigh.ibm.com>]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Win32: Eliminated unnecessary call to wait_for_multiple_objects in
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync the accept loop. Good for a 5% performance boost. Cleaned up
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync parent/child process management code.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Bill Stoddard <stoddard@raleigh.ibm.com>]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Added ceiling on file size for memory mapped files.
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [John Giannandrea <jg@meer.net>] PR#4122
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Fix ndbm.h include problems with brain-dead glibc >= 2.1 which
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync has ndbm.h in a non-standard db1/ subdir. PR#4431, PR#4528
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync [Henri Gomez <gomez@slib.fr>, Ralf S. Engelschall]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) Determine AP_BYTE_ORDER for ap_config_auto.h and already
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync use this at least for Expat. [Ralf S. Engelschall]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) Allow .module files to specify libraries with Lib:.
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync [Ben Laurie]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) Allow SetEnvIf[NoCase] to test environment variables as well
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync as header fields and request attributes. [Ken Coar]
4121d226ac899f17e13aff3aff42b603c8b5c1fevboxsync *) Fix mod_autoindex's handling of ScanHTMLTitles when file
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync content-types are "text/html;parameters". PR#4524 [Ken Coar]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Remove "mxb" support from mod_negotiation -- it was a draft feature
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync never accepted into any standard, and it opens up certain DoS
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync attacks. [Koen Holtman <Koen.Holtman@cern.ch>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) TestCompile updated. We can now run programs and output the
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync results during the Configure process. [ Jim Jagielski]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) The source is now quad (long long) aware as needed. Specifically,
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync the Configure process determines the correct size of off_t and
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync *void. When the OS/platform/compiler supports quads, ap_snprintf()
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync provides for the 'q' format qualifier (if quads are not available,
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync 'q' is silently "demoted" to long). [Jim Jagielski]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) When the username or password fed to htpasswd is too long, include the
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync size limit in the error message. Also report illegal characters
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync (currently only ':') in the username. Add the size restrictions
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync to the man page. [Ken Coar]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Fixed the configure --without-support option so it doesn't result in
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync an infinite loop. [Marc Slemko]
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync *) Piped error logs could cause a segfault if an error occured
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync during configuration after a restart.
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync [Aidan Cully <aidan@panix.com>] PR#4456
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) If a "Location" field was stored in r->err_headers_out rather
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync than r->headers_out, redirect processing wouldn't find it and
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync the server would core dump on ap_escape_html(NULL). Check both
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync tables and raise HTTP_INTERNAL_SERVER_ERROR with a log message
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync if Location isn't set. [Doug MacEachern, Ken Coar]
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync *) Add RULE_EXPAT, the src/lib/ directory structure, and a modified copy
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync of the Expat 1.0.2 distribution. [Greg Stein]
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync *) Replace regexec() calls with calls to a new API stub function
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync ap_regexec(). This solves problems with DSO modules which use the regex
e378dfdadd62aadc0a012c9953322d979d7606e6vboxsync library. [Jens-Uwe Mager <jum@helios.de>, Ralf S. Engelschall]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Add 'Request_Protocol' special keyword to mod_setenvif so that
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync environment variables can be set according to the protocol version
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync (e.g., HTTP/0.9 or HTTP/1.1) of the request. [Ken Coar]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Add DSO support for OpenStep (Mach 4.2) platform.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ralf S. Engelschall, Rex Dieter <rdieter@math.unl.edu>] PR#3997
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix sed regex for generating ap_config_auto.h in src/Configure.
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync [Jan Gallo <gallo@pvt.sk>] PR#3690, PR#4373
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Switch to /bin/sh5 in APACI on Ultrix and friends to avoid problems with
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync their brain-dead /bin/sh. [Ralf S. Engelschall] PR#4372
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Better DSO flags recognition on NetBSD platforms using ELF.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Todd Vierling <tv@pobox.com>] PR#4310
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Always log months in english format for %t in mod_log_config.
06ea6bcf23874b662d499b3f130024c98b2dd7a6vboxsync [Petr Lampa <lampa@fee.vutbr.cz>] PR#4366, 679
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Support for server-parsed and multiview-determined ReadmeName and
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync HeaderName files in mod_autoindex. Removed the restriction on
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync "/"s in ReadmeName and HeaderName directives since the *sub_req*
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync routines will deal with the access issues. (It's now possible to
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync have {site|group|project|customer|...} wide readmes and headers.)
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Raymond S Brand <rsbx@rsbx.net>, Ken Coar] PR#1574, 3026, 3529,
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) When stat() fails, don't assume anything about the contents of
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync the struct stat. [Ed Korthof <ed@bitmechanic.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) It's OK for a semop to return EINTR, just loop around and try
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync again. [Dean Gaudet]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix configuration engine re-entrant hangups, which solve a
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync handful of problems seen with mod_perl <Perl> configuration sections
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Salvador Ortiz Garcia <sog@msg.com.mx>]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Mac OS and Mac OS X Server now use the appropriate custom layout
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync by default when building with APACI; allow for platform-specific
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync variable defaults in configure. [Wilfredo Sanchez]
5050fc8de0b121eab1b738d7c1007cde4903284dvboxsync *) Do setgid() before initgroups() in http_main; some platforms
cd5df721f068659172f3bf95de8fedeb465f057dvboxsync zap the grouplist when setgid() is called. This was fixed in
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync suexec earlier, but the main httpd code missed the change.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Rob Saccoccio <robs@InfiniteTechnology.com>] PR#2579
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync *) Add recognition of .tgz as a gzipped tarchive.
06ea6bcf23874b662d499b3f130024c98b2dd7a6vboxsync [Bertrand de Singly <bertrand.de-singly@polytechnique.fr>] PR#2364
d4a9d525e6f2111d462d2d96462dced6b9ec00efvboxsync *) mod_include's fsize/flastmod should allow only relative paths, just
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync like "include file". [Jaroslav Benkovsky <benkovsk@pha.pvt.cz>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) OS/2: Add support for building loadable modules using DLLs.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Brian Havard]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Add iconsdir, htdocsdir, and cgidir to config.layout.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync [Wilfredo Sanchez]
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync *) Fix minor but annoying bug with the test for Configuration.tmpl
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync being newer than Configuration so that it is less likely to fail
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync when using APACI and shadow sources. [Wilfredo Sanchez]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) PORT: Add initial support for Mac OS (versions 10.0 and
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync greater). Use Mac OS X Server layout for now. Clean up dyld code
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync in unix/os.c, and don't install the dyld error handlers, which
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync are no longer needed in Mac OS. [Wilfredo Sanchez]
5366e994777f9d9391cf809dc77610f57270d75dvboxsync *) Rename Rhapsody layout to "Mac OS X Server". Change install
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync locations to appropriate ones for user-built (as opposed to
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync system) installs. [Wilfredo Sanchez]
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync *) Modify mod_autoindex's handling of AddDescription so that the
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync behaviour matches the documentation. [Ken Coar] PR#1898, 3072.
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync *) Add functionality to the install-bindist.sh script created by
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync binbuild.sh to use tar when copying distribution files to the
45655563f818c5d5bbf4b3d14aa48cbd92a871f1vboxsync serverroot. This allows upgrading an existing installation
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync without nesting the new distribution in the old.
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync install-bindist.sh now detects the local perl5 path to install
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync apxs and dbmmanage with proper path to perl interpreter.
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync Add an install-binsupport target which copies the source files
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync for apxs and dbmmanage to bindist to allow these scripts to
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync be properly installed relative to the destination serverroot.
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync [Randy Terbush, Covalent Technologies, randy@covalent.net]
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync *) Fix intermittent SEGV in ap_proxy_cache_error() in
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync src/modules/proxy_util.c where a NULL filepointer and
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync temporary filename were closed and unlinked.
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync [Graham Leggett <minfrin@sharp.fm>,
cc1ef2ef9bbc6a0ff964928d61b7298e5bfcce5fvboxsync Tim Costello <tjcostel@socs.uts.edu.au>] PR#3178
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync *) Fix inconsistent error messages reported by mod_proxy.
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync [Graham Leggett <minfrin@sharp.fm>]
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync *) OS/2: Fix terminating CGIs that aren't compiled by EMX GCC when a
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync connection is aborted. [Brian Havard]
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync *) Force the LANG envariable to the known state of "C" so that we
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync have assurance about how string manipulators (e.g., tr) will
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync function. [Ken Coar] PR#1630
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync *) Add a directive to allow customising of the tracking cookie name.
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync [Ken Coar] PR#2921, 4303
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync *) Add "force-no-vary" envariable to allow servers to work around
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync clients that choke on "Vary" fields in the response header.
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync [Ken Coar, Dmitry Khrustalev <dima@zippy.machaon.ru>] PR#4118
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync *) Fixed a bug in mod_dir that causes a child process will infinitely
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync recurse when it attemps to handle a request for a directory wnd the
462e60a19d02a99b2b1a5c08dff74bb0808d707cvboxsync value of the DirectoryIndex directive is a single dot. Also likely
907b6adfa052386a0666d5557bee9bdbc100c2e5vboxsync to happen for anyother values of DirectoryIndex that will map back
5f2b03bf7695dabd71222dba123532a3f76828c1vboxsync to the same directory. The handler now only considers regular files
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync as being index candidates. No PR#s found.
45655563f818c5d5bbf4b3d14aa48cbd92a871f1vboxsync [Raymond S Brand <rsbx@rsbx.net>]
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync *) Ease configuration debugging by making TestCompile fall back to
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync using "make" if the $MAKE variable is unset [Martin Kraemer]
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync *) Fixed the ServerSignature directive to work as documented.
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync [Raymond S Brand <rsbx@rsbx.net>] PR#4248
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync *) Add "opt" (SysV-style) layout to config.layout. [Raymond S Brand
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync <rsbx@rsbx.net>]
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync *) Add APACI --without-execstrip option which can be used to disable the
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync stripping of executables on installation. This is very important for DSO
7862f4bd000f1eb6c86289f5ac2849e9cf943ca9vboxsync and debugging situations. [Ralf S. Engelschall]
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync *) Add support for OS/2 (case insenstive filesystem, .exe suffix, etc)
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync to APACI files and related scripts.
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync [Yitzchak Scott-Thoennes <sthoenna@efn.org>, Ralf S. Engelschall] PR#4269
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync *) Add support for standalone mode in TPF
c55bf74b54ecdfb5ebc4e5d90b620d0fee31737evboxsync [Joe Moenich <moenich@us.ibm.com>]
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync *) Fix number of bytes copied by read_connection() in src/support/ab.c
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync [Jim Cox <jc@superlink.net>] PR#4271
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync *) Fix special RewriteCond "-s" pattern matching.
cc1ef2ef9bbc6a0ff964928d61b7298e5bfcce5fvboxsync [Bob Finch <bob@nas.com>]
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync *) Fix value quoting in src/Configure script for ap_config_auto.h
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync [Paul Sutton <paul@awe.com>]
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync *) Make sure RewriteLock can be used only in the global context, (i.e.
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync outside of any <VirtualHost> sections) because it's a global facility of
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync the rewrite engine. [Ralf S. Engelschall]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix the ownership delegation for proxy directory under `make install'.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ralf S. Engelschall]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) APACI would not correctly build suexec. [Maria Verina
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync <mariav@icgeb.trieste.it>] PR#4260
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) mod_mime_magic passed only the first 4k of a file to
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync uncompress/gzip, but those tools sometimes do not produce
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync any output unless a sufficient portion of the compressed
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync file is input. Change to pass the entire file -- but
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync only read 4k of output.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync [Marcin Cieslak <saper@system.pl>] PR#4097
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) "IndexOptions None" generated extra spaces at the end of each
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync line. [inkling@firstnethou.com] PR#3770
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync *) The "100 Continue" response wasn't being sent after internal
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync redirects. [Jose KAHAN <kahan@w3.org>] PR#3910, 3806, 3575
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync *) When padding the name with spaces for display, mod_autoindex would
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync count &, <, and > in their escaped width, messing up the display.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync [Dean Gaudet] PR#4075, 3758
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync *) PORT: fixed a compilation problem on NEXT.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync [Jacques Distler <distler@golem.ph.utexas.edu>] PR#4130
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync *) r->request_time wasn't being set properly in certain error conditions.
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync [Dean Gaudet] PR#4156
687794577e2e35c3cae67e692a7f2130d1262a82vboxsync *) PORT: deal with UTS compiler error in http_protocol.c
ed9d3db07648c7e3a979105c15ad752ee9ea18devboxsync [Dave Dykstra <dwd@bell-labs.com>] PR#4189
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Add ap_vrprintf() function. [John Tobey <jtobey@banta-im.com>] PR#4246
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix the mod_mime hash table to work properly with locales other
06ea6bcf23874b662d499b3f130024c98b2dd7a6vboxsync than C. [Dean Gaudet] PR#3427
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix a memory leak which is exacerbated by certain configurations.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Dean Gaudet] PR#4225
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Prevent clobbering saved IFS values in APACI. [Jim Jagielski]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Fix buffer overflows in ap_uuencode and ap_uudecode pointed out
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync by "Peter 'Luna' Altberg <peter@altberg.nu>" and PR#3422
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Peter 'Luna' Altberg <peter@altberg.nu>, Ronald Tschal�r]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Make {Set,Unset,Pass}Env per-directory instead of per-server.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Ben Laurie]
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync *) Correct an apparent typo: on the Windows and MPE platforms, the
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync htpasswd utility was limiting passwords to only 8 characters.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) EBCDIC platforms: David submitted patches for two bugs in the
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync MD5 digest port for EBCDIC machines:
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync a) the htdigest utility overwrote the old contents of the digest file
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync b) the Content-MD5 header value (ContentDigest directive) was wrong
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync when the returned file was not converted from EBCDIC, but was a
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync binary (e.g., image file) in the first place.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [David McCreedy <mccreedy@us.ibm.com>]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) support/htpasswd now permits the password to be specified on the
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync command line with the '-b' switch. This is useful when passwords
06ea6bcf23874b662d499b3f130024c98b2dd7a6vboxsync need to be maintained by scripts -- particularly in the Win32
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync environment. [Ken Coar]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) Win32: Win32 multiple services patch. Added capability to install and
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync run multiple copies of apache as individual services.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync apache -n apache1 -i -f c:/httpd.conf
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync Installs apache as service 'apache1' and associates c:/httpd.conf
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync with that service.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync net start apache1
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync Starts apache1 service.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync net stop apache1
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync Stops apache1 service
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync apache -n apache2 -i
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync Installs apache as service 'apache2'. httpd.conf is located under
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync the default server root (/apache/conf/httpd.conf).
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync net start apache2
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync Starts apache2 service.
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync apache -n apache3 -i -d c:/program files/apache
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync Install apache as service 'apache3' and sets server root to
9523921c89c66f4bececdbd5ac95aed0039eda1bvboxsync apache -n apache2 -k restart
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync Restart apache2 service
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync [Keith Wannamaker, Ken Parzygnat, Bill Stoddard]
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync *) Correct the signed/unsigned character handling for the MD5 routines;
702a8ee2dc1de96f2f77e97135015d3e243186fdvboxsync mismatches were causing compilation problems with gcc -pedantic and
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync in the TPF cross-compilation. [Ken Coar]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) OS/2: Rework CGI handling to use spawn*() instead of fork/exec, achieving
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync a roughly 5 fold speed up. [Brian Havard]
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync *) proxy ftp: instead of using the hardwired string "text/plain" as
2f3883b126a405f92b19e829472f614c7352b4f9vboxsync a fallback type for files served by the ftp proxy, use the
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync ap_default_type() function to determine the configured type.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync This allows for special configurations like
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync <Directory proxy:ftp://some.host>
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync </Directory>
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync Additionally, add the Content-Encoding: header to FTP proxy replies
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync when the encoding is defined (by the AddEncoding directive).
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync Because it was missing, it was almost impossible to browse compressed
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync files using the FTP proxy (works now perfectly in Communicator).
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync The ftp proxy now also returns the Date: and Server: header lines (if not
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync much else... This code is "somewhat" broken) like normal requests do.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Martin Kraemer]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Be more smart in APACI's configure script when determining the UID/GID
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync for User/Group directives and use the determined UID/GID to initialize
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync the permissions on the proxycachedir.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Dirk-Willem van Gulik, Ralf S. Engelschall]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Changed the forking-prior-to-cleanup in the proxy module to first
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync check wether it actually needs to collect garbage. This reduces
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync the number of fork()s from one/request to just the odd one an hour.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Dirk-Willem van Gulik]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Added proxy, auth and header support to src/support/ab.c. Added a
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync README file to src/support/
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Dirk-Willem van Gulik]
b8bb9c9f6b8ebfd0a7d6df0c0289f9fe80241750vboxsync *) Don't hard-code the path to AWK in --shadow bootstrapping Makefile.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Ralf S. Engelschall] PR#4050
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Add support for DSO module compilation on BSD/OS 3.x.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Randy Terbush, Covalent Technologies]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Fix sed-substitutions in `make install': path elements like `httpd/conf'
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync (for instance from an APACI configure --sysconfdir=/etc/httpd/conf
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync option) were substituted with $(TARGET).conf, etc. Same for other strings
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync with dots where the dot wasn't matched as plain text.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Ralf S. Engelschall]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) PORT: Add support for FreeBSD 4.x [Ralf S. Engelschall]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Fix verbose output of APACI configure (option -v)
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Martin Kraemer, Ralf S. Engelschall]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsyncChanges with Apache 1.3.6
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Removed new PassAllEnv code due to DSO problems. [Lars Eilebrecht]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsyncChanges with Apache 1.3.5 [not released]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) M_INVALID needed a value within the scope of METHODS so that unknown
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync methods can be access controlled. [Roy Fielding] PR#3821
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) Added PassAllEnv; makes server's entire environment available
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync to CGIs and SSIs executed within directive's scope. [Ken Coar]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) ap_uuencode() always added two trailing '='s and encoding of
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync 8 bit characters on a machine with signed char may produced
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync incorrect results. Additionally ap_uuencode() should now
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync work correctly on EBCDIC platforms.
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync [Ronald Tschal�r <ronald@innovation.ch>] PR#3411
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) WIN32: Binary installer now runs the configuration DLL before
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync the reboot prompt (which is only given if MSVCRT.DLL system
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync DLL is new or updated). This should avoid the configuration
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync directory being empty after installation. [Paul Sutton]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync PR#3767, 3800, 3827, 3850, 3900, 3953, 3988
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) WIN32: Binary installer now creates Start menu options to start
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync and stop Apache as a console application and to uninstall
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync the Apache service on NT. [Paul Sutton] PR#3741
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) WIN32: Apache.exe now contains an icon. [Paul Sutton]
9bff17fe6983cfda2ddd98f1979841bcb48e78e7vboxsync *) PORT: Switch back to using fcntl() locking on Linux -- instabilities
*) 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]