CHANGES revision 6ff63662058d5891fc110f8b357a3604d7f7deb3
5d92fff82718cd018f0b61a10b9ad4d2b8064c95rpluemChanges with Apache 2.0.18-dev
4acb0cd5536553055c7c6996414cec00b0191e1djim *) Get mod_tls to compile/work better on Windows. PR #7612
4acb0cd5536553055c7c6996414cec00b0191e1djim [Bernhard Schrenk <b.schrenk@improx.com>]
1dee19645438f8e3cb80fe86e1aaade04d093e45sf *) Fix shutdown/restart hangs in the threaded MPM.
1dee19645438f8e3cb80fe86e1aaade04d093e45sf [Jeff Trawick, Greg Ames, Ryan Bloom]
9f478b1ce1e6296ad7a244d9d2eaa6af79cfdfbfsf *) Removed the keptalive boolean from conn_rec because it is now only
9f478b1ce1e6296ad7a244d9d2eaa6af79cfdfbfsf used by a single routine and can be replaced by a local variable.
9bec939825399ac2816ea0d912d2e3c3b2ed91f4sf [Greg Stein, Ryan Bloom, Roy Fielding]
9bec939825399ac2816ea0d912d2e3c3b2ed91f4sf *) Patch prefork to put enough of the signal processing back in so that
5cca2a55e4a1cabdc2ca0db3bee456f27cf4c69eminfrin signals are all handled properly now. The previous patch fixed the
5cca2a55e4a1cabdc2ca0db3bee456f27cf4c69eminfrin deadlock race condition, but broke the user directed signal handling.
5cca2a55e4a1cabdc2ca0db3bee456f27cf4c69eminfrin This fixes it to work the way it did before my previous prefork patch
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (primarily, SIGTERM is now working).
33510984c759eb3da154ceb0db9b75fa0031d3b4sf *) Change how input filters decide how much data is returned to the
33510984c759eb3da154ceb0db9b75fa0031d3b4sf higher filter. We used to use a field in the conn_rec, with this
33510984c759eb3da154ceb0db9b75fa0031d3b4sf change, we use an argument to ap_get_brigade to determine how much
33510984c759eb3da154ceb0db9b75fa0031d3b4sf data is retrieved. [Ryan Bloom]
33510984c759eb3da154ceb0db9b75fa0031d3b4sf *) Fix seg fault at start-up introduced by Ryan's change to enable
33510984c759eb3da154ceb0db9b75fa0031d3b4sf modules to specify their own logging tags. mod_log_config
6b15044d54a096e6323ff1540f1a491e8de7622dsf registers an optional function, ap_register_log_handler().
6b15044d54a096e6323ff1540f1a491e8de7622dsf ap_register_log_handler() was being called by http_core before
6b15044d54a096e6323ff1540f1a491e8de7622dsf the directive hash table was created. This patch creates the
287b17b746df229d6211c624b8a3e1edda21cecdsf directive hash table before ap_register_log_handler() is
287b17b746df229d6211c624b8a3e1edda21cecdsf registered as an optional function.
287b17b746df229d6211c624b8a3e1edda21cecdsf [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
de2d327e43e0f17cdb64851beafecba96a0ed962sf *) Add ap_set_int_slot() function
de2d327e43e0f17cdb64851beafecba96a0ed962sf [John K. Sterling <sterling@covalent.net>]
c1ea0100af157a0d4e4a3de323f32dbfac4e5b6esf *) Under certain circumstances, Apache did not supply the
c1ea0100af157a0d4e4a3de323f32dbfac4e5b6esf right response headers when requiring authentication.
c1ea0100af157a0d4e4a3de323f32dbfac4e5b6esf [Gertjan van Wingerde <Gertjan.van.Wingerde@cmg.nl>] PR#7114
c1ea0100af157a0d4e4a3de323f32dbfac4e5b6esf (This is a port of the change that went into Apache 1.3.19.)
c1ea0100af157a0d4e4a3de323f32dbfac4e5b6esf *) Allow modules to specify their own logging tags. This basically
c1ea0100af157a0d4e4a3de323f32dbfac4e5b6esf allows a module to tell mod_log_config that when %x is encountered
b44565f239485673d9486068588a5fb3af008be9sf a specific function should be called. Currently, x can be any single
b44565f239485673d9486068588a5fb3af008be9sf character. It may be more useful to make this a string at some point.
b44565f239485673d9486068588a5fb3af008be9sf [Ryan Bloom]
bf99d597a964add76124fc185892e04733a02969sfChanges with Apache 2.0.17
bf99d597a964add76124fc185892e04733a02969sf *) If a higher-level filter handles the the byterange aspects of a
876167dba234e2c7065895c87b77a8c57bdcf754sf request, then the byterange filter should not try to redo the
876167dba234e2c7065895c87b77a8c57bdcf754sf work. The most common case of this happening, is a byterange
876167dba234e2c7065895c87b77a8c57bdcf754sf request going through the proxy, and the origin server handles
9d4ce88bcd21b01619a31c53db11a51c2a1e9717sf the byterange request. The proxy should ignore it.
9d4ce88bcd21b01619a31c53db11a51c2a1e9717sf [Graham Leggett <minfrin@sharp.fm>]
2792ea4d5c772a6bc19dece2e098b8125bf7184cjim *) Changed the threaded mpm to have child_main join to each of the
2792ea4d5c772a6bc19dece2e098b8125bf7184cjim worker threads to make sure the kids are all gone before child_main
2792ea4d5c772a6bc19dece2e098b8125bf7184cjim exits after a signal (cleanup from perform_idle_server_maintenance).
2792ea4d5c772a6bc19dece2e098b8125bf7184cjim This is an extension of Ryans recent commit to make the child_main
59a3c1e7880d3eab0d182735ff47758b9860411fminfrin the signal thread.
59a3c1e7880d3eab0d182735ff47758b9860411fminfrin *) Add more options to the ap_mpm_query function. This also allows MPMs to
59a3c1e7880d3eab0d182735ff47758b9860411fminfrin report if their threads are dynamic or static. Finally, this also
59a3c1e7880d3eab0d182735ff47758b9860411fminfrin implements a new API, ap_show_mpm, which returns the MPM that was
59a3c1e7880d3eab0d182735ff47758b9860411fminfrin required into the core. [Harrie Hazewinkel <harrie@covalent.net>]
b3e63c395d671f14a096d7e888dbfd2caf93a663sf *) Do not install the binaries from the support directory twice.
b3e63c395d671f14a096d7e888dbfd2caf93a663sf [jun-ichiro hagino <itojun@iijlab.net>]
6f88aef8511bf8ccf170bec41b82b6346c8b1ac7sf *) The ap_f* functions should flush data to the filter that is passed
6f88aef8511bf8ccf170bec41b82b6346c8b1ac7sf in, not the the filter after the one passed in.
6f88aef8511bf8ccf170bec41b82b6346c8b1ac7sf [Ryan Morgan <rmorgan@covalent.net>]
83c89da783ba8bdaef50ec1912443f7fad3556acjim *) Make ab work again by changing its native types to apr types and formats.
83c89da783ba8bdaef50ec1912443f7fad3556acjim [Justin Erenkrantz <jerenkrantz@ebuilt.com>]
5152ceef718c8d39291557205cb2a98f436ce87frjung *) Move the byterange filter and all of the supporting functions back
4acb0cd5536553055c7c6996414cec00b0191e1djim to the HTTP module. The byterange filter turned out to be very
9c67ffea79ab184351b5d554b57814e13285e758jim HTTP specific, and it belongs in the HTTP module. [Greg Stein]
3eb3f27d2d93942bd4230c231aab4eb16a316384jim *) Make clean, distclean, and extraclean consistently according to the
3eb3f27d2d93942bd4230c231aab4eb16a316384jim Gnu makefile guidelines. [Justin Erenkrantz <jerenkrantz@ebuilt.com>]
0a2424312d9f02479a38e96dcbb170a77c218852rjung *) Fix errors in the renaming of the apr_threadattr_detach_xxx functions.
0a2424312d9f02479a38e96dcbb170a77c218852rjung This may have been causing problems stopping processes in the threaded
6137a8d5cdc62f1d4dad8cbf720feaa35f42a596covener mpm's. [Greg Ames]
6137a8d5cdc62f1d4dad8cbf720feaa35f42a596covener *) Fix content-length in mod_negotiation to a long int representation.
80a98c87d804ac7c0ea52d3f3b4676e559b49087igalic [William Rowe]
80a98c87d804ac7c0ea52d3f3b4676e559b49087igalic *) Remove BindAddress from the default config file.
925a6d92173ab96cdb0a8976c7aac13ef809e218trawick [giles@nemeton.com.au]
925a6d92173ab96cdb0a8976c7aac13ef809e218trawick *) Allow module authors to add a module to their Apache build using
925a6d92173ab96cdb0a8976c7aac13ef809e218trawick --with-module, without re-running buildconf. The syntax is:
e19d3a1e487aa73e0850658d3773f748aefba7f7sf --with-module=module_type:/path/to/module.c
e19d3a1e487aa73e0850658d3773f748aefba7f7sf The configure script will copy the module.c file to
e19d3a1e487aa73e0850658d3773f748aefba7f7sf modules/module_type, and it will be added to the relevant Makefiles.
e19d3a1e487aa73e0850658d3773f748aefba7f7sf currently, this only works for static modules. [Ryan Bloom]
b8e5134b5779bf5505a9e5241cf8c930cc4aac5esf *) Changes required to make prefork clean up idle children properly.
b8e5134b5779bf5505a9e5241cf8c930cc4aac5esf There was a window during which a starting worker deadlocks when
b8e5134b5779bf5505a9e5241cf8c930cc4aac5esf an idle cleanup arrives before it completes init. Apache then keeps
b8e5134b5779bf5505a9e5241cf8c930cc4aac5esf trying to cleanup the same deadlocked worker forever (until higher
b1677ce80314e41b74bdd8d50c13ac159f3c09f4sf pids come along, but it still will never reduce below the deadlocked
b1677ce80314e41b74bdd8d50c13ac159f3c09f4sf pid). Thus the number of children would not reduce to the correct
b1677ce80314e41b74bdd8d50c13ac159f3c09f4sf idle level. [Paul J. Reder]
c447f5d2f2a21e8f2df49a113c4637b7f59a6feftrawickChanges with Apache 2.0.16
31eeb74b832eea054c7a42081c1afdeccd987e5etrawick *) Change the default installation directory to /usr/local/apache2,
31eeb74b832eea054c7a42081c1afdeccd987e5etrawick as now defined by the "Apache" layout in config.layout. [Marc Slemko]
e9bf808f770605c1f54a9d0fb1c560115c91fd71sf *) OS/2: Added support for building loadable modules as OS/2 DLLs.
e9bf808f770605c1f54a9d0fb1c560115c91fd71sf [Brian Havard]
575cc52562c51c0c8bb8de0c6eaa55a60f7f895bsf *) Get MaxRequestsPerChild working with the Windows MPM.
575cc52562c51c0c8bb8de0c6eaa55a60f7f895bsf [Bill Stoddard]
490993ea2eda52d4fdacff247eb2657296c86f71trawick *) Make generic hooks to work, with mod_generic_hook_import/export
03502de2853fcebaf853ed3bcfd5033894c238bbjim experimental modules. [Ben Laurie, Will Rowe]
03502de2853fcebaf853ed3bcfd5033894c238bbjim *) Fix segfaults for configuration file syntax errors such as
03502de2853fcebaf853ed3bcfd5033894c238bbjim "<Directory>" followed by "</Directory" and
afee7998d5045107a7673f09bc3448a5dc1b6612jim "<Directory>" followed by "</Directoryz>". [Jeff Trawick]
6ec154950417d0b32082f6590ffa3acc3e0c3d49sf *) Cleanup the --enable-layout option of configure. This makes
6ec154950417d0b32082f6590ffa3acc3e0c3d49sf us use a consistent location for the config.layout file, and it
6ec154950417d0b32082f6590ffa3acc3e0c3d49sf makes configure more portable.
6ec154950417d0b32082f6590ffa3acc3e0c3d49sf [jun-ichiro hagino <itojun@iijlab.net>]
3d636d91428f2c0a74012c89a94ec7d5b40aa52esf *) Changes to 'ab'; fixed int overrun's, added statistics, output in
b38e1e2f118f67818f88faee827f4b3a2881e908sf csv/gnuplot format, rudimentary ssl support and various other tweaks
33e53d7c6aa5d004d96ea11d7f3ca35b30e82544trawick to make results more true to what is measured. The upshot of this it
33e53d7c6aa5d004d96ea11d7f3ca35b30e82544trawick turns out that 'ab' has often underreported the true performance of
20e0c71be778348516719e1e58a9f55c8e78c570trawick apache. Often by a order of magnitude :-) See talk/paper of Sander
027f7b141f164258b254c38319d06452b25d7660trawick Temme <sctemme@covalent.net> at April ApacheCon 2001 for details.
027f7b141f164258b254c38319d06452b25d7660trawick [Dirk-Willem van Gulik]
977c4527be5a21182f24fc22a40a79d576a52f86trawick *) Clean up mod_cgid's temporary request pool. Besides fixing a
977c4527be5a21182f24fc22a40a79d576a52f86trawick storage leak this ensures that some unnecessary pipes are closed.
7fef9f66804ea10d5bf343cdd3d607465e8340cajim [Jeff Trawick]
7fef9f66804ea10d5bf343cdd3d607465e8340cajim *) Performance: Add quick_handler hook. This hook is called at the
3770ed746d69c7a4111cba9966169bd5d7a509a6poirier very beginning of the request processing before location_walk,
3770ed746d69c7a4111cba9966169bd5d7a509a6poirier translate_name, etc. This hook is useful for URI keyed content
3770ed746d69c7a4111cba9966169bd5d7a509a6poirier caches like Mike Abbott's Quick Shortcut Cache.
3770ed746d69c7a4111cba9966169bd5d7a509a6poirier [Bill Stoddard]
7bd92b29516bc4bf7351d35aa447dbe68f1e8bb4jorton *) top_module global variable renamed to ap_top_module [Perl]
7bd92b29516bc4bf7351d35aa447dbe68f1e8bb4jorton *) Move ap_set_last_modified to the core. This is a potentially
a81c0c1ae464b2063a21b45f80c9da8d89bb840ecovener controversial change, because this is kind of HTTP specific. However
a81c0c1ae464b2063a21b45f80c9da8d89bb840ecovener many protocols should be able to take advantage of this kind of
a81c0c1ae464b2063a21b45f80c9da8d89bb840ecovener information. I expect that headers will need one more layer of
ffae06377667a5d8f9699ac7512134de7000a83dminfrin indirection for multi-protocol work, but this is a small step in
ffae06377667a5d8f9699ac7512134de7000a83dminfrin the right direction. [Ryan Bloom]
ffae06377667a5d8f9699ac7512134de7000a83dminfrin *) Enable mod_status by default. This matches what Apache 1.3 does.
efc81fe729a2b7401028387da184b4a98f0b854atrawick [Ed Korthof]
efc81fe729a2b7401028387da184b4a98f0b854atrawick *) Add a ScriptSock directive to the default config file. This is
efc81fe729a2b7401028387da184b4a98f0b854atrawick only enabled when mod_cgid is used.
9c67ffea79ab184351b5d554b57814e13285e758jim [Taketo Kabe <kabe@sra-tohoku.co.jp>]
8f066564bfc0fd6ddc6ca4b2f2410615554597d1jimChanges with Apache 2.0.15
cfd376e3e25eb609c30773a0897c97b2a9a76130fuankg *) Untangled the buildconf script and eliminated the need for build's
cfd376e3e25eb609c30773a0897c97b2a9a76130fuankg aclocal.m4, generated_lists, build.mk, build2.mk, and a host of other
cfd376e3e25eb609c30773a0897c97b2a9a76130fuankg libtool muck that is now under srclib/apr/build. [Roy Fielding]
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim *) Win32: Don't accept more connections than we have worker threads
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim to handle.
29ecbd9db1622e74964264d078336f7604d65093jim [Bill Stoddard]
29ecbd9db1622e74964264d078336f7604d65093jim *) Fix bug in the Unix threaded.c MPM that allowed child processes
a503caacf7ab36d5bc42cb7c78256e1221642656jim to fork() new child processes.
a503caacf7ab36d5bc42cb7c78256e1221642656jim [Bill Stoddard]
da40dfabefd6f8eb8450e9a097c594ee2ab13e3eminfrin *) Fix a major security problem with double-reverse lookup checking.
da40dfabefd6f8eb8450e9a097c594ee2ab13e3eminfrin Previously, a client connecting over IPv4 would not be matched
da40dfabefd6f8eb8450e9a097c594ee2ab13e3eminfrin properly when the server had an IPv6 listening socket. PR #7407
59d316b83d42d2a07e25c20d8c35a07b369618bdsf [Taketo Kabe <kiabe@sra-tohoku.co.jp>]
59d316b83d42d2a07e25c20d8c35a07b369618bdsf *) Change the way the beos MPM handles polling to allow it to stop and
59d316b83d42d2a07e25c20d8c35a07b369618bdsf restart. Problem was the sockets being polled were being reset by
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf the select call, so once it had accepted a connection it was no
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf longer listening on the UDP socket we use for shutdown instructions.
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf APR needs to be altered, patch on it's way. [David Reid]
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf *) Empty out the brigade shared by ap_getline()/ap_get_client_block()
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim on error exit from ap_getline(). Some other code got upset because
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim the wrong data was in the brigade. [Greg Ames, Jeff Trawick]
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim *) Handle ap_discard_request_body() being called more than once.
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim [Greg Ames, Jeff Trawick]
3e2582713ed6883683272fbc628a27419d0ed543minfrin *) Get rid of an inadvertent close of file descriptor 2 in
3e2582713ed6883683272fbc628a27419d0ed543minfrin mod_mime_magic. [Greg Ames, Jeff Trawick]
3e2582713ed6883683272fbc628a27419d0ed543minfrin *) Add a hook, create_request. This hook allows modules to modify
2c132b1e3610da2fb9e6b3594a313efa3ff29e22minfrin a request while it is being created. This hook is called for all
2c132b1e3610da2fb9e6b3594a313efa3ff29e22minfrin request_rec's, main request, sub request, and internal redirect.
2c132b1e3610da2fb9e6b3594a313efa3ff29e22minfrin When this hook is called, the the r->main, r->prev, r->next
a46801e6532423aa7bd184471eb49158d7c9ae62sf pointers have been set, so modules can determine what kind of
a46801e6532423aa7bd184471eb49158d7c9ae62sf request this is. [Ryan Bloom]
808a26d70f28498b9d7252a70d9fb23def781901minfrin *) Cleanup the build process a bit more. The Apache configure
808a26d70f28498b9d7252a70d9fb23def781901minfrin script no longer creates its own helper scripts, it just
ef12246b88300687bf1faaf56d115dd8d8d82761jorton uses APR's.
6f9bf764bc79571d1da19dfbbd78527fca278a8eminfrin [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
6f9bf764bc79571d1da19dfbbd78527fca278a8eminfrin *) Stop the forced downgrade of the connection to HTTP/1.0 for
6f9bf764bc79571d1da19dfbbd78527fca278a8eminfrin proxy requests. [Graham Leggett]
7d59a9f282af9dce031b61062a0d941641101237rpluem *) Avoid using sscanf to determine the HTTP protocol number in
7d59a9f282af9dce031b61062a0d941641101237rpluem the common case because sscanf is a performance hog. From
e63e8b4b886d2144fed7946d0fbe8d27386be2dcjorton Mike Abbot's Accelerating Apache patch number 6.
e63e8b4b886d2144fed7946d0fbe8d27386be2dcjorton [Mike Abbot <mja@trudge.engr.sgi.com>, Bill Stoddard]
223c64b836fbc2bc8611da9604379dfe13f56abasf *) Fix a security exposure in mod_access. Previously when IPv6
223c64b836fbc2bc8611da9604379dfe13f56abasf listening sockets were used, allow/deny-from-IPv4-address rules
223c64b836fbc2bc8611da9604379dfe13f56abasf were not evaluated properly (PR #7407). Also, add the ability to
bf507cc1e6ad55303c3d436c6ca153f46c788be6sf specify IPv6 address strings with optional prefix length on Allow
bf507cc1e6ad55303c3d436c6ca153f46c788be6sf and Deny. [Jeff Trawick]
bf507cc1e6ad55303c3d436c6ca153f46c788be6sf *) Enhance rotatelogs so that a UTC offset can be specified, and
93cf7fc650197b941ae31a7c7e51e901b129e954igalic the logfile name can be formatted using strftime(3). (Brought
93cf7fc650197b941ae31a7c7e51e901b129e954igalic forward from 1.3.) [Ken Coar]
a1b1c78faf7969affb320f5c8eb270ffa21314c4rjung *) Reimplement the Windows MPM (mpm_winnt.c) to eliminate calling
a1b1c78faf7969affb320f5c8eb270ffa21314c4rjung DuplicateHandle on an IOCompletionPort (a practice which
a1b1c78faf7969affb320f5c8eb270ffa21314c4rjung MS "discourages"). The new model does not rely on associating
a2558ec3af4391b7da7fe61e1e53383bbd0174b9jorton the completion port with the listening sockets, thus the
a2558ec3af4391b7da7fe61e1e53383bbd0174b9jorton completion port can be completely managed within the child
a2558ec3af4391b7da7fe61e1e53383bbd0174b9jorton process. A dedicated thread accepts connections off the network,
a2558ec3af4391b7da7fe61e1e53383bbd0174b9jorton then calls PostQueuedCompletionStatus() to wake up worker
8d6b3720340d0bd7f8d25e2a8563527e97a48df8jorton threads blocked on the completion port.
8d6b3720340d0bd7f8d25e2a8563527e97a48df8jorton [Bill Stoddard]
8d6b3720340d0bd7f8d25e2a8563527e97a48df8jorton *) Bring forward the --suexec-umask option which allows the
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf builder to preset the umask for suexec processes. [Ken Coar]
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf *) Add a -V flag to suexec, which causes it to display the
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf compile-time settings with which it was built. (Only
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf usable by root or the AP_HTTPD_USER username.) [Ken Coar]
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim *) Mod_include should always unset the content-length if the file is
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim going to be passed through send_parsed_content. There is no to
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim determine if the content will change before actually scanning the
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim entire content. It is far safer to just remove the C-L as long
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim as we are scanning it. [Ryan Bloom]
397df70abe0bdd78a84fb6c38c02641bcfeadceasf *) Make sure Apache sends WWW-Authenticate during a reverse proxy
397df70abe0bdd78a84fb6c38c02641bcfeadceasf request and not Proxy-Authenticate.
9b5fe1d4ec48643fb819bbce9dc80f93f444fb48sf [Graham Leggett <minfrin@sharp.fm>]
9b5fe1d4ec48643fb819bbce9dc80f93f444fb48sfChanges with Apache 2.0.14
dd9f60fdfeb73f829fe0b260b7975b4b22be0838sf *) Fix content-length computation. We ONLY compute a content-length if
dd9f60fdfeb73f829fe0b260b7975b4b22be0838sf We are not in a 1.1 request and we cannot chunk, and this is a keepalive
135e1d6a301398168e3b2e5125508828591e1673niq or we already have all the data. [Ryan Bloom]
135e1d6a301398168e3b2e5125508828591e1673niq *) Report unbounded containers in the config file. Previously, a typo
135e1d6a301398168e3b2e5125508828591e1673niq in the </container> directive could result in the rest of the config
135e1d6a301398168e3b2e5125508828591e1673niq file being silently ignored, with undesired defaults used.
135e1d6a301398168e3b2e5125508828591e1673niq [Jeff Trawick]
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin *) Make the old_write filter use the ap_f* functions for the buffering.
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin [Ryan Bloom]
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin *) Move more code from the http module into the core server. This
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin is core code, basically the default handler, the default input
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin and output filters, and all of the core configuration directives.
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin All of this code is required in order for the server to work, with or
1b1621900bd89ddc496d721c865a726f635ebd7esf without HTTP. The server is closer to working without the HTTP
1b1621900bd89ddc496d721c865a726f635ebd7esf module, although there is still more to do. [Ryan Bloom]
1b1621900bd89ddc496d721c865a726f635ebd7esf *) Fix a number of SGI compile warnings throughout the server. Fix some
1b1621900bd89ddc496d721c865a726f635ebd7esf bad parameters to apr_bucket_read(). Fix a bad statement in
4203a35c28d7c60adb7e9ef3be87aad34951c79asf ap_method_in_list(). For the mod_rewrite cache use apr_time_t
4203a35c28d7c60adb7e9ef3be87aad34951c79asf consistently; we were mixing apr_time_t and time_t in invalid ways
4203a35c28d7c60adb7e9ef3be87aad34951c79asf before. In load_file(), call apr_dso_error() instead of
c094add0a23fe1120fd33711ba2e2d084f5629a1sf apr_strerror() so that we get a more specific string on some platforms.
c094add0a23fe1120fd33711ba2e2d084f5629a1sf PR #6980 [Jeff Trawick]
12b26f433fd7d6fc9f76413d7c2cabf4fa5cb300sf *) Allow modules to query the MPM about it's execution profile. This
12b26f433fd7d6fc9f76413d7c2cabf4fa5cb300sf query API can and should be extended in the future, but for now,
12b26f433fd7d6fc9f76413d7c2cabf4fa5cb300sf max_daemons, and threading or forking is a very good start.
26f56d4a3c12077d605362e97490e34522fa4814covener [Jon Travis <jtravis@covalent.net>]
26f56d4a3c12077d605362e97490e34522fa4814covener *) Modify mod_include to send blocks of data no larger than 9k.
2cef7e294acb5d8b8b5dcb21a55438da0b73f63figalic Without this, mod_include will wait until the whole file is parsed,
2cef7e294acb5d8b8b5dcb21a55438da0b73f63figalic or the first tag is found to send any data to the client.
2cef7e294acb5d8b8b5dcb21a55438da0b73f63figalic [Paul J. Reder <rederpj@raleigh.ibm.com>]
2d2de64c25c1519122a76150a7daf2c05f53fd9asf *) Fix mod_info, so that <Directory> and <Location> directives are
2d2de64c25c1519122a76150a7daf2c05f53fd9asf not displayed twice when displaying the current configuration.
2d2de64c25c1519122a76150a7daf2c05f53fd9asf [Ryan Morgan <rmorgan@covalent.net>]
27c5ebb7d411a214f5b6b55a881086ce086d3dd3covener *) Add config directives to override DEFAULT_ERROR_MSG and
27c5ebb7d411a214f5b6b55a881086ce086d3dd3covener DEFAULT_TIME_FORMAT. This was sent in as PR 6193.
27c5ebb7d411a214f5b6b55a881086ce086d3dd3covener [Dan Rench <drench@xnet.com>]
7697b1b7376a532163c621e050b70c90dcb15d66covener *) Get mod_info building and loading on Win32. [William Rowe]
7697b1b7376a532163c621e050b70c90dcb15d66covener *) Begin to move protocol independant functions out of mod_http. The goal
7697b1b7376a532163c621e050b70c90dcb15d66covener is to have only functions that are HTTP specific in the http directory.
9e0536cd66a389bdaa758a825b8bbd8fea665a3eigalic [Ryan Bloom]
9e0536cd66a389bdaa758a825b8bbd8fea665a3eigalicChanges with Apache 2.0.13
862bbb262644e8aefae1bf352552b01908ecae0eminfrin *) Don't assume that there will always be multiple calls to the byterange
862bbb262644e8aefae1bf352552b01908ecae0eminfrin filter. It is possible that we will need to do byteranges with only
dd3b88790af9d18429c732ca7bc83ec4ef43d3ffrpluem one call to the filter. [Ryan Morgan <rmorgan@covalent.net>]
dd3b88790af9d18429c732ca7bc83ec4ef43d3ffrpluem *) Move the error_bucket definition from the http module to the
5bbabc874e3fcfbea08c199f7a79ee05b4817a70sf core server. Every protocol will need this ability, not just
5bbabc874e3fcfbea08c199f7a79ee05b4817a70sf HTTP. [Ryan Bloom]
8f066564bfc0fd6ddc6ca4b2f2410615554597d1jimChanges with Apache 2.0.12
aec9747aa70c1dce98e536e8eef5a6a0ab0f1d6cjim *) Modify mod_file_cache to save pre-formatted strings for
7b7e8ba34e262064914ceedacd5f7d9201b6575ccovener content-length and last-modified headers for performance.
7b7e8ba34e262064914ceedacd5f7d9201b6575ccovener [Mike Abbot <mja@trudge.engr.sgi.com>]
220bc4233b21982d7c51842a1774db0ba6172ca4covener *) Namespace protect IOBUFSIZ since it is exposed in the API.
220bc4233b21982d7c51842a1774db0ba6172ca4covener [Jon Travis <jtravis@covalent.net>]
220bc4233b21982d7c51842a1774db0ba6172ca4covener *) Use "Basic" authentication instead of "basic" in ab, as the spec
6f2fbf354b34981f398cf0313aa44702ea2a7066covener says we should. [Andre Breiler <andre.breiler@rd.bbc.co.uk>]
6f2fbf354b34981f398cf0313aa44702ea2a7066covener *) Fix a seg fault in mod_userdir.c. We used to use the pw structure
6f2fbf354b34981f398cf0313aa44702ea2a7066covener without ever filling it out. This fixes PR 7271.
9e7c7a8fa19c33d1e90f8f7ffab69beacbe72566covener [Taketo Kabe <kabe@sra-tohoku.co.jp> and
9e7c7a8fa19c33d1e90f8f7ffab69beacbe72566covener Cliff Woolley <cliffwoolley@yahoo.com>]
9e7c7a8fa19c33d1e90f8f7ffab69beacbe72566covener *) Add a couple of GCC attribute tags to printf style functions.
a961006b347d6527ccaeab9cf019a4e68d26bfb0covener [Jon Travis <jtravis@covalent.net>]
a961006b347d6527ccaeab9cf019a4e68d26bfb0covener *) Add the correct language tag for interoperation with the Taiwanese
e3f43882b4f7ac7d1aa679be4b319cca04fd22eecovener versions of MSIE and Netscape. [Clive Lin <clive@CirX.ORG>] PR#7142
e3f43882b4f7ac7d1aa679be4b319cca04fd22eecovener *) Migrate the perchild MPM to use the new apr signal child, and
e3f43882b4f7ac7d1aa679be4b319cca04fd22eecovener APR thread functions. [Ryan Bloom]
8dea7832dea3789fe0b90c434c284bcaad96d40fcovener *) Close one copy of the CGI's stdout before creating the new process.
999661242470e4dc0258982d5f183efc2d157ae7covener The CGI will still have stdout, because we have already dup'ed it.
0bfcc4d046f6735af2f15981fb53e4c0680b4731covener This keeps Apache from waiting forever to send the results of a CGI
b761a57b4e63006c287823270876ab40d3212160covener process that has forked a long-lived child process.
b761a57b4e63006c287823270876ab40d3212160covener [Taketo Kabe <kabe@sra-tohoku.co.jp>]
b761a57b4e63006c287823270876ab40d3212160covener *) Remove the rest of the pthreads functions from the threaded MPM.
5d92fff82718cd018f0b61a10b9ad4d2b8064c95rpluem This requires the APR support for a signal thread that was just
5d92fff82718cd018f0b61a10b9ad4d2b8064c95rpluem added. [Ryan Bloom]
5d92fff82718cd018f0b61a10b9ad4d2b8064c95rpluem *) Make mod_dir use a fixup for sending a redirect to the browser.
01195d035ccef88e72009e9607157d5eddcb6b7drjung Before this, we were using a handler, which doesn't make much
01195d035ccef88e72009e9607157d5eddcb6b7drjung sense, because the handler wasn't generating any data, it would
aec9747aa70c1dce98e536e8eef5a6a0ab0f1d6cjim either return a redirect error code, or DECLINED. This fits the
84fbf855118f318dd5e511d8e5b902cecc1177c0jim current hooks better. [Ryan Morgan <rmorgan@covalent.net>]
0ed19acadd3d3dd593759173d87d2243e97914e2sf *) Make the threaded MPM use APR threads instead of pthreads.
0ed19acadd3d3dd593759173d87d2243e97914e2sf [Ryan Bloom]
0ed19acadd3d3dd593759173d87d2243e97914e2sf *) Get mod_tls to the point where it actually appears to work in all cases.
041b426f9b15072b59a32f132e6d04173ab3df68covener [Ben Laurie]
041b426f9b15072b59a32f132e6d04173ab3df68covener *) implement --enable-modules and --enable-mods-shared for "all" and
cb838cc4d5fd559efd6c0579a0fcb8f6e5a7af22minfrin "most". [Greg Stein]
cb838cc4d5fd559efd6c0579a0fcb8f6e5a7af22minfrin *) Move the threaded MPM to use APR locks instead of pthread locks.
cb838cc4d5fd559efd6c0579a0fcb8f6e5a7af22minfrin [Ryan Bloom]
15ff8c621815e8337abc10638f2b2853ee6fd076minfrin *) Rename mpmt_pthread to threaded. This is more in line with the
15ff8c621815e8337abc10638f2b2853ee6fd076minfrin fact that mpmt_pthread shouldn't be using pthreads directly, and
21ccb6cd9272c9066a8f5bb3e7785f46115289desf it is a smaller name that doesn't tie into anything.
21ccb6cd9272c9066a8f5bb3e7785f46115289desf [Ryan Bloom]
b0ac1e83f8582a9b5a72bff798ffb31a419c8adesf *) Rename the module structures so that the exported symbol matches
b0ac1e83f8582a9b5a72bff798ffb31a419c8adesf the file name, and it is easier to automate the installation
b0ac1e83f8582a9b5a72bff798ffb31a419c8adesf process (generating LoadModule directives from the module filenames).
b682e60dd82772dba52ba77138e494f15c00a551trawick [Martin Kraemer]
b682e60dd82772dba52ba77138e494f15c00a551trawick *) Remove the coalesce filter. With the ap_f* functions, this filter
b682e60dd82772dba52ba77138e494f15c00a551trawick is no longer needed. [Ryan Bloom]
b682e60dd82772dba52ba77138e494f15c00a551trawickChanges with Apache 2.0.11
79c754eb51681c3389cd966753e902c429f78939trawick *) Remove the dexter MPM. Perchild is the same basic idea, but it has the
79c754eb51681c3389cd966753e902c429f78939trawick added feature of allowing a uid/gid per child process. If no
8651de219ec5f595af20afdc9da41ce72aaa50d5minfrin uid/gid is specified, then Perchild behaves exactly like dexter.
8651de219ec5f595af20afdc9da41ce72aaa50d5minfrin [Ryan Bloom]
8651de219ec5f595af20afdc9da41ce72aaa50d5minfrin *) Get perchild building again. [Ryan Bloom]
8fae12696bce44be9ce4c56888690cad8ac7b8f9sf *) Don't disable threads just because we are using the prefork MPM.
8fae12696bce44be9ce4c56888690cad8ac7b8f9sf If somebody wants to compile without threads, they must now add
8fae12696bce44be9ce4c56888690cad8ac7b8f9sf --disable-threads to the configure command line. [Ryan Bloom]
8fae12696bce44be9ce4c56888690cad8ac7b8f9sf *) Begin to move the calls to update_child_status into common code, so
d5612bd28e194390b2c74fcf712d564b0e002684sf that each individual MPM does not need to update the scoreboard itself.
d5612bd28e194390b2c74fcf712d564b0e002684sf [Ryan Bloom]
4ea161d94782fa56f4b36d496f35ff8577c43065covener *) Allow mod_tls to compile under Unix boxes where openssl has been
4ea161d94782fa56f4b36d496f35ff8577c43065covener installed to the system include files.
4ea161d94782fa56f4b36d496f35ff8577c43065covener [Gomez Henri <new-httpd@slib.fr>]
b588214d6e6fe09abe709e83e894921fbc7e25c8covener *) Cleanup the mod_tls configure process. This should remove any need
b588214d6e6fe09abe709e83e894921fbc7e25c8covener to hand-edit any files. We require OpenSSL 0.9.6 or later, but
c64fc4e9830bb1ffdc3491aef5ed3be5b90c466bcovener configure doesn't check that yet. [Ryan Bloom]
c64fc4e9830bb1ffdc3491aef5ed3be5b90c466bcovener *) Add a very early prototype of SSL support (in mod_tls.c). It is
c64fc4e9830bb1ffdc3491aef5ed3be5b90c466bcovener vital that you read modules/tls/README before attempting to build
ae5efbbf49a7ca6d233209a4d011550989e22556covener it. [Ben Laurie]
ae5efbbf49a7ca6d233209a4d011550989e22556covener *) Fix a potential seg fault on all platforms. David Reid fixed this
8c2bb916633b1eb3dccf91c776363bbc3a6145decovener on BEOS, but the problem could happen anywhere, so we don't want
8c2bb916633b1eb3dccf91c776363bbc3a6145decovener to #ifdef it. [Cliff Woolley <cliffwoolley@yahoo.com>]
8c2bb916633b1eb3dccf91c776363bbc3a6145decovener *) Add new LogFormat directive, %D, to log time it takes to serve a
503bec4c591d28ac6cec7182294cdef2ec6a9829covener request in microseconds. [Bill Stoddard]
503bec4c591d28ac6cec7182294cdef2ec6a9829covener *) Change AddInputFilter and AddOutputFilter to SetInputFilter and
503bec4c591d28ac6cec7182294cdef2ec6a9829covener SetOutputFilter. This corresponds nicely with the other Set
c00149c3cb27e0381362d07ccf2143574b4f600dsf directives, which operate on containers while the Add* directives
c00149c3cb27e0381362d07ccf2143574b4f600dsf tend to work directly on extensions. [Ryan Bloom]
766b0a4793197ccef3dfa202d1fee1e1f929ffa7sf *) Cleanup the header handling a bit. This uses the apr_brigade_*
766b0a4793197ccef3dfa202d1fee1e1f929ffa7sf functions for the buffering so that we don't need to compute
766b0a4793197ccef3dfa202d1fee1e1f929ffa7sf the length of the headers before we actually create the header
97b692bfc8673c8858f03498f81a993ac0c04c01sf buffer. [Ryan Bloom]
97b692bfc8673c8858f03498f81a993ac0c04c01sf *) Allow filters to buffer data using the ap_f* functions. These have
5e6cf205d2b0c848e15c65dab9711805395a5108minfrin become macros that resolve directly to apr_brigade_*.
5e6cf205d2b0c848e15c65dab9711805395a5108minfrin [Ryan Bloom]
5e6cf205d2b0c848e15c65dab9711805395a5108minfrin *) Get the Unix MPM's to do a graceful restart again. If we are going
df419be6d7d4b68823efa05722375552af49c2b6minfrin to register a cleanup with ap_cleanup_scoreboard, then we have to
df419be6d7d4b68823efa05722375552af49c2b6minfrin kill the cleanup with the same function, and that function can't be
df419be6d7d4b68823efa05722375552af49c2b6minfrin static. [Ryan Bloom]
c03e31374e50a227cb554a0f1d4a9056ce80d99asf *) Install all required header files. Without these, it was not
c03e31374e50a227cb554a0f1d4a9056ce80d99asf possible to compile some modules outside of the server.
c03e31374e50a227cb554a0f1d4a9056ce80d99asf [Ryan Bloom]
40b22d3b20454959fe51fdc89907908d77701078minfrin *) Fix the AliasMatch directive in Apache 2.0. When we brought a patch
40b22d3b20454959fe51fdc89907908d77701078minfrin forward from 1.3 to 2.0, we missed a single line, which broke regex
b4a00883f358625923365ca1560c96edec172a52sf aliases. [Ryan Bloom]
b4a00883f358625923365ca1560c96edec172a52sf *) We have a poor abstraction in the protocol. This is a temporary
b4a00883f358625923365ca1560c96edec172a52sf hack to fix the bug, but it will need to be fixed for real. If
0553e62d75ef12d9a6646bb874be1fbf9e4c1dfbsf we find an error while sending out a custom error response, we back
0553e62d75ef12d9a6646bb874be1fbf9e4c1dfbsf up to the first non-OK request and send the data. Then, when we send
0553e62d75ef12d9a6646bb874be1fbf9e4c1dfbsf the EOS from finalize_request_protocol, we go to the last request,
87af9ffc3a42633fe12e11a0ff77bc099ecdca82sf to ensure that we aren't sending an EOS to a request that has already
f58bb3da705eb7ec926f4883597fc2eb1336a360minfrin received one. Because the data is sent on a different request than
f58bb3da705eb7ec926f4883597fc2eb1336a360minfrin the EOS, the error text never gets sent down the filter stack. This
f58bb3da705eb7ec926f4883597fc2eb1336a360minfrin fixes the problem by finding the last request, and sending the data
f58bb3da705eb7ec926f4883597fc2eb1336a360minfrin with that request. [Ryan Bloom]
be192cefa381d5bae6868034687471754cb43175sf *) Make the server status page show the correct restart time, and
be192cefa381d5bae6868034687471754cb43175sf thus the proper uptime. [Ryan Bloom]
be192cefa381d5bae6868034687471754cb43175sf *) Move the CGI creation logic from mod_include to mod_cgi(d). This
f4a0825e91eec135b5e41c697439e9a13014fa2cminfrin should reduce the amount of duplicate code that is required to
f4a0825e91eec135b5e41c697439e9a13014fa2cminfrin create CGI processes.
f4a0825e91eec135b5e41c697439e9a13014fa2cminfrin [Paul J. Reder <rederpj@raleigh.ibm.com>]
5876f43a746f688a32b7201bced8591ddf19bd43minfrin *) ap_new_connection() closes the socket and returns NULL if a socket
5876f43a746f688a32b7201bced8591ddf19bd43minfrin call fails. Usually this is due to a connection which has been
5876f43a746f688a32b7201bced8591ddf19bd43minfrin reset. [Jeff Trawick]
bbba414c5bbf770e505778265bbe7a4a0e4fbdaaniq *) Move the Apache version information out of httpd.h and into release.h.
bbba414c5bbf770e505778265bbe7a4a0e4fbdaaniq This is in preparation for the first tag with the new tag and release
bbba414c5bbf770e505778265bbe7a4a0e4fbdaaniq system. [Ryan Bloom]
4aef34911af88f96c5b6d9b71a550a5a97bbc0b6minfrin *) Begin restructuring scoreboard code to enable adding back in
4aef34911af88f96c5b6d9b71a550a5a97bbc0b6minfrin the ability to use IPC other than shared memory.
4aef34911af88f96c5b6d9b71a550a5a97bbc0b6minfrin Get mod_status working on Windows again. [Bill Stoddard]
4cefc38158672f5de8119886d9754cf0609a9371minfrin *) Make mod_status work with 2.0. This will work for prefork,
4cefc38158672f5de8119886d9754cf0609a9371minfrin mpmt_pthread, and dexter. [Ryan Bloom]
4cefc38158672f5de8119886d9754cf0609a9371minfrin *) Correct a typo in httpd.conf.
4cefc38158672f5de8119886d9754cf0609a9371minfrin [Kunihiro Tanaka <tanaka@apache.or.jp>] PR#7154
11d3c510dca5b5178ad4739ffc1567ef2155bda9minfrin *) Really fix mod_rewrite map lookups this time. [Tony Finch]
d974a1624c0bb4f1c2e8b36fcf8ba1f12284ed8dsf *) Get the correct IP address if ServerName isn't set and we can't
d974a1624c0bb4f1c2e8b36fcf8ba1f12284ed8dsf find a fully-qualified domain name at startup.
d974a1624c0bb4f1c2e8b36fcf8ba1f12284ed8dsf PR#7170 [Danek Duvall <dduvall@eng.sun.com>]
1a8c329935111a5059363efe927d631371b78414minfrin *) Make mod_cgid work with SuExec. [Ryan Bloom]
fac37c9794a18c24d187f4e0f97a9476c4344118minfrin *) Adopt apr user/group name features for mod_rewrite. Eliminates some
fac37c9794a18c24d187f4e0f97a9476c4344118minfrin 'extra' stat's for user/group since they should never occur, and now
fc58f0ff708564b67cd578c626b6500d1cd63a51sf resolves the SCRIPT_USER and SCRIPT_GROUP, including on WinNT NTFS
fc58f0ff708564b67cd578c626b6500d1cd63a51sf volumes. [William Rowe]
fc58f0ff708564b67cd578c626b6500d1cd63a51sf *) Adopt apr features to simplify mod_includes. This changes the
fc58f0ff708564b67cd578c626b6500d1cd63a51sf behavior of the USER_NAME variable, unknown uid's are now reported
fc58f0ff708564b67cd578c626b6500d1cd63a51sf as USER_NAME="<unknown>" rather than the old user#000 result.
4e5fe1d203ddf3956a77be3c797c01fd4be8b211sf WinNT now resolves USER_NAME on NTFS volumes. [William Rowe]
4e5fe1d203ddf3956a77be3c797c01fd4be8b211sf *) Adopt apr features for simplifing mod_userdir, and accept the new
dcb4802d9ea9fc4ba89671e8f8faa70c9535b202minfrin Win32/OS2 exceptions without hiccuping. [William Rowe]
dcb4802d9ea9fc4ba89671e8f8faa70c9535b202minfrin *) Replace configure --with-optim option by using and saving the
dcb4802d9ea9fc4ba89671e8f8faa70c9535b202minfrin environment variable OPTIM instead. This is needed because configure
dcb4802d9ea9fc4ba89671e8f8faa70c9535b202minfrin options do not support multiple flags separated by spaces.
ce4dc40a4e87991087488f70d96d3447d7557294sf [Roy Fielding]
0119f1301a880cf39c0aad0fa2a77240af964691sf *) Fix some byterange handling. If we get a byte range that looks like
ce4dc40a4e87991087488f70d96d3447d7557294sf "-999999" where that is past the end of the file, we should return
9db0b0ee6ffade769db57b37a06b3f4849b5d367minfrin a PARTIAL CONTENT status code, and return the whole file as one big
9db0b0ee6ffade769db57b37a06b3f4849b5d367minfrin byterange. This matches the 1.3 handling now. [Ryan Bloom]
9db0b0ee6ffade769db57b37a06b3f4849b5d367minfrin *) Make the error bucket a real meta-data bucket. This means that the
033d82412cc4af9d939b7e1645425b9e7f4ebf60minfrin bucket length is 0, and a read returns NULL data. If one of these
033d82412cc4af9d939b7e1645425b9e7f4ebf60minfrin buckets is passed down after the headers are sent, this data will
033d82412cc4af9d939b7e1645425b9e7f4ebf60minfrin just be ignored. [Greg Stein]
033d82412cc4af9d939b7e1645425b9e7f4ebf60minfrin *) The prefork MPM wasn't killing child processes correctly if a restart
1b390add6886fb1c0acdea82be0ef0920f1158casf signal was received while the process was serving a request. The child
1b390add6886fb1c0acdea82be0ef0920f1158casf process would become the equivalent of a second parent process. If
1b390add6886fb1c0acdea82be0ef0920f1158casf we break out of the accept loop, then we need to do die after cleaning
5fd471ec540a088d143a223096d35661bf87c15btrawick up after ourselves. [Ryan Bloom]
5fd471ec540a088d143a223096d35661bf87c15btrawick *) Change the Prefork MPM to use SIGWINCH instead of SIGUSR1 for graceful
f2472b79d241967fa28f8284470b1c5cafee7b12wrowe restarts. [Ryan Bloom]
f2472b79d241967fa28f8284470b1c5cafee7b12wrowe *) Modify the apr_stat/lstat/getfileinfo calls within apache to use
f2472b79d241967fa28f8284470b1c5cafee7b12wrowe the most optimal APR_FINFO_wanted bits. This spares Win32 from
f2472b79d241967fa28f8284470b1c5cafee7b12wrowe performing very expensive owner, group and permission lookups
f2472b79d241967fa28f8284470b1c5cafee7b12wrowe and allows the server to function until these apr_finfo_t fields
c9201c790435060b1322d86949183085ca5f6c0cwrowe are implemented under Win32. [William Rowe]
c9201c790435060b1322d86949183085ca5f6c0cwrowe *) Support for typedsafe optional functions - that is functions exported by
c9201c790435060b1322d86949183085ca5f6c0cwrowe optional modules, which, therefore, may or may not be present, depending
c9201c790435060b1322d86949183085ca5f6c0cwrowe on configuration. See the experimental modules mod_optional_fn_{ex,im}port
c9201c790435060b1322d86949183085ca5f6c0cwrowe for sample code. [Ben Laurie]
38bd9dba7627c6b2f331cd0731c272ee6bd876b1wrowe *) filters can now report an HTTP error to the server. This is done
38bd9dba7627c6b2f331cd0731c272ee6bd876b1wrowe by sending a brigade where the first bucket is an error_bucket.
38bd9dba7627c6b2f331cd0731c272ee6bd876b1wrowe This bucket is a simple bucket that stores an HTTP error and
c1ba97f41a4526d84fb7a1596afe3dd11e065a2cminfrin a string. Currently the string is not used, but it may be needed
c1ba97f41a4526d84fb7a1596afe3dd11e065a2cminfrin to output an error log. The http_header_filter will find this
c1ba97f41a4526d84fb7a1596afe3dd11e065a2cminfrin bucket, and output the error text, and then return
c1ba97f41a4526d84fb7a1596afe3dd11e065a2cminfrin AP_FILTER_ERROR, which informs the server that the error web page
c1ba97f41a4526d84fb7a1596afe3dd11e065a2cminfrin has already been sent. [Ryan Bloom]
4ed33a14c26d78bbe6bd0b9d5091cdb184e348basf *) If we get an error, then we should remove all filters except for
4ed33a14c26d78bbe6bd0b9d5091cdb184e348basf those critical to serving a web page. This fixes a bug, where
4ed33a14c26d78bbe6bd0b9d5091cdb184e348basf error pages were going through the byterange filter, even though
97cc46935ec496b83fef9d6feb094d706c895b3bsf that made no sense. [Ryan Bloom]
72e3829dbd019a63b1091987fc6e7b1c028b089cminfrin *) Relax the syntax checking of Host: headers in order to support
72e3829dbd019a63b1091987fc6e7b1c028b089cminfrin iDNS. PR#6635 [Tony Finch]
1081aff66582e2cac722fb3b6f09da4f524b5962minfrin *) Cleanup the byterange filter to use the apr_brigade_partition
1081aff66582e2cac722fb3b6f09da4f524b5962minfrin and apr_bucket_copy functions. This removes a lot of very messy
1081aff66582e2cac722fb3b6f09da4f524b5962minfrin code, and hopefully makes this filter more stable.
9f0c32ae318f33c93a47d83f4709242c18339bbcminfrin [Ryan Bloom]
9f0c32ae318f33c93a47d83f4709242c18339bbcminfrin *) Remove AddModule and ClearModuleList directives. Both of these
9f0c32ae318f33c93a47d83f4709242c18339bbcminfrin directives were used to ensure that modules could be enabled
9474e446514b06765775eb0c1ec6645e2c5e50f6minfrin in the correct order. That requirement is now gone, because
9474e446514b06765775eb0c1ec6645e2c5e50f6minfrin we use hooks to ensure that modules are in the correct order.
9474e446514b06765775eb0c1ec6645e2c5e50f6minfrin [Ryan Bloom]
b7557ab9828d2017224a12968f82c3118b6a8c0aminfrin *) When SuExec is specified, we need to add it to the list of
b7557ab9828d2017224a12968f82c3118b6a8c0aminfrin targets to be built. If we don't, then any changes to the
b7557ab9828d2017224a12968f82c3118b6a8c0aminfrin configuration won't affect SuExec, unless 'make suexec' is
b7557ab9828d2017224a12968f82c3118b6a8c0aminfrin specifically run. [Ryan Bloom]
b7557ab9828d2017224a12968f82c3118b6a8c0aminfrin *) Cleaned out open_file from mod_file_cache, as apr now accepts
9474e446514b06765775eb0c1ec6645e2c5e50f6minfrin the APR_XTHREAD argument to open a file for consumption by
9474e446514b06765775eb0c1ec6645e2c5e50f6minfrin parallel threads on win32. [William Rowe]
b7557ab9828d2017224a12968f82c3118b6a8c0aminfrin *) Correct a bug in determining when we follow symlinks. The code
e302f38fd646764ce1a1e1c578d794aef514a9e5sf expected a stat -1 result, not an apr_status_t positive error.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf Also check if the APR_FINFO_USER fields are valid before we
e302f38fd646764ce1a1e1c578d794aef514a9e5sf follow the link. [William Rowe]
e302f38fd646764ce1a1e1c578d794aef514a9e5sf *) Move initgroupgs, ap_uname2id and ap_gname2id from util.c to
9c233808c898095865fcc0a2dc1cf594d0d8faf3sf mpm_common.c. These functions are only valid on some platforms,
9c233808c898095865fcc0a2dc1cf594d0d8faf3sf so they should not be in the main-line code. [Ryan Bloom]
3b41ccdaa163f4e900bbf8a7aa6a366df033822dminfrin *) Remove ap_chdir_file(). This function is not thread-safe,
3b41ccdaa163f4e900bbf8a7aa6a366df033822dminfrin and nobody is currently using it. [Ryan Bloom]
3b41ccdaa163f4e900bbf8a7aa6a366df033822dminfrin *) Do not try to run make depend if there are no .c files in the
28587db43bc4bea96a36fbcffdd967e7b422bb97minfrin current directory, doing so makes `make depend` fail.
28587db43bc4bea96a36fbcffdd967e7b422bb97minfrin [Ryan Bloom]
28587db43bc4bea96a36fbcffdd967e7b422bb97minfrin *) Update highperformance.conf to work with either prefork or
5a2dcc476c33985b7681aa72256bcd7266057eddsf pthreads mpms. [Greg Ames]
5a2dcc476c33985b7681aa72256bcd7266057eddsf *) Stop checking to see if this is a pipelined request if we know
e08076ca56e6cb68b30846b9e9339061058aae6dpoirier for a fact that it isn't. Basically, if r->connection->keepalive == 0.
e08076ca56e6cb68b30846b9e9339061058aae6dpoirier This keeps us from making an extra read call when serving a 1.0
e08076ca56e6cb68b30846b9e9339061058aae6dpoirier request. [Ryan Bloom and Greg Stein]
e08076ca56e6cb68b30846b9e9339061058aae6dpoirier *) Fix the handling of variable expansion look-ahead in mod_rewrite,
e08076ca56e6cb68b30846b9e9339061058aae6dpoirier i.e. syntax like %{LA-U:REMOTE_USER}, and also fix the parsing of
e08076ca56e6cb68b30846b9e9339061058aae6dpoirier more complicated nested RewriteMap lookups. PR#7087 [Tony Finch]
f3a19422957c2e9eb827c8e38e5982f678591aa5minfrin *) Fix the RFC number mentioned when complaining about a missing
b7a2f855b5e31abc24dab2eef28e9e2f985ae25brpluem Host: header. PR#7079 [Alexey Toptygin <alexeyt@wam.umd.edu>]
fa1c7ce09927decc1eecd1e9a35cc5331078a052covener *) Fix an endless loop in ab which occurred when ab was posting
fa1c7ce09927decc1eecd1e9a35cc5331078a052covener and the server dropped the connection unexpectedly.
fa1c7ce09927decc1eecd1e9a35cc5331078a052covener [Jeff Trawick]
ac45a43afbf38aa4a91c1402c6beef6ef8a2696dniq *) Fix a segfault while handling request bodies in ap_http_filter().
ac45a43afbf38aa4a91c1402c6beef6ef8a2696dniq This problem has been seen with mod_dav usage as well as with
ac45a43afbf38aa4a91c1402c6beef6ef8a2696dniq requests where the body was just being discarded. [Jeff Trawick]
b2b9b7f0644773b50aee41956a841ac884086250niq *) Some adjustment on the handling and automatic setting (via
b2b9b7f0644773b50aee41956a841ac884086250niq hints.m4) of various compilation flags (eg: CFLAGS). Also,
b2b9b7f0644773b50aee41956a841ac884086250niq add the capability to specify flags (NOTEST_CFLAGS and
b2b9b7f0644773b50aee41956a841ac884086250niq NOTEST_LDFLAGS) which are used to compile Apache, but
b2b9b7f0644773b50aee41956a841ac884086250niq not used during the configuration process. Useful for
b4f348c8e74ba8166410ddeffac03e4887696788niq flags like "-Werror". [Jim Jagielski]
b4f348c8e74ba8166410ddeffac03e4887696788niq *) Stop using environment variables to force debug mode or
4fda5fb4cc40703a76e261bbf21ec1d6b51b7d3fjim no detach. We now use the -D command line argument to
4fda5fb4cc40703a76e261bbf21ec1d6b51b7d3fjim specify the correct mode. -DONE_PROCESS and -DNO_DETACH.
fa0dc2a4f675a868378a52946e5b244d6bf41196sf [Greg Stein, Ryan Bloom]
0807f6da6091b748ab47c21ba66252fe8da2a966sf *) Change handlers to use hooks. [Ben Laurie]
0807f6da6091b748ab47c21ba66252fe8da2a966sf *) Stop returning copies of filenames from both apr_file_t and
b92a868b537899a51efd8c200c396fa51c63839dtrawick apr_dir_t. We pstrdup the filenames that we store in the
b92a868b537899a51efd8c200c396fa51c63839dtrawick actual structures, so we don't need to pstrdup the strings again.
4fda5fb4cc40703a76e261bbf21ec1d6b51b7d3fjim [Ryan Bloom]
dc52cac281d8b311dc47d115ed979f923b667679rjung *) mod_cgi: Fix some problems where the wrong error value was being
dc52cac281d8b311dc47d115ed979f923b667679rjung traced. [Jeff Trawick]
2534e869d2ba209bd0c43717ea80992e6de0c51djim *) EBCDIC: Fix some missing ASCII conversion on some protocol data.
f8033d657a57eab45af44368774d8beb3e4f7f35pquerna [Jeff Trawick]
f8033d657a57eab45af44368774d8beb3e4f7f35pquerna *) Add generic hooks. [Ben Laurie]
02fd88c85a9850109753b87612955ad372de1575sf *) Use a real pool to dup the error log descriptor. [Ryan Bloom]
02fd88c85a9850109753b87612955ad372de1575sf *) Fix a segfault caused by mod_ext_filter when the external filter
da48ae521bcc2751f8eb8dfb02f7aab0f46943c6sf program does not exist. [Jeff Trawick]
da48ae521bcc2751f8eb8dfb02f7aab0f46943c6sf *) Fix an output truncation error when on an HTTP >= 1.0 request an
1374472d83ce061a431b7f6eeb5e5135fb4cd922jim object of size between DEFAULT_BUCKET_SIZE and AP_MIN_BYTES_TO_WRITE
1374472d83ce061a431b7f6eeb5e5135fb4cd922jim was served through mod_charset_lite (or anything else that would
1374472d83ce061a431b7f6eeb5e5135fb4cd922jim create a transient bucket in this size range). ap_bucket_make_heap()
1374472d83ce061a431b7f6eeb5e5135fb4cd922jim silently failed (fixed), transient_setaside() discovered it, but
ab7a123efe997d907274eb672ab2b36746bb3f57sf ap_save_brigade() ignored it (fixed). [Jeff Trawick]
ab7a123efe997d907274eb672ab2b36746bb3f57sf *) Ignore \r\n or \n when using PEEK mode for input filters. The problem
ab7a123efe997d907274eb672ab2b36746bb3f57sf is that some browsers send extra lines at the end of POST requests, and
a44d29a3794110c558c940bd903a1930d717a7d7sf we don't want to delay sending data back to the user just because the
a44d29a3794110c558c940bd903a1930d717a7d7sf browser isn't well behaved. [Ryan Bloom]
a44d29a3794110c558c940bd903a1930d717a7d7sf *) Get SuEXEC working again. We can't send absolute paths to suExec
70003ce816d7851e49ecb0cdc5137becd647ed18niq because it refuses to execute those programs. SuEXEC also wasn't
70003ce816d7851e49ecb0cdc5137becd647ed18niq always recognizing configuration changes made using the autoconf
ef766b4977fa0c796f1d1fa828c5868d5a6bde74rbowen setup. [Ryan Bloom]
815067bc5eff8fc218019e18ee5ea868372917cdsf *) Allow the buildconf process to find the config.m4 files in the correct
815067bc5eff8fc218019e18ee5ea868372917cdsf order. Basically, we can now name config.m4 files as config\d\d.m4,
9f2c7096ac1f41aca1328d304d54dbaef4ebb06drjung and we will sort them correctly when inserting them into the build
2534e869d2ba209bd0c43717ea80992e6de0c51djim process. [Ryan Bloom]
39d67f66729a7008c1e73d65a81e778ce819a227rjung *) Get mod_cgid to use apr calls for creating the actual CGI process.
39d67f66729a7008c1e73d65a81e778ce819a227rjung This also allows mod_cgid to use ap_os_create_priviledged_process,
da20b997bf4652f7597e0a7845db371aab2f7187rjung thus allowing for SuExec execution from mod_cgid. Currently, we do
da20b997bf4652f7597e0a7845db371aab2f7187rjung not support everything that standard SuExec supports, but at least
133cbcba0df4ba0e72f7eaaaebabe119f145f261niq it works minimally now. [Ryan Bloom]
133cbcba0df4ba0e72f7eaaaebabe119f145f261niq *) Allow SuExec to be configured from the ./configure command line.
c8dcde16853eef36b713d4633fac83b66e49aa5eniq [Ryan Bloom]
c8dcde16853eef36b713d4633fac83b66e49aa5eniq *) Update some of the docs in README and INSTALL to reflect some of
1a7a4f8c6a312cb237e428c77da0792eb165dc7aniq the changes in Apache 2.0 [Cliff Woolley <cliffwoolley@yahoo.com>]
1a7a4f8c6a312cb237e428c77da0792eb165dc7aniq *) If we get EAGAIN returned from the call to apr_sendfile, then we
1a7a4f8c6a312cb237e428c77da0792eb165dc7aniq need to call sendfile again. This gets us serving large files
927e277b4be750e06960b3d4f1c2b1ca146e0555niq such as apache_2.0a9.tar.gz on FreeBSD again. [Ryan Bloom]
927e277b4be750e06960b3d4f1c2b1ca146e0555niq *) Get the support programs building cleanly again.
83de39879307034216ce0af15a47a88a55af11e3rjung [Cliff Woolley <cliffwoolley@yahoo.com>]
83de39879307034216ce0af15a47a88a55af11e3rjung *) The Apache/Win32 Apache.exe and dll's now live in bin. The
7cfa48136e3b42a14cdff1a46b60f4e4d2ad5291niq current directory logic now backs up over bin/ to determine the
7cfa48136e3b42a14cdff1a46b60f4e4d2ad5291niq server root from the Apache.exe path.
7cfa48136e3b42a14cdff1a46b60f4e4d2ad5291niq *) Apache/Win32 now follows the standard conventions of mod_foo.so
7cfa48136e3b42a14cdff1a46b60f4e4d2ad5291niq loadable modules, dynamic libs are all named libfoo.dll, and the
0a4924de8350e2bbfa16a27f42ff0bc61aa52d43rjung makefile.win populates the include, lib and libexec directories.
0a4924de8350e2bbfa16a27f42ff0bc61aa52d43rjung *) Apache is now IPv6-capable. On systems where APR supports IPv6,
8e8568ec7d29f056a2a4942d1d50481e441c25d9covener Apache gets IPv6 listening sockets by default. Additionally, the
4ea8055e720d18f386b8026b546e5836ecccba4arjung Listen, NameVirtualHost, and <VirtualHost> directives support IPv6
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe numeric address strings (e.g., "Listen [fe80::1]:8080").
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe [Jeff Trawick]
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe *) Modify the install directory layout. Modules are now installed in
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe modules/. Shared libraries should be installed in libraries/, but
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe we don't have any of those on Unix yet. All install directories
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe are modifyable at configure time. [Ryan Bloom]
46fdfef7dfc745effe179387e1dcb8245d3804batrawick *) Install all header files in the same directory on Unix. [Ryan Bloom]
46fdfef7dfc745effe179387e1dcb8245d3804batrawick *) Get the functions in server/linked into the server, regardless of
46fdfef7dfc745effe179387e1dcb8245d3804batrawick which modules linked into the server. This uses the same hack
46fdfef7dfc745effe179387e1dcb8245d3804batrawick for Apache that we use for APR and apr-util to ensure all of the
46fdfef7dfc745effe179387e1dcb8245d3804batrawick necessary functions are linked. As a part of thise, the CHARSET_EBCDIC
46fdfef7dfc745effe179387e1dcb8245d3804batrawick was renamed to AP_CHARSET_EBCDIC for namespace protection, and to make
46fdfef7dfc745effe179387e1dcb8245d3804batrawick the scripts a bit easier.
46fdfef7dfc745effe179387e1dcb8245d3804batrawick [Ryan Bloom]
46fdfef7dfc745effe179387e1dcb8245d3804batrawick *) Rework the RFC1413 handling to make it thread-safe, use a timeout
46fdfef7dfc745effe179387e1dcb8245d3804batrawick on the query, and remove IPv4 dependencies. [Jeff Trawick]
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe *) Get all of the auth modules to the point that they will install and
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe be loadable into the server. Our new build/install mechanism expects
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe that all modules will have a common name format. The auth modules
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe didn't use that format, so we didn't install them properly.
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe [Ryan Bloom]
f55c048e33a905f9f771b3aed309373bdf547944jorton *) API routines ap_pgethostbyname() and ap_pduphostent() are no longer
f55c048e33a905f9f771b3aed309373bdf547944jorton available. Use apr_getaddrinfo() instead. [Jeff Trawick]
cddaaa6378c5082e8dff0d11dc21cf6c4928ecbcjorton *) Get "NameVirtualHost *" working in 2.0. [Ryan Bloom]
cddaaa6378c5082e8dff0d11dc21cf6c4928ecbcjorton *) Return HTTP_RANGE_NOT_SATISFIABLE if the every range requested starts
cddaaa6378c5082e8dff0d11dc21cf6c4928ecbcjorton after the end of the response. [Ryan Bloom]
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrin *) Get byterange requests working with responses that do not have a
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrin content-length. Because of the way byterange requests work, we have to
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrin have all of the data before we can actually do the byterange, so we
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrin can compute the content-length in the byterange filter.
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrin [Ryan Bloom]
a89e2c1651aab7734345fa3a6712a757708535ferjung *) Get exe CGI's working again on Windows.
a89e2c1651aab7734345fa3a6712a757708535ferjung [Allan Edwards]
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung *) Get mod_cgid and mod_rewrite to work as DSOs by changing the way
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung they keep track of whether or not their post config hook has been
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung called before. Instead of a static variable (which is replaced when
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung the DSO is loaded a second time), use userdata in the process pool.
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung [Jeff Trawick]
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjungChanges with Apache 2.0a9
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung *) Win32 now requires perl to complete the final install step for users
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung to build + install on Win32. Makefile.win now rewrites @@ServerRoot@
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung and installs the conf, htdocs and htdocs/manual directories.
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung [William Rowe]
23bc6974af15e69a9aa4b5b3fc06b800b53ca234sf *) Make mod_include use a hash table to associate directive tags with
23bc6974af15e69a9aa4b5b3fc06b800b53ca234sf functions. This allows modules to implement their own SSI tags easily.
23bc6974af15e69a9aa4b5b3fc06b800b53ca234sf The idea is simple enough, a module can insert it's own tag and function
298eb744831be682f749ffe1c01c88d82adf215esf combination into a hash table provided by mod_include. While mod_include
298eb744831be682f749ffe1c01c88d82adf215esf parses an SSI file, when it encounters a tag in the file, it does a
298eb744831be682f749ffe1c01c88d82adf215esf hash lookup to find the function that implements that tag, and passes
298eb744831be682f749ffe1c01c88d82adf215esf all of the relevant data to the function. That function is then
298eb744831be682f749ffe1c01c88d82adf215esf responsible for processing the tag and handing the remaining data back
298eb744831be682f749ffe1c01c88d82adf215esf to mod_include for further processing.
298eb744831be682f749ffe1c01c88d82adf215esf [Paul J. Reder <rederpj@raleigh.ibm.com>]
298eb744831be682f749ffe1c01c88d82adf215esf *) Get rid of ap_new_apr_connection(). ap_new_connection() now has
b9aa9ca00496f67eb755d67764775ff23ac7eb03covener fewer parameters: the local and remote socket addresses were removed
b9aa9ca00496f67eb755d67764775ff23ac7eb03covener from the parameter list because all required information is available
f2386b627177c7a80d38fed6ec0aed3c086909c1covener via the APR socket. [Jeff Trawick]
70d4e28f12f8cc2e130457c841095dc69c67cf31minfrin *) Distribution directory structure reorganized to reflect a
70d4e28f12f8cc2e130457c841095dc69c67cf31minfrin normal source distribution with external install targets.
70d4e28f12f8cc2e130457c841095dc69c67cf31minfrin [Roy Fielding]
70d4e28f12f8cc2e130457c841095dc69c67cf31minfrin *) The MPMs that need multiple segments of shared memory now create
1a668f25bc6b4b111822caaba70bb9289d64ade5niq two apr_shmem_t variables, one for each shared memory allocation.
1a668f25bc6b4b111822caaba70bb9289d64ade5niq the problem is that we can't determine how much memory will be required
1a668f25bc6b4b111822caaba70bb9289d64ade5niq for shared memory allocations once we try to allocate more than one
7a6c86627922e38fa227943b9f888f96109681e5covener variable. The MM code automatically aligns the shared memory allocations,
7a6c86627922e38fa227943b9f888f96109681e5covener so we end up needing to pad the amount of shared memory we want based
7a6c86627922e38fa227943b9f888f96109681e5covener on how many variables will be allocated out of the shared memory segment.
7a6c86627922e38fa227943b9f888f96109681e5covener It is just easier to create a second apr_shmem_t variable, and two
17efe57eb8d88fa0d371f4ac4939dbbbe78fd09bcovener shmem memory blocks.
17efe57eb8d88fa0d371f4ac4939dbbbe78fd09bcovener [Ryan Bloom]
17efe57eb8d88fa0d371f4ac4939dbbbe78fd09bcovener *) Cleanup the export list a bit. This creates a single unified list of
17efe57eb8d88fa0d371f4ac4939dbbbe78fd09bcovener functions exported by APR. The export list is generated at configure
8068423ee2d80a7c42b2325a71c24ac9485327cecovener time, and that list is then used to generate the exports.c file.
8068423ee2d80a7c42b2325a71c24ac9485327cecovener Because of the way the export list is generated, we only export those
8068423ee2d80a7c42b2325a71c24ac9485327cecovener functions that are valid on the platform we are building on.
8068423ee2d80a7c42b2325a71c24ac9485327cecovener [Ryan Bloom]
7703bad94964cc64022e08e2d1ae2c5fbfe2d3c6covener *) Enable logging the cookie with mod_log_config
7703bad94964cc64022e08e2d1ae2c5fbfe2d3c6covener [Sander van Zoest <sander@covalent.net>]
7703bad94964cc64022e08e2d1ae2c5fbfe2d3c6covener *) Fix a segfault in mod_info when it reaches the end of the configuration.
689ee47a7329cf0d0ce4c5a98670b33fcf00d81btrawick [Jeff Trawick]
689ee47a7329cf0d0ce4c5a98670b33fcf00d81btrawick *) Added lib/aputil/ as a placeholder for utility functions which are not
aa8df43397bb42245e1633f12e2300c9715f3a7btrawick specific to the Apache HTTP Server (but do not make sense with APR).
aa8df43397bb42245e1633f12e2300c9715f3a7btrawick The first utility is "apu_dbm": a set of functions to work with DBM
5a2f24f5e41d52e59e1c11e90cd423b8967d4184trawick files. This first version can be compiled for SDBM or GDBM databases.
19ce7effbcc8a735f1a883f9266e086fde2adb63poirier [Greg Stein]
19ce7effbcc8a735f1a883f9266e086fde2adb63poirier *) Complete re-write of mod_include. This makes mod_include a filter that
5d58d0bc1ce35e0ee814b6c2dc21a5286e460b87covener uses buckets directly. This has now served the FAQ correctly.
8eac2273e3d5f2dc8464fada76fcfbf33a938a2fcovener [Paul Reder <rederpj@raleigh.ibm.com>]
8eac2273e3d5f2dc8464fada76fcfbf33a938a2fcovener *) Allow modules to specify the first filter in a sub_request when
8eac2273e3d5f2dc8464fada76fcfbf33a938a2fcovener making the sub_request. This keeps modules from having to change the
c6124d7fde07b58d51785d0f1cb509026eeaa138jim output_filter immediately after creating the sub-request, and therefore
c6124d7fde07b58d51785d0f1cb509026eeaa138jim skip the sub_req_output_filter. [Ryan Bloom]
c6124d7fde07b58d51785d0f1cb509026eeaa138jim *) Update ab to accept URLs with IPv6 literal address strings (in the
680e7b4c70df00b695883c824947ca6ec15d69ecsf format described in RFC 2732), and to build Host header fields in
680e7b4c70df00b695883c824947ca6ec15d69ecsf the same format. This allows IPv6 literal address strings to be
680e7b4c70df00b695883c824947ca6ec15d69ecsf used with ab. This support has been tested against Apache 1.3 with
3a49a6c98ef80c71830e66e7f8f46083001b494ctrawick the KAME patch, but Apache 2.0 does not yet work with this format
3a49a6c98ef80c71830e66e7f8f46083001b494ctrawick of the Host header field. [Jeff Trawick]
6fee4e2faa2e45fe2636d01e35d03c2cf0c9d431minfrin *) Accomodate an out-of-space condition in the piped logs and the
6fee4e2faa2e45fe2636d01e35d03c2cf0c9d431minfrin rotatelogs.c code, and no longer churn log processes for this
6fee4e2faa2e45fe2636d01e35d03c2cf0c9d431minfrin condition. [Victor J. Orlikowski]
03aa31ad82759363ba1a55589e517b16308ef635minfrin *) Add support for partial writes with apr_sendfile() to core_output_filter.
03aa31ad82759363ba1a55589e517b16308ef635minfrin [Greg Ames]
03aa31ad82759363ba1a55589e517b16308ef635minfrinChanges with Apache 2.0a8
9fe23388f983cb652b5d68e2bd92aa9f0568c574minfrin *) Add a directive to mod_mime so that filters can be associated with
9fe23388f983cb652b5d68e2bd92aa9f0568c574minfrin a given mime-type.
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowe [Ryan Bloom]
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowe *) Get multi-views working again. We were setting the path_info
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowe field incorrectly if we couldn't find the specified file.
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowe [Ryan Bloom]
433d36fd71af86369719893afe09877be4cb4f3asf *) Fix 304 processing. The core should never try to send the headers
433d36fd71af86369719893afe09877be4cb4f3asf down the filter stack. Always, just setup the table in the request
14e5a8cc15b1dcc26ad5420973304e53a9e5406bsf record, and let the header filter convert it to data that is ready
14e5a8cc15b1dcc26ad5420973304e53a9e5406bsf for the network.
14e5a8cc15b1dcc26ad5420973304e53a9e5406bsf [Ryan Bloom]
46fdfef7dfc745effe179387e1dcb8245d3804batrawick *) More fixes for the proxy. There are still bugs in the proxy code,
46fdfef7dfc745effe179387e1dcb8245d3804batrawick but this has now proxied www.yahoo.com and www.ntrnet.net (my ISP)
46fdfef7dfc745effe179387e1dcb8245d3804batrawick successfully.
46fdfef7dfc745effe179387e1dcb8245d3804batrawick [Ryan Bloom]
46fdfef7dfc745effe179387e1dcb8245d3804batrawick *) Fix params for apr_getaddrinfo() call in connect proxy handler.
46fdfef7dfc745effe179387e1dcb8245d3804batrawick [Chuck Murcko]
46fdfef7dfc745effe179387e1dcb8245d3804batrawick *) APR: Add new apr_getopt_long function to handle long options.
46fdfef7dfc745effe179387e1dcb8245d3804batrawick [B. W. Fitzpatrick <fitz@red-bean.com>]
573f949c582f06bd738a96196f40b646b6d540b8rpluem *) APR: Change apr_connect() to take apr_sockaddr_t instead of hostname.
573f949c582f06bd738a96196f40b646b6d540b8rpluem Add generic apr_create_socket(). Add apr_getaddrinfo() for doing
c44902d07eab7deb803a59e959f57cf3b7d56655poirier hostname resolution/address string parsing and building
c44902d07eab7deb803a59e959f57cf3b7d56655poirier apr_sockaddr_t. Add apr_get_sockaddr() for getting the address
c44902d07eab7deb803a59e959f57cf3b7d56655poirier of one of the apr_sockaddr_t structures for a socket. Change
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener apr_bind() to take apr_sockaddr_t. [David Reid and Jeff Trawick]
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener *) Remove the BUFF from the HTTP proxy. This is still a bit ugly, but
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener I have proxied pages with it, cleanup will commence soon.
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener [Ryan Bloom]
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener *) Make the proxy work with filters. This isn't perfect, because we
4ac05f9625e37cc421f4ea548422827b4de163d7niq aren't dealing with the headers properly. [Ryan Bloom]
4ac05f9625e37cc421f4ea548422827b4de163d7niq *) Do not send a content-length iff the C-L is 0 and this is a head
4ac05f9625e37cc421f4ea548422827b4de163d7niq request. [Ryan Bloom]
6999a76d8eb5ef6b4b295e51df0b2fb6064bd373covener *) Make cgi-bin work as a regular directory when using mod_vhost_alias
6999a76d8eb5ef6b4b295e51df0b2fb6064bd373covener with no VirtualScriptAlias directives. PR#6829 [Tony Finch]
ead0b57bbeaec5acb14f931b5641962f429dabc9trawick *) Remove BUFF from the PROXY connect handling. [Ryan Bloom]
ead0b57bbeaec5acb14f931b5641962f429dabc9trawick *) Get the default_handler to stop trying to deal with HEAD requests.
77d6f9d5c2a5cab805e9ace265628f3d791b937dniq The idea is to let the content-length filter compute the C-L before
77d6f9d5c2a5cab805e9ace265628f3d791b937dniq we try to send the data. If we can get the C-L correctly, then we
77d6f9d5c2a5cab805e9ace265628f3d791b937dniq should send it in the HEAD response.
a9d359cdeb1cee65cdb9fab5e19ffb4846172183trawick [Ryan Bloom]
9f35dd32eedd781d218a85f0315ea5526a8adc84minfrin *) The Header filter can now determine if a body should be sent based
9f35dd32eedd781d218a85f0315ea5526a8adc84minfrin on r->header_only. The general idea of this is that if we delay
9f35dd32eedd781d218a85f0315ea5526a8adc84minfrin deciding to send the body, then we might be able to compute the
9f35dd32eedd781d218a85f0315ea5526a8adc84minfrin content-length correctly, which will help caching proxies to cache
5dc4220fc22561537ce1421a03e11846a5b719ebminfrin our data better. Any handler that doesn't want to try to compute
5dc4220fc22561537ce1421a03e11846a5b719ebminfrin the content-length can just send an EOS bucket without data and
5dc4220fc22561537ce1421a03e11846a5b719ebminfrin everything will just work.
5dc4220fc22561537ce1421a03e11846a5b719ebminfrin [Ryan Bloom]
bd27541a0c96caa881f17a490e23cdd220d480c8poirier *) Add the referer to the error log if one is available.
a9d359cdeb1cee65cdb9fab5e19ffb4846172183trawick [Markus Gyger <mgyger@itr.ch>]
68c4447ba8e057cf38cbbec918e0549b817f20b4minfrin *) Mod_info.c has now been ported to Apache 2.0. As a part of this
68c4447ba8e057cf38cbbec918e0549b817f20b4minfrin change, the root of the configuration tree has been exposed to modules
68c4447ba8e057cf38cbbec918e0549b817f20b4minfrin as ap_conftree.
68c4447ba8e057cf38cbbec918e0549b817f20b4minfrin [Ryan Morgan <rmorgan@covalent.net>]
e33d0698670fead33dbd7c907363053b9e2be454minfrin *) Get the core_output_filter to use the bucket interface directly.
e33d0698670fead33dbd7c907363053b9e2be454minfrin This keeps us from calling the content-length filter multiple times
e33d0698670fead33dbd7c907363053b9e2be454minfrin for a simple static request.
e33d0698670fead33dbd7c907363053b9e2be454minfrin [Ryan Bloom]
cf8a8738330694e60bad421fcc8361d80b0e9124minfrin *) We are sending the content-type correctly now.
cf8a8738330694e60bad421fcc8361d80b0e9124minfrin [Ryan Bloom and Will Rowe]
4ea8055e720d18f386b8026b546e5836ecccba4arjung *) APR on FreeBSD: Fix a bug in apr_sendfile() which caused us to report
a9d359cdeb1cee65cdb9fab5e19ffb4846172183trawick a bogus bytes-sent value when the only thing being sent was trailers
a9d359cdeb1cee65cdb9fab5e19ffb4846172183trawick and writev() returned an error (or EAGAIN). [Jeff Trawick]
fd80868005a61e747bc45b39df83cae7abb3d151pgollucci *) Get SINGLE_LISTEN_UNSERIALIZED_ACCEPT working again. This uses the
fd80868005a61e747bc45b39df83cae7abb3d151pgollucci hints file to determine which platforms define
fd80868005a61e747bc45b39df83cae7abb3d151pgollucci SINGLE_LISTEN_UNSERIALIZED_ACCEPT.
60a8830541cd85d23a42ccb1639bc4744de9d526poirier [Ryan Bloom]
60a8830541cd85d23a42ccb1639bc4744de9d526poirier *) APR: add apr_get_home_directory() [Jeff Trawick]
5ae15cd9d22fb3bdfd2eb0b9761c4ef07fbf2f96minfrin *) Initial import of 1.3-current mod_proxy. [Chuck Murcko]
5ae15cd9d22fb3bdfd2eb0b9761c4ef07fbf2f96minfrin *) Not all platforms have INADDR_NONE defined by default. Apache
5ae15cd9d22fb3bdfd2eb0b9761c4ef07fbf2f96minfrin used to make this check and define INADDR_NONE if appropriate,
69fc9805c344b2dd5fd49a4f75cbf55dedeac7d6minfrin but APR needs the check too, and I suspect other applications will
69fc9805c344b2dd5fd49a4f75cbf55dedeac7d6minfrin as well. APR now defines APR_INADDR_NONE, which is always a valid
69fc9805c344b2dd5fd49a4f75cbf55dedeac7d6minfrin value on all platforms.
46fdfef7dfc745effe179387e1dcb8245d3804batrawick [Branko �ibej <brane@xbc.nu>]
46fdfef7dfc745effe179387e1dcb8245d3804batrawick *) Destroy the pthread mutex in lock_intra_cleanup() for PR#6824.
46fdfef7dfc745effe179387e1dcb8245d3804batrawick [Shuichi Kitaguchi <ki@hh.iij4u.or.jp>]
e1c6c1dac26c35ecebe158438bb0c56afbb9bfb0sf *) Relax the syntax checking of Host: headers in order to support
e1c6c1dac26c35ecebe158438bb0c56afbb9bfb0sf iDNS. PR#6635 [Tony Finch]
38451a13fb80b89e704792ebc0e6f9e5e5877d7dsf *) When reading from file buckets we convert to an MMAP if it makes
38451a13fb80b89e704792ebc0e6f9e5e5877d7dsf sense. This also simplifies the default handler because the
38451a13fb80b89e704792ebc0e6f9e5e5877d7dsf default handler no longer needs to try to create MMAPs.
38451a13fb80b89e704792ebc0e6f9e5e5877d7dsf [Ryan Bloom]
505e342aefa9fbccc857f1bc653a310e25511946sf *) BUFF has been removed from the main server. The BUFF code will remain
505e342aefa9fbccc857f1bc653a310e25511946sf in the code until it has been purged from the proxy module as well.
505e342aefa9fbccc857f1bc653a310e25511946sf [Ryan Bloom]
26734c75baf170a492ef6a82f07b24ee1af7d0b1sf *) Byteranges have been completely re-written to be a filter. This
26734c75baf170a492ef6a82f07b24ee1af7d0b1sf has been tested, and I believe it is working correctly, but it could
26734c75baf170a492ef6a82f07b24ee1af7d0b1sf doesn't work for the Adobe Acrobat plug-in. The output almost matches
dda254ba84bdff5e236917af1b31693ca4360eabcovener the output from 1.3, the only difference being that 1.3 includes
dda254ba84bdff5e236917af1b31693ca4360eabcovener a content-length in the response, and this does not.
dda254ba84bdff5e236917af1b31693ca4360eabcovener [Ryan Bloom]
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna *) APR read/write functions and bucket read functions now operate
bf52162f2d05c1fb1a107c7ef108de73f739b3edpquerna on unsigned integers, instead of signed ones. It doesn't make
e1d33ac481c6683a069630c8f9aceec3a48babcetrawick any sense to use signed ints, because we return the error codes,
e1d33ac481c6683a069630c8f9aceec3a48babcetrawick so if we have an error we should report 0 bytes read or written.
cf12a027b0859c14d5c4852efffeff62158cd98dtrawick [Ryan Bloom]
8e5e9b2d4c6cbcd21ca182fe1109d59284239515wrowe *) Always compute the content length, whether it is sent or not.
3becbd2611ffb2e8391a8eacce765b43dcb1c669wrowe The reason for this, is that it allows us to correctly report
9c78f8d71737dfbbbf4da2f9acb397567a10e88bsf the bytes_sent when logging the request. This also simplifies
9c78f8d71737dfbbbf4da2f9acb397567a10e88bsf content-length filter a bit, and fixes the actual byte-reporing
9c78f8d71737dfbbbf4da2f9acb397567a10e88bsf [Ryan Bloom]
4be9c459920a7c1cfe62d654327dae5c4bb6b284sf *) Remove AP_END_OF_BRIGADE definition. This does not signify what
4be9c459920a7c1cfe62d654327dae5c4bb6b284sf it says, because it was only used by EOS and FLUSH buckets. Since
4be9c459920a7c1cfe62d654327dae5c4bb6b284sf neither of those are required at the end of a brigade, this was
47ff2654d827dd3596ce2e4099d69cec0f1009b9takashi really signifying FLUSH_THE_DATA, but that can be determined better
47ff2654d827dd3596ce2e4099d69cec0f1009b9takashi by checking AP_BUCKET_IS_EOS() or AP_BUCKET_IS_FLUSH. EOS and FLUSH
47ff2654d827dd3596ce2e4099d69cec0f1009b9takashi buckets now return a length of 0, which is actually the amount of data
b4ae72381175122ebfe42ff0d11db7a7f4162014takashi read, so they make more sense.
b4ae72381175122ebfe42ff0d11db7a7f4162014takashi [Ryan Bloom]
5e1ae35c05125b8b6c6c648c60e576f5796ea061rpluem *) Allow the core_output_filter to save some data past the end of a
5e1ae35c05125b8b6c6c648c60e576f5796ea061rpluem request. If we get an EOS bucket, we only send the data if it
b115299831a7b4bbec58a88d708d8536e1ecd50csf makes sense to send it. This allows us to pipeline request
5e1ae35c05125b8b6c6c648c60e576f5796ea061rpluem responses. As a part of this, we also need to allocate mmap
5e1ae35c05125b8b6c6c648c60e576f5796ea061rpluem buckets out of the connection pool, not the request pool. This
b9a830d395feaa66ab621841a5cd86e1fa2d184brjung allows the mmap to outlive the request.
b9a830d395feaa66ab621841a5cd86e1fa2d184brjung [Ryan Bloom]
82e6711dc508d2822d9397f07136ba4ddd8764e1niq *) Make blocking and non-blocking bucket reads work correctly for
82e6711dc508d2822d9397f07136ba4ddd8764e1niq sockets and pipes. These are the only bucket types that should
82e6711dc508d2822d9397f07136ba4ddd8764e1niq have non-blocking reads, because the other bucket types should
82e6711dc508d2822d9397f07136ba4ddd8764e1niq ALWAYS be able to return something immediately.
82e6711dc508d2822d9397f07136ba4ddd8764e1niq [Ryan Bloom]
f43104f173247435cb4ade2b89aa2ca8108aedb7niq *) In the Apache/Win32 console window, accept Ctrl+C to stop the
f43104f173247435cb4ade2b89aa2ca8108aedb7niq server, but use Ctrl+Break to initiate a graceful restart
f43104f173247435cb4ade2b89aa2ca8108aedb7niq instead of duplicating behavior. [John Sterling]
1fdcfb04a08e53ce28af657d854922efbbabecf4niq *) Patch mod_autoindex to set the Last-Modified header based on
1fdcfb04a08e53ce28af657d854922efbbabecf4niq the directory's mtime, and add the ETag header. [William Rowe]
c26aa743a70c2148cdca1e6c637c605d9025b051niq *) Merge the 1.3 patch to add support for logging query string in
c26aa743a70c2148cdca1e6c637c605d9025b051niq such a way that "%m %U%q %H" is the same as "%r".
c26aa743a70c2148cdca1e6c637c605d9025b051niq [Bill Stoddard]
e076b09731977eafcef2bfc6f5323f3ab7e83b15niq *) Port three log methods from mod_log_config 1.3 to 2.0:
e076b09731977eafcef2bfc6f5323f3ab7e83b15niq CLF compliant '-' byte count, method and protocol.
3fba96a56fbced0f14edde04f417d74d7f5bdb1eniq [Bill Stoddard]
3a183ee5b8f8129f6d3ec493be51abacda7c6ea7niq *) Add a new LogFormat directive, %c, that will log connection
3a183ee5b8f8129f6d3ec493be51abacda7c6ea7niq status at the end of the response as follows:
64dbb5532fba398c5e81efeb21c7fd50c05819d7niq 'X' - connection aborted before the response completed.
22d3cfb8f14471efbc3bbc8faa2c59805ac2395fjim '+' - connection may be kept-alive by the server.
64dbb5532fba398c5e81efeb21c7fd50c05819d7niq '-' - connection will be closed by the server.
d31d6c32262a8d1cbfc63d9f7adccae46002c8f7niq [Bill Stoddard]
d31d6c32262a8d1cbfc63d9f7adccae46002c8f7niq *) Expand APR for WinNT to fully accept and return utf-8 encoded
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna Unicode file names and paths for Win32, and tag the Content-Type
a50db00c3663c2a0d3531965c64d995516b06288niq from mod_autoindex to reflect that charset if the the feature
11f2c481e1d57bedb3f758565307501e9a2730ddtrawick macro APR_HAS_UNICODE_FS is true. [William Rowe]
11f2c481e1d57bedb3f758565307501e9a2730ddtrawick *) Compute the content length (and add appropriate header field) for
11f2c481e1d57bedb3f758565307501e9a2730ddtrawick the response when no content length is available and we can't use
11f2c481e1d57bedb3f758565307501e9a2730ddtrawick chunked encoding. [Jeff Trawick]
4aa736735709d0434c02ae6cc65b0738eb9882cctakashi *) Changed ap_discard_request_body() to use REQUEST_CHUNKED_DECHUNK,
4aa736735709d0434c02ae6cc65b0738eb9882cctakashi so that content input filters get dechunked data when using
4aa736735709d0434c02ae6cc65b0738eb9882cctakashi the default handler. Also removed REQUEST_CHUNKED_PASS.
99d46a23c6eac800f327b29f8009f7d7da986230trawick [Sascha Schumann]
99d46a23c6eac800f327b29f8009f7d7da986230trawick *) Add mod_ext_filter as an experimental module. This module allows
99d46a23c6eac800f327b29f8009f7d7da986230trawick the administrator to use external programs as filters. Currently,
6c2782f8988f498ad9e5fc84256e202175c3edc9covener only filtering of output is supported. [Jeff Trawick]
6c2782f8988f498ad9e5fc84256e202175c3edc9covener *) Most Apache functions work on EBCDIC machines again, as protocol
6c2782f8988f498ad9e5fc84256e202175c3edc9covener data is now translated (again). [Jeff Trawick]
bf27540ecb929632fd82264742045c96006c382cniq *) Introduce ap_xlate_proto_{to|from}_ascii() to clean up some of
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna the EBCDIC support. They are noops on ASCII machines, so this
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna type of translation doesn't have to be surrounded by #ifdef
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna CHARSET_EBCDIC. [Jeff Trawick]
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna *) Fix mod_include. tag commands work again, and the server will
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna send the FAQ again. This also allows mod_include to set aside
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna buckets that include partial buckets.
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna [Ryan Bloom and David Reid]
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna *) Add suexec support back. [Manoj Kasichainula]
8a0c75e992cc657a98317e78374b800d16963cfatrawick *) Lingering close now uses the socket directly instead of using
ba217dc41cebc0976010ee177f8fedac782d1f6fminfrin BUFF. This has been tested, but since all we can tell is that it
ab1b172430f2d4e1b222b541bb8c1d431c1a7bc7sf doesn't fail, this needs to be really hacked on.
8315a125b56710a222167e4d65b96c3c891f4b25sf [Ryan Bloom]
ab1b172430f2d4e1b222b541bb8c1d431c1a7bc7sf *) Allow filters to modify headers and have those headers be sent to
3f985866b9b5b49fb57735b5eb135591163f30dfsf the client. The idea is that we have an http_header filter that
3f985866b9b5b49fb57735b5eb135591163f30dfsf actually sends the headers to the network. This removes the need
7f51e5c395d431b8c20226f77de28efe13272bfasf for the BUFF to send headers.
7f51e5c395d431b8c20226f77de28efe13272bfasf [Ryan Bloom]
7f51e5c395d431b8c20226f77de28efe13272bfasf *) Charset translation: mod_charset_lite handles translation of
17d64c884a44f5ca72f6901afd3e50991bfc1c63sf request bodies. Get rid of the xlate version of ap_md5_digest()
17d64c884a44f5ca72f6901afd3e50991bfc1c63sf since we don't compute digests of filtered (e.g., translated)
17d64c884a44f5ca72f6901afd3e50991bfc1c63sf response bodies this way anymore. (Note that we don't do it at
a6e4caaa97e433cc2ef78d957bc32756d9c49f79sf all at the present; somebody needs to write a filter to do so.)
a6e4caaa97e433cc2ef78d957bc32756d9c49f79sf [Jeff Trawick]
a6e4caaa97e433cc2ef78d957bc32756d9c49f79sf *) Input filters and ap_get_brigade() now have a input mode parameter
68686064650b23222461014a11558593de194bbctrawick (blocking, non-blocking, peek) instead of a length parameter.
304903af1cf77cbdfa07e8a6482f35f3d9d7b0f3sf [hackathon]
a6e4caaa97e433cc2ef78d957bc32756d9c49f79sf *) Update the mime.types file to the registered media types as
a96ba81cada826f2a9ab1e24218a77bfadfc31d8sf of 2000-10-19. PR#6613 [Carsten Klapp <carsten.klapp@home.net>,
a96ba81cada826f2a9ab1e24218a77bfadfc31d8sf Tony Finch]
a96ba81cada826f2a9ab1e24218a77bfadfc31d8sf *) Namespace protect some macros declared in ap_config.h
4f133508c93204c06e1acba9774ff184e5812606niq [Ryan Bloom]
4f133508c93204c06e1acba9774ff184e5812606niq *) Support HTTP header line folding with input filtering.
87587593f1a53030e840acc0dec6cc881022ea40covener [Greg Ames]
87587593f1a53030e840acc0dec6cc881022ea40covener *) Mod_include works again. This should still be re-written, but at
87587593f1a53030e840acc0dec6cc881022ea40covener least now we can serve an SHTML page again.
87587593f1a53030e840acc0dec6cc881022ea40covener [Ryan Bloom]
52071e4b9f49c3a1c2c767c7ea80ec92cf9032c9covener *) Begin to remove BUFF from the core. Currently, we keep a pointer
52071e4b9f49c3a1c2c767c7ea80ec92cf9032c9covener to both the BUFF and the socket in the conn_rec. Functions that
89b8bbc89404e7071e573c4f0a17f528996e855djorton want to use the BUFF can, functions that want to use the socket,
89b8bbc89404e7071e573c4f0a17f528996e855djorton can. They point to the same place.
89b8bbc89404e7071e573c4f0a17f528996e855djorton [Ryan Bloom]
e1d4c4e8366f46dc5dc1e6e24b4c7ac448dfa061sf *) apr_psprintf doesn't understand %lld as a format. Make it %ld.
6bc4f334a04802bab835893d0c42af8bfb9c3c41sf [Tomas "�gren" <stric@ing.umu.se>]
53593dbd8fece82cb66a23f0b7024d8d713d66f1sf *) APR pipes on Unix and Win32 are now cleaned up automatically when the
53593dbd8fece82cb66a23f0b7024d8d713d66f1sf associated pool goes away. (APR pipes on OS/2 were already had this
79e3f2f950745953fff4a6a8dfe1f7cce31ce287sf logic.) This resolvs a fatal file descriptor leak with CGIs.
79e3f2f950745953fff4a6a8dfe1f7cce31ce287sf [Jeff Trawick]
ab2b977442827214b1d884decf3e3f1579fd45e1rpluem *) The final line of the config file was not being read if there was
ab2b977442827214b1d884decf3e3f1579fd45e1rpluem no \n at the end of it. This was caused by apr_fgets returning
195edf54eccd8c5a436c7dd17f5f604e7074d5d1sf APR_EOF even though we had read valid data. This is solved by
195edf54eccd8c5a436c7dd17f5f604e7074d5d1sf making cfg_getline check the buff that was returned from apr_fgets.
195edf54eccd8c5a436c7dd17f5f604e7074d5d1sf If apr_fgets return APR_EOF, but there was data in the buf, then we
3709b26f3370ae89c5324a3c03fab56a93b09ecdsf return the buf, otherwise we return NULL.
3709b26f3370ae89c5324a3c03fab56a93b09ecdsf [Ryan Bloom]
03577bc320125eaa2b27ee7af78b894ee6dfe121takashi *) Piped logs work again in the 2.0 series.
03577bc320125eaa2b27ee7af78b894ee6dfe121takashi [Ryan Bloom]
f5119c5d7cfe8c6d53cb29d43f8746684068ed82minfrin *) Restore functionality broken by the mod_rewrite security fix:
f5119c5d7cfe8c6d53cb29d43f8746684068ed82minfrin rewrite map lookup keys and default values are now expanded
f5119c5d7cfe8c6d53cb29d43f8746684068ed82minfrin so that the lookup can depend on the requested URI etc.
f5119c5d7cfe8c6d53cb29d43f8746684068ed82minfrin PR #6671 [Tony Finch]
94713632faf403489b3f8b4e0ed65e1011ac4991takashi *) Tighten up the syntax checking of Host: headers to fix a
f74d35a61a835e15412b99b8aebe4958fe4e94a5takashi security bug in some mass virtual hosting configurations
20216b769716c4346cce373f2028d7dbebf03886poirier that can allow a remote attacker to retrieve some files
20216b769716c4346cce373f2028d7dbebf03886poirier on the system that should be inaccessible. [Tony Finch]
7317a32e0c621c9a28f6f10e83e6c5dc63e3f3bdsf *) Add a pool bucket type. This bucket is used for data allocated out
7317a32e0c621c9a28f6f10e83e6c5dc63e3f3bdsf of a pool. If the pool is cleaned before the bucket is destroyed, then
7317a32e0c621c9a28f6f10e83e6c5dc63e3f3bdsf the data is converted to a heap bucket, allowing it to survive the
ecc6e723b804fb4b8f858910eff3f88242ec56fasf death of the pool.
ecc6e723b804fb4b8f858910eff3f88242ec56fasf [Ryan Bloom]
ecc6e723b804fb4b8f858910eff3f88242ec56fasf *) Add a flush bucket. This allows modules to signal that the filters
ecc6e723b804fb4b8f858910eff3f88242ec56fasf should all flush whatever data they currently have. There is no way
ecc6e723b804fb4b8f858910eff3f88242ec56fasf to actually force them to do this, so if a filter ignores this bucket,
727d68c6009030f56a350b4603384ce4fb844341minfrin that's life, but at least we can try with this.
727d68c6009030f56a350b4603384ce4fb844341minfrin [Ryan Bloom]
ed6dfb7d7057dc4f42348f12d7bff9fe98fc73cfminfrin *) Add an output filter for sub-requests. This filter just strips the
ed6dfb7d7057dc4f42348f12d7bff9fe98fc73cfminfrin EOS bucket so that we don't confuse the main request's core output
ed6dfb7d7057dc4f42348f12d7bff9fe98fc73cfminfrin filter by sending multiple EOS buckets. This change also makes sub
4dee28b6fc8fff5efde4e7821aeb6defed3fb84dsf requests start to send EOS buckets when they are finished.
4dee28b6fc8fff5efde4e7821aeb6defed3fb84dsf [Ryan Bloom]
23247a8f748077bc788a5fbaf91d5fad34d0b7d1sf *) Make ap_bucket_(read|destroy|split|setaside) into macros. Also
23247a8f748077bc788a5fbaf91d5fad34d0b7d1sf makes ap_bucket_destroy a return void, which is okay because it
23247a8f748077bc788a5fbaf91d5fad34d0b7d1sf used to always return APR_SUCCESS, and nobody ever checked its
23247a8f748077bc788a5fbaf91d5fad34d0b7d1sf return value anyway.
58015652ffe00f004c6404a0631474f23dadc7dasf [Cliff Woolley <cliffwoolley@yahoo.com>]
58015652ffe00f004c6404a0631474f23dadc7dasf *) Remove the index into the bucket-type table from the buckets
2af38cc44e48753913565b38a7a9f325f898a293minfrin structure. This has now been replaced with a pointer to the
2af38cc44e48753913565b38a7a9f325f898a293minfrin bucket_type. Also add some macros to test the bucket-type.
745417156908df54538ca284b382ce8d27b30066minfrin [Ryan Bloom]
fc2f0972572614b50523bc5ddb3f866ca4acd2f0sf *) Renamed all MODULE_EXPORT symbols to AP_MODULE_DECLARE and all symbols
fc2f0972572614b50523bc5ddb3f866ca4acd2f0sf for CORE_EXPORT to AP_CORE_DECLARE (namespace protecting the wrapper)
fc2f0972572614b50523bc5ddb3f866ca4acd2f0sf and retitled API_EXPORT as AP_DECLARE and APR_EXPORT as APR_DECLARE.
251430bcaff1fa6a77953bfe56475eb6cc7abc78sf All _VAR_ flavors changes to _DATA to be absolutely clear.
251430bcaff1fa6a77953bfe56475eb6cc7abc78sf [William Rowe]
7b467aa53854c95318a1c709709c1619a4f47118minfrin *) Add support for /, //, //servername and //server/sharename
7b467aa53854c95318a1c709709c1619a4f47118minfrin parsing of <Directory> blocks under Win32 and OS2.
7b467aa53854c95318a1c709709c1619a4f47118minfrin [Tim Costello, William Rowe, Brian Harvard]
7ba7402d405dc9e3c1083e34049ed933472ca910poirier *) Remove the function pointers from the ap_bucket type. They have been
7ba7402d405dc9e3c1083e34049ed933472ca910poirier replaced with a global table. Modules are allowed to register bucket
7ba7402d405dc9e3c1083e34049ed933472ca910poirier types and use then use those buckets.
7ba7402d405dc9e3c1083e34049ed933472ca910poirier [Ryan Bloom]
4286d2e267e788d856092bf2ccf461e7ca99570frpluem *) mod_cgid: In the handler, shut down the Unix socket (only for write)
4286d2e267e788d856092bf2ccf461e7ca99570frpluem once we finish writing the request body to the cgi child process;
4286d2e267e788d856092bf2ccf461e7ca99570frpluem otherwise, the client doesn't hit EOF on stdin. Small request bodies
4286d2e267e788d856092bf2ccf461e7ca99570frpluem worked without this change (for reasons I don't understand), but large
43563ad04e4bae7b42f7a34a87b7c60dc69c0c3fpoirier ones didn't. [Jeff Trawick]
5357892a1e367372dc2d4a315156e3e44dc5d56dpoirier *) Remove file bucket specific information from the ap_bucket type.
b42af5f6edf4fe4b820288c37920a7a6fd65f1f1poirier This has been moved to a file_bucket specific type that hangs off
b42af5f6edf4fe4b820288c37920a7a6fd65f1f1poirier the data pointer in the ap_bucket type.
b42af5f6edf4fe4b820288c37920a7a6fd65f1f1poirier [Ryan Bloom]
49cea03e96dc4707bce15d6318eb013cb8668d96minfrin *) Input filtering now has a third argument. This is the amount of data
49cea03e96dc4707bce15d6318eb013cb8668d96minfrin to read from lower filters. This argument can be -1, 0, or a positive
49cea03e96dc4707bce15d6318eb013cb8668d96minfrin number. -1 means give me all the data you have, I'll deal with it and
847b3922f7dcde6830f4aad49d29c84b4569c260minfrin let you know if I need more. 0 means give me one line and one line
63eaa8ed62d63de0a44346b8af48e08e562db01eminfrin only. A positive number means I want no more than this much data.
847b3922f7dcde6830f4aad49d29c84b4569c260minfrin Currently, only 0 and a positive number are implemented. This allows
1af2b28846e2647963db788b081676884fb7df8crpluem us to remove the remaining field from the conn_rec structure, which
1af2b28846e2647963db788b081676884fb7df8crpluem has also been done.
1af2b28846e2647963db788b081676884fb7df8crpluem [Ryan Bloom]
845258fbf5102b8b09fe9b7f4cb4ea4c089344c3poirier *) Big cleanup of the input filtering. The goal is that http_filter
845258fbf5102b8b09fe9b7f4cb4ea4c089344c3poirier understands two conditions, headers and body. It knows where it is
5d36cddfe00d5c6ad18845fcc04e6f7662050fafminfrin based on c->remaining. If c->remaining is 0, then we are in headers,
5d36cddfe00d5c6ad18845fcc04e6f7662050fafminfrin and http_filter returns a line at a time. If it is not 0, then we are
5d36cddfe00d5c6ad18845fcc04e6f7662050fafminfrin in body, and http_filter returns raw data, but only up to c->remaining
20aa41f86a5b451529d26d9b901eea69989e5c0aminfrin bytes. It can return less, but never more.
20aa41f86a5b451529d26d9b901eea69989e5c0aminfrin [Greg Ames, Ryan Bloom, Jeff Trawick]
8c92aeeb75b1b393f61a3e01c495484737a0ff8cminfrin *) mod_cgi: Write all of the request body to the child, not just what
8c92aeeb75b1b393f61a3e01c495484737a0ff8cminfrin the kernel would accept on the first write. [Jeff Trawick]
1018201f5223624476334c6e23aead02db7c4040minfrin *) Back out the change that moved the brigade from the core_output_filters
1018201f5223624476334c6e23aead02db7c4040minfrin ctx to the conn_rec. Since all requests over a given connection
e5db2522dbe503cbf5399094b6239c88c246a8c5poirier go through the same core_output_filter, the ctx pointer has the
e5db2522dbe503cbf5399094b6239c88c246a8c5poirier correct lifetime.
e5db2522dbe503cbf5399094b6239c88c246a8c5poirier [Ryan Bloom]
ad7e5e9fb8f63a5155bb392114162997505ff772minfrin *) Fix another bug in the send_the_file() read/write loop. A partial
ad7e5e9fb8f63a5155bb392114162997505ff772minfrin send by apr_send would cause unsent data in the read buffer to
ad7e5e9fb8f63a5155bb392114162997505ff772minfrin get clobbered. Complete making send_the_file handle partial
ad7e5e9fb8f63a5155bb392114162997505ff772minfrin writes to the network.
ad7e5e9fb8f63a5155bb392114162997505ff772minfrin [Bill Stoddard]
59cb8d601b8c44476e59310f68b9c373d8fc62a6minfrin *) Fix a couple of type fixes to allow compilation on AIX again
59cb8d601b8c44476e59310f68b9c373d8fc62a6minfrin [Victor J. Orlikowski <v.j.orlikowski@gte.net>]
59cb8d601b8c44476e59310f68b9c373d8fc62a6minfrin *) Fix bug in send_the_file() which causes offset to be ignored
ec8b1faa56744b338f6d6421144b56c2bb3faae6poirier if there are no headers to send.
ec8b1faa56744b338f6d6421144b56c2bb3faae6poirier [Bill Stoddard]
10abdcbd7b30d957d15c61ea8100ba97a627ac95minfrin *) Handle APR_ENOTIMPL returned from apr_sendfile in the core
87e0bf269cc3386ee8e6ab561ff00770151f4f53niq filter. Useful for supporting Windows 9* with a binary
87e0bf269cc3386ee8e6ab561ff00770151f4f53niq compiled on Windows NT.
87e0bf269cc3386ee8e6ab561ff00770151f4f53niq [Bill Stoddard]
3c67b7956d44501360506a9f13a5011be73b30ecminfrinChanges with Apache 2.0a7
3c67b7956d44501360506a9f13a5011be73b30ecminfrin *) Reimplement core_output_filter to buffer/save bucket brigades
97d20d37d21b8d427a920e211858172f0a82427epoirier across multiple calls to the core_filter. The brigade will be
97d20d37d21b8d427a920e211858172f0a82427epoirier sent when either MIN_BYTES_TO_SEND or MAX_IOVEC_TO_WRITE
97d20d37d21b8d427a920e211858172f0a82427epoirier thresholds are hit or the EOS bucket is received.
8e04e8ec7d682bff5e6dccdd70c082971a88cb8bniq [Bill Stoddard]
8e04e8ec7d682bff5e6dccdd70c082971a88cb8bniq *) Create experimental filter (buffer_filter) that coalesces bytes
53c999a82fcca729dabc8a512b3fb996d61fd814niq into one large buffer before invoking the next filter in the
53c999a82fcca729dabc8a512b3fb996d61fd814niq chain. This filter is particularly useful with the current
53c999a82fcca729dabc8a512b3fb996d61fd814niq implementation of mod_autoindex when it inserted above the
53c999a82fcca729dabc8a512b3fb996d61fd814niq chunk_filter. mod_autoindex generates a lot of brigades that
25d0f8adcab13255494a3572edff1a25f6fbeea3rpluem containing buckets holding just a few bytes each. The
25d0f8adcab13255494a3572edff1a25f6fbeea3rpluem buffer_filter coalesces these buckets into a single large bucket.
25d0f8adcab13255494a3572edff1a25f6fbeea3rpluem [Bill Stoddard]
dd9ae259e1578c4388739c880ede97c55cec543frpluem *) Add apr_sendfile() support into the core_output_filter.
dd9ae259e1578c4388739c880ede97c55cec543frpluem [Bill Stoddard]
0938450cadc9a083d112a86bc7dd7ae34f791364trawick *) Add apr_sendv() support into the core_output_filter.
0938450cadc9a083d112a86bc7dd7ae34f791364trawick [Bill Stoddard]
8bed7ee6d97933b958e97e222f37154d83e384e5jorton *) Fix mod_log_config so that it compiles cleanly with BUFFERED_LOGS
8bed7ee6d97933b958e97e222f37154d83e384e5jorton [Mike Abbott <mja@sgi.com>]
8bed7ee6d97933b958e97e222f37154d83e384e5jorton *) Remove ap_send_fb. This is no longer used in Apache, and it doesn't
8bed7ee6d97933b958e97e222f37154d83e384e5jorton make much sense, because Apache uses buckets instead of BUFFs now.
d33ddda47790d3295f4218f87e3a296cf51a9becmjc [Ryan Bloom]
4e08c8c1a91e2887b41d8cacd3aa532355d0237drpluem *) send_the_file now falls back to a read/write loop on platforms that
7a25b029b69f169bd22718165dff3b271114f92eniq do not have sendfile.
43d051c8401a1f3b4f7853cd897d3565ab814ea7poirier [Ryan Bloom and Brian Havard]
43d051c8401a1f3b4f7853cd897d3565ab814ea7poirier *) Install apachectl correctly, and substitute the proper values so
2f34374f6e04b9094a1d13a5ed823f331ba841a3rpluem that it works again. [Ryan Bloom]
2f34374f6e04b9094a1d13a5ed823f331ba841a3rpluem *) Better(??) handle platforms that lack sendfile().
7a25b029b69f169bd22718165dff3b271114f92eniq [Jim Jagielski]
7a25b029b69f169bd22718165dff3b271114f92eniq *) APR now has UUID generation/formatting/parsing support.
2f34374f6e04b9094a1d13a5ed823f331ba841a3rpluem [Greg Stein]
3e6a46d2fecf446daf0e280a49fa5565f5f635eajorton *) Begin the http_filter. This is an input filter that understands
3e6a46d2fecf446daf0e280a49fa5565f5f635eajorton the absolute basic amount required to parse an HTTP Request. The
137e484e5f984ceff1102e1212dda8ac0413231aniq goal is to be able to split headers from request body before passing
0df8f79d2324b131c36955d7e474a735a762f9eeniq the data back to the other filters.
0df8f79d2324b131c36955d7e474a735a762f9eeniq [Ryan Bloom]
30e3e760b737f13ce800fa02c5930ade7659ba66niq *) Bring forward from 1.3.13 the config directory implementation
30e3e760b737f13ce800fa02c5930ade7659ba66niq [Jim Jagielski]
80370e62044bea458bcd0545c59cb864ed117b04niq *) install apxs if it is created
e991c6fc032c59eb6cb751d9d382e933a53a2866niq [Ryan Bloom]
e991c6fc032c59eb6cb751d9d382e933a53a2866niq *) Added APR_IS_STATUS_condition test macros to eliminate canonical error
9a00e2d46c44c111d6952e553a2f1a61b7594eb3rpluem conversions. [William Rowe]
9a00e2d46c44c111d6952e553a2f1a61b7594eb3rpluem *) Now that we have ap_add_input_filter(), rename ap_add_filter() to
33d9be77cc6f5fc8734e9c1f526b82d359955152rpluem ap_add_output_filter(). [Jeff Trawick]
33d9be77cc6f5fc8734e9c1f526b82d359955152rpluem *) Multiple build and configuration fixes
da128c59ec571c4dff70f41ecba9c8a9974c6cd6niq Build process:
da128c59ec571c4dff70f41ecba9c8a9974c6cd6niq -add datadir and localstatedir substitutions
45932a847f237b4d8f0667b138bd3f8a15fb53ffniq -fix layout name
45932a847f237b4d8f0667b138bd3f8a15fb53ffniq -fix logfilename misspelling
45932a847f237b4d8f0667b138bd3f8a15fb53ffniq -fix evaluation of installation dir variables and
186e9d990f453d16826ab87a87df7b87e6e05921rpluem -replace $foobar by $(foobar) to be usefull in the makefile
186e9d990f453d16826ab87a87df7b87e6e05921rpluem Cross compile:
6861702c2d883e5c0744d5f7528d2060671ad24dtakashi -add rules for cross-compiling in rules.mk. Okay, rule to check for
6861702c2d883e5c0744d5f7528d2060671ad24dtakashi $CC_FOR_BUILD is still missing
6861702c2d883e5c0744d5f7528d2060671ad24dtakashi -use CHECK_TOOL instead of CHECK_PROG for ranlib
6861702c2d883e5c0744d5f7528d2060671ad24dtakashi -add missing "AR=@AR@" to severaly Makefile.in's
6861702c2d883e5c0744d5f7528d2060671ad24dtakashi -cache result for "struct rlimit"
f1f779c42f76118102fdecbe8777b47a1fc693a7rjung -compile all helper programs with native and cross compiler
f1f779c42f76118102fdecbe8777b47a1fc693a7rjung and use the native version to generate header file
f1f779c42f76118102fdecbe8777b47a1fc693a7rjung ["R�diger" Kuhlmann <Tadu@gmx.de>]
292cb7b720095e7bb434d79ae53b02d332aeb99acovener *) Prepare our autoconf setup for autoconf 2.14a and for cross-
292cb7b720095e7bb434d79ae53b02d332aeb99acovener ["R�diger" Kuhlmann <Tadu@gmx.de>]
137e484e5f984ceff1102e1212dda8ac0413231aniq *) Fix a bug where a client which only sends \n to delimit header
137e484e5f984ceff1102e1212dda8ac0413231aniq lines (netcat) gets a strange looking HTTP_NOT_IMPLEMENTED
137e484e5f984ceff1102e1212dda8ac0413231aniq message. Start working on ebcdic co-existance with input
137e484e5f984ceff1102e1212dda8ac0413231aniq filtering.
137e484e5f984ceff1102e1212dda8ac0413231aniq [William Rowe, Greg Ames]
d0cd62f11bcd8fa9bf758c5125f55cea5d9038dfrpluem *) If mod_so is enabled in the server always create libexec, even
d0cd62f11bcd8fa9bf758c5125f55cea5d9038dfrpluem if there are no modules installed in this directory. This is a
d0cd62f11bcd8fa9bf758c5125f55cea5d9038dfrpluem requirement for APXS to work correctly.
51d55be8bbc6652c13bc80d920f4331f7152dceerjung [Ryan Bloom]
51d55be8bbc6652c13bc80d920f4331f7152dceerjung *) Connection oriented output filters are now stored in the
0af58edfee6112cc3399e0e693340e525b96ab1ctrawick conn_rec instead of the request_rec. This allows us to add the
0af58edfee6112cc3399e0e693340e525b96ab1ctrawick output filter in the pre-connection phase instead of the
0af58edfee6112cc3399e0e693340e525b96ab1ctrawick post_read_request phase, which keeps us from trying to write an
0af58edfee6112cc3399e0e693340e525b96ab1ctrawick error page before we have a filter to write to the network.
27c7a7cad9e83eeebad0a4d5a321144394adc3f9trawick [Ryan Bloom, Jeff Trawick, and Greg Ames]
27c7a7cad9e83eeebad0a4d5a321144394adc3f9trawick *) Cleaning up an mmap bucket no longer deletes the mmap. An
8f2700898323915da289644dc1f3ee11a5e5b4earpluem mmap can be used across multiple buckets (default_handler with
8f2700898323915da289644dc1f3ee11a5e5b4earpluem byte ranges, mod_file_cache, mod_mmap_static), so cleanup of
8f2700898323915da289644dc1f3ee11a5e5b4earpluem the mmap itself can't be associated with the bucket.
8f2700898323915da289644dc1f3ee11a5e5b4earpluem [Jeff Trawick]
e7983ce746b0df56a1b74b42da6d82f5ecb99349covener *) Add .dll caching directive ISAPICacheFile to mod_isapi.
e7983ce746b0df56a1b74b42da6d82f5ecb99349covener [William Rowe]
77e28c16c8109d76c3b45717fa66ee74415db042rjung *) Radical surgery to improve mod_isapi support under Win32.
bbcfb8ab8e22f90fdf346e9993bd58ba2203b182trawick Includes a number of newer ServerSupportFunction calls, support
bbcfb8ab8e22f90fdf346e9993bd58ba2203b182trawick for ReadClient (in order to retrieve POSTs greater than 48KB),
d1745d6933c22c807cf2388332426defd1b19f03covener and general bug fixes to more reliably load ISAPI .dll's and
d1745d6933c22c807cf2388332426defd1b19f03covener prevent leaking handle resources. Note: There are still
d1745d6933c22c807cf2388332426defd1b19f03covener discrepancies between IIS's and Apache's ServerVariables, and
d1745d6933c22c807cf2388332426defd1b19f03covener async calls are still not supported. Additional warnings are
b20f76a400e77d3631f3507ff22d68ae6bd25323trawick logged to facilitate debugging of unsupported ISAPI calls.
222834d5a33b915037094af014905f3683cae78btrawick [William Rowe]
2db5d76ac4c75aadecf38e20569bccbfd2360ba7rpluem *) Add input filtering to Apache. The basic idea for the input
2db5d76ac4c75aadecf38e20569bccbfd2360ba7rpluem filters is the same as the ideas for output filters. The biggest
2db5d76ac4c75aadecf38e20569bccbfd2360ba7rpluem difference is that instead of calling ap_pass_brigade, ap_get_brigade
df46ff21c57d00f6addccaaf9b1484f2b56b8577pquerna should be called, and the order of execution for the filter itself is
7f4ac5a4cd99a9cae866b5908e358bd932736307chrisd different. When writing an output filter, a brigade is passed in,
1c03114a0f0315ed19a05f654021da9f66005897rjung and filters operate directly on that brigade, when done, they call
1c03114a0f0315ed19a05f654021da9f66005897rjung ap_pass_brigade. Input filters are the exact opposite. Because input
89691c9bd17f5f53fa0aa8d3fe2e1faee5a5d984rpluem is not a push operation, filters first call ap_get_brigade. When this
89691c9bd17f5f53fa0aa8d3fe2e1faee5a5d984rpluem function returns, the input filter will be left with a valid brigade.
89691c9bd17f5f53fa0aa8d3fe2e1faee5a5d984rpluem The input filter should then operate on the brigade, and return.
89691c9bd17f5f53fa0aa8d3fe2e1faee5a5d984rpluem [Ryan Bloom]
51a475d92e7d68ee6d7b57aa7fd6e73b2712ce31sctemme *) Fix building on BSD/OS using its native make. The build system
3e9c0665b06e44cf776528c6954ed3ca34a77c7fsctemme falls back to the BSD .include directive on that host platform.
019f2b58acb34e31ea3a062bdb5e6c863cd82d66trawick [Sascha Schumann]
6707208ba4e9a5841ca1ab830830fd286ea5b7c5trawick *) Expand dbmmanage to allow -d -m -s -p options for Crypt, MD5,
6707208ba4e9a5841ca1ab830830fd286ea5b7c5trawick SHA1 and plaintext password encodings. Make feature tests a
873c287c391b0bbc4719b68bb84946515811e1batrawick bit more flexible. [William Rowe]
832853bb93c1831daf24e4727c5ca0e1b1786e83lars *) Charset translation: mod_charset_lite handles output content
832853bb93c1831daf24e4727c5ca0e1b1786e83lars translation in a filter. mod_charset_lite no longer ignores
d2696ac6757b3d8bdaa27634a141ac8c8a045e08fielding subrequests. A bunch of cruft related to BUFF's support for
d2696ac6757b3d8bdaa27634a141ac8c8a045e08fielding translating request and response bodies was removed.
d2696ac6757b3d8bdaa27634a141ac8c8a045e08fielding [Jeff Trawick]
1782dcd420de504978945e6b812523eeae6d56a2lars *) Move the addition of the CORE filter to the post_read_request
1782dcd420de504978945e6b812523eeae6d56a2lars hook in http_core.c. This removes the need to add the filter in
d2696ac6757b3d8bdaa27634a141ac8c8a045e08fielding multiple places and allows for an SSL module to be added much
1782dcd420de504978945e6b812523eeae6d56a2lars simpler. [Ryan Bloom]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Fix a security problem that affects certain configurations of
59dc8d935dbf862712683bbc9e267bd08ced0b14fielding mod_rewrite. If the result of a RewriteRule is a filename that
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem contains expansion specifiers, especially regexp backreferences
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem $0..$9 and %0..%9, then it may be possible for an attacker to
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem access any file on the web server. [Tony Finch]
cf8d02ea0c91653917b044529f3133c5a1bb9200fielding *) Fix a bug where errors that are detected during early request parsing
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem don't produce visible HTTP error messages at the browser, because
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem the core_filter wasn't present. [Greg Ames]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Provide apr_socklen_t as a portability aid.
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem [Victor J. Orlikowski]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Overhaul of dbmmanage to allow a groups arg (as in Apache 1.2)
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem as well as a comment arg to the add, adduser and update cmds.
d4ee4552489641d35d1195bbbd6021351c4b79aarjung update allows the user to clear or preserve pw/groups/comment.
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem Fixed a bug in dbmmanage that prevented the check option from
9e152751ed380f87c5ecae4fb0221c956e5fbd24rjung parsing a password followed by :group... text. Corrected the
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem seed calcualation for Win32 systems, and added -lsdbm support.
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem [William Rowe]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Configured mod_auth_dbm to compile with sdbmlib under Win32.
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem [William Rowe]
382d14411b582d97075a836190d74c778977505fcovener *) Avoid a segfault when parsing .htaccess files. An
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem uninitialized tree pointer was passed to ap_build_config().
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem [Jeff Trawick]
06e6657fd0f376a16db696876f9bff5927cc3cb0trawick *) Change the way that inet_addr & inet_network are checked for
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem in APR's configure process to allow BeOS BONE to correctly
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem find them. With this change BeOS BONE now builds from source
0e9dae659943679108357054e9aa7657cdc52dc4minfrin with no problems. [David Reid]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Fix a bug in apr_create_process() for Unix. The NULL signifying
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem the end of the parameters to execve() was stored in the wrong
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem location, overlaying the storage beyond the newargs[] array and
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem also passing uninitialized storage to execve(), which would
d03aa31ada476d8eb97feaec2b1099809e7f3d57niq sometimes fail with EFAULT. [Jeff Trawick]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Fix a bug parsing configuration file containers. With a sequence
a7757dd38bb2a1afc93e241b7ea67b3de85ecc8bminfrin like this in the config file
df46ff21c57d00f6addccaaf9b1484f2b56b8577pquerna </IfModule>
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem (blank line)
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem </IfModule>
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem the second container would be terminated at the blank line due to
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem sediment in the buffer from reading the prior </IfModule> and an
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq error message would be generated for the real </IfModule> for the
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem second container. Also due to this problem, any two characters
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem could be used for "</" in the close of a container.
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq [Jeff Trawick]
6824182b3b8e045db97a228d3127bdfcbdfeb0bcniq *) ap_add_filter prototype changed to remove the ctx pointer. The
6824182b3b8e045db97a228d3127bdfcbdfeb0bcniq pointer still remains in the filter structure, but it can not be
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem a part of the ap_add_filter prototype. The reason is that when
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem the core uses AddFilter to add a filter to the stack it doesn't
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem know how to allocate the ctx pointer, or even how much memory should
0c26d213d85bc40fc05963c63bf670b42b352d25niq be allocated. The filters will have to be responsible for allocating
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem the ctx memory when they need it.
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem [Ryan Bloom]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Add an AddFilter directive. This directive takes a list of filters
9f07b6dc343a4e3eba5f4c47050a77441723ce89nd that should be activated for the requested resource.
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem [Ryan Bloom]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) apr_snprintf(): Get quad format strings working on OS/390 (and perhaps
f7cec4a86292b160401472286a17497ae0d4df18covener some other platforms). [Jeff Trawick]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Modify mod_include to be a filter. Currently, it has only been tested
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem on actual files, but it should work for CGI scripts too.
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem [Ryan Bloom]
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluem *) apr_putc(), apr_puts() for Unix: handle buffered files and interrupted
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluem writes. apr_flush() for Unix: handle interrupted writes.
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluem [Jeff Trawick]
92357fb76d3ad043e29ba2ba2041a7bdb8d13390niq *) NameVirtualHost can now take "*" as an argument instead of
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluem an IP address. This allows you to create a purely name-based
509111f5f58a9effd4c832f6a0cbd6ad9d549188jorton virtual hosting server that does not have any IP addresses in
509111f5f58a9effd4c832f6a0cbd6ad9d549188jorton the configuration file and which ignores the local address
509111f5f58a9effd4c832f6a0cbd6ad9d549188jorton of any connections. PR #5595, PR #4455 [Tony Finch]
235b900b78cf6849f8344e377a91ded37d9cc9depquerna *) Fix some compile warnings in mod_mmap_static.c
235b900b78cf6849f8344e377a91ded37d9cc9depquerna [Mike Abbott <mja@sgi.com>]
66b8ec445dced7a2036bcd3b87b6fc3f08a1ab24jorton *) Fix chunking problem with CGI scripts. The general problem was that
66b8ec445dced7a2036bcd3b87b6fc3f08a1ab24jorton the CGI modules were adding an EOS bucket and then the core added an
66b8ec445dced7a2036bcd3b87b6fc3f08a1ab24jorton EOS bucket. The chunking filter finalizes the chunked response when it
66b8ec445dced7a2036bcd3b87b6fc3f08a1ab24jorton encounters an EOS bucket. Because two EOS buckets were sent, we
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrin finalized the response twice. The fix is to make sure we only send one
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrin EOS, by utilizing a flag in the request_rec.
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrin [Ryan Bloom]
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrin *) apr_put_os_file() now sets up the unget byte appropriately on Unix
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluem and Win32. Previously, the first read from an apr_file_t set up via
6f33babce8f8bc723f0b2c755aef049cd509504fpquerna apr_put_os_file() would return a '\0'. [Jeff Trawick]
0a12339f39799193ac6866fce812a1deb8f4a1abpquerna *) Mod_cgid now creates a single element bucket brigade, with a pipe
0a12339f39799193ac6866fce812a1deb8f4a1abpquerna bucket, instead of using BUFF's and ap_r*.
0a12339f39799193ac6866fce812a1deb8f4a1abpquerna [Ryan Bloom]
3fb118bc4e1a634f71c1fa509819ceac36c79dcbpquerna *) APRVARS.in no longer overwrites the EXTRA_LIBS variable.
3fb118bc4e1a634f71c1fa509819ceac36c79dcbpquerna [Mike Abbott <mja@sgi.com>]
fb59af4ce3fcdd314b848359faeddf1e51bb24c5jim *) Remove ap_bopenf from buff code. This required modifying the file_cache
fb59af4ce3fcdd314b848359faeddf1e51bb24c5jim code to use APR file's directly instead of going through BUFFs.
fb59af4ce3fcdd314b848359faeddf1e51bb24c5jim [Ryan Bloom]
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna *) Fix compile break on some platforms for mod_mime_magic.c
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna [John K. Sterling <sterling@covalent.net>]
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna *) Fix merging of AddDefaultCharset directive.
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna PR #5872 (1.3) [Jun Kuriyama <kuriyama@imgsrc.co.jp>]
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna *) Minor revamp of the rlimit sections of code. We now test
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna explicitly for setrlimit and getrlimit. Also, unixd_set_rlimit()
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna is now "available" even if the platform doesn't support
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna the rlimit family (it's just a noop though). [Jim Jagielski]
3ec1e3a35106ec4c8bcf8fae6a20cb623aed0b62pquerna *) Migrate the pre-selection of which MPM to use for specific
3ec1e3a35106ec4c8bcf8fae6a20cb623aed0b62pquerna platforms to hints.m4, which contains (or should contain)
3ec1e3a35106ec4c8bcf8fae6a20cb623aed0b62pquerna all platform specific "hints". [Jim Jagielski]
97f7daaffd9b6c1031302d7e551d5279fa0d0d72pquerna *) Remove IOLs from Apache. With filtering, IOLs are no longer necessary
97f7daaffd9b6c1031302d7e551d5279fa0d0d72pquerna [Ryan Bloom]
97f7daaffd9b6c1031302d7e551d5279fa0d0d72pquerna *) Add tables with non-string/binary values to APR.
99c8705f69fae71940ad9b091bd2f588a7b9f484minfrin *) Fix some bad calls to ap_log_rerror() in mod_rewrite.
99c8705f69fae71940ad9b091bd2f588a7b9f484minfrin [Jeff Trawick]
9376e7dc573bb2721491c79b92f9c06fdfacebe6minfrin *) Update PCRE to version 3.2. [Ryan Bloom]
9376e7dc573bb2721491c79b92f9c06fdfacebe6minfrin *) Change the way buckets' destroy functions are called so that
9376e7dc573bb2721491c79b92f9c06fdfacebe6minfrin they can be more directly used when changing the type of a
edaefb8bf78debc86ef7de441c7983d8b05517e1minfrin bucket in place. [Tony Finch]
edaefb8bf78debc86ef7de441c7983d8b05517e1minfrin *) Add generic support for reference-counting the resources used by
edaefb8bf78debc86ef7de441c7983d8b05517e1minfrin buckets, and alter the HEAP and MMAP buckets to use it. Change
edaefb8bf78debc86ef7de441c7983d8b05517e1minfrin the way buckets are initialised to support changing the type of
b5cbd7bc65a5c0eda246b0cd32e7d9ed124d66c4niq buckets in place, and use it when setting aside TRANSIENT buckets.
b5cbd7bc65a5c0eda246b0cd32e7d9ed124d66c4niq Change the implementation of TRANSIENT buckets so that it can be
b5cbd7bc65a5c0eda246b0cd32e7d9ed124d66c4niq mostly shared with IMMORTAL buckets, which are now implemented.
b5cbd7bc65a5c0eda246b0cd32e7d9ed124d66c4niq [Tony Finch]
2ac474e42b9281e247e7082e30c50c5bef1f2cc3rjungChanges with Apache 2.0a6
6ad55f63504cf5fe5205ed9495664519afeadcd9chrisd *) Add support to Apache and APR for dsos on OS/390. [Greg Ames]
809ec9d7cc8bc12d7dc6fafba24f3acad3e49d81chrisd *) Add a chunking filter to Apache. This brings us one step closer
809ec9d7cc8bc12d7dc6fafba24f3acad3e49d81chrisd to removing BUFF. [Ryan Bloom]
809ec9d7cc8bc12d7dc6fafba24f3acad3e49d81chrisd *) ap_add_filter now adds filters in a LIFO fashion. The first filter
809ec9d7cc8bc12d7dc6fafba24f3acad3e49d81chrisd added to the stack is the last filter to be called. [Ryan Bloom]
f436f5cf34615c3c7d49dd229560ba658033f9eachrisd *) Apache 2.0 has been completely documented using Scandoc. The
f436f5cf34615c3c7d49dd229560ba658033f9eachrisd docs can be generated by running 'make docs'. [Ryan Bloom]
ce6098001014d149e90e56ab0e89c1b4aab30136chrisd *) Add filtered I/O to Apache. This is based on bucket brigades,
ce6098001014d149e90e56ab0e89c1b4aab30136chrisd Currently the buckets still use BUFF under the covers, but that
7245e9b991db85d9d9a587fe5f4051f642ebdc3cchrisd should change quickly. The only currently written filter is the
7245e9b991db85d9d9a587fe5f4051f642ebdc3cchrisd core filter which just calls ap_bwrite. [The Apache Group]
7245e9b991db85d9d9a587fe5f4051f642ebdc3cchrisd *) APR locks on Unix: Let APR_LOCKALL locks work when APR isn't
38b062650152074931a68e933461762c5e233cfcniq built with thread support. [Jeff Trawick]
38b062650152074931a68e933461762c5e233cfcniq *) Abort configuration if --with-layout was specified and there's
d1c1b82647a997922859ec76b82e62a956078dbccovener no layout definition file. [Ken Coar]
63de18ba5e922ffaab500317d7d1d0ad6b27b7e2covener *) Add support for '--with-port=n' option to configure. [Ken Coar]
91ef999a69527d2a64983681c92aaef9270697b4rpluem *) Add support for extension methods for the Allow response header
91ef999a69527d2a64983681c92aaef9270697b4rpluem field, and an API routine for accessing r->allowed and the
e82c197ca8872669af89367746826fe6b9955bb3niq list of extension methods in a unified manner. [Ken Coar]
e82c197ca8872669af89367746826fe6b9955bb3niq *) mod_cern_meta: fix broken file reading loop in scan_meta_file().
baef4b5261d84ad9bacb2f4e745b33f35534c25aniq [Rob Simonson <simo@us.ibm.com>]
baef4b5261d84ad9bacb2f4e745b33f35534c25aniq *) Get xlate builds working again. The apr renaming in 2.0a5 broke
baef4b5261d84ad9bacb2f4e745b33f35534c25aniq APACHE_XLATE builds. [Jeff Trawick]
9a06b6b4e83c29429c3a23d34acc41920af2024drjung *) A configuration file parsing problem was fixed. When the
a5e068c4aa3d0084a41e178c7c0c1b1ae2f28125jim configuration file started with an IfModule/IfDefine container,
742ec45ed2ac00ab03080e898332352220cc1f13niq only the last statement in the container would be retained.
f82568a780e35e8786958c49a1259434e2088b9cniq [Jeff Trawick]
f82568a780e35e8786958c49a1259434e2088b9cniqChanges with Apache 2.0a5
56b7c92bac48127bda06d80bf94952258f7e0bd3minfrin *) Perchild is serving pages after passing them to different child
56b7c92bac48127bda06d80bf94952258f7e0bd3minfrin processes. There are still a lot of bugs, but this does work. I
41abbbf0cbaef202fe1ba2dd671ea48990d6e012minfrin have made requests against the same installation of Apache, and had
41abbbf0cbaef202fe1ba2dd671ea48990d6e012minfrin different servers use different user IDs to serve the responses.
41abbbf0cbaef202fe1ba2dd671ea48990d6e012minfrin This change moves to using socketpair instead of an AF_UNIX socket.
41abbbf0cbaef202fe1ba2dd671ea48990d6e012minfrin [Ryan Bloom]
6aa239b3d12f531ad9e305b1a81ad5fd671a3493minfrin *) Perchild MPM still doesn't work perfectly, but it is serving pages.
6aa239b3d12f531ad9e305b1a81ad5fd671a3493minfrin It can't seem to pass between child processes yet, but I think we
6aa239b3d12f531ad9e305b1a81ad5fd671a3493minfrin are closer now than before. This moves us back to using Unix
d05e6175473332a8433e4ac85edda0d5a33c94b5minfrin Domain Sockets. [Ryan Bloom]
d05e6175473332a8433e4ac85edda0d5a33c94b5minfrin *) libapr functions and types renamed with apr_ prefix.
6951fc02abfd7642e45333902c14855836717fadrpluem *) Fix problems with APR sockaddr handling on Win32. It didn't always
db455cbc662c98dbbf53175393c50086ff63370cchrisd return the right information on the local socket address.
db455cbc662c98dbbf53175393c50086ff63370cchrisd [Gregory Nicholls <gnicholls@level8.com>]
db455cbc662c98dbbf53175393c50086ff63370cchrisd *) ap_recv() on Win32: Set bytes-read to 0 on error.
db455cbc662c98dbbf53175393c50086ff63370cchrisd [Gregory Nicholls <gnicholls@level8.com>]
7cb45b833e465d46f6b61de983cc68112587d04bchrisd *) Add an option to not detach from the controlling terminal without
2e242dca7111f99d54dd144b7b8418d88d560032chrisd going into single process mode. This allows for much easier
b6b1df87b7ce62620d48526a7ab630897cdaad90chrisd debugging of the process startup code. [Ryan Bloom]
b6b1df87b7ce62620d48526a7ab630897cdaad90chrisd *) ab: don't use perror() to report the failure of an APR function.
b6b1df87b7ce62620d48526a7ab630897cdaad90chrisd [Jeff Trawick]
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin *) Make dexter, mpmt_pthread, and perchild MPMs not destroy the
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin scoreboard on graceful restarts.
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin [Ryan Bloom]
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin *) Fix segfault/SIGSEGV when running gzip from mod_mime_magic.c.
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin An invalid ap_proc_t was passed to ap_create_process().
caaa32f2d2e3b28063c745c2632d3979da7f8326minfrin [Jeff Trawick]
caaa32f2d2e3b28063c745c2632d3979da7f8326minfrin *) Allow modules to register filters. Those filters are still
caaa32f2d2e3b28063c745c2632d3979da7f8326minfrin never called, but this is a step in the right direction.
66a8e1cc29cc4612cd938bc8fcabc0ef569e5769rpluem [Ryan Bloom and Greg Stein]
e02cb8f5090d904c054633ff33dfd1111e16e404minfrin *) Register the mod_cgid daemon process for cleanup so that it is
e02cb8f5090d904c054633ff33dfd1111e16e404minfrin killed at termination if it does not die when the parent gets
e02cb8f5090d904c054633ff33dfd1111e16e404minfrin SIGTERM. This change is to fix occasional problems where the
66a8e1cc29cc4612cd938bc8fcabc0ef569e5769rpluem process stays around. Bugs in similar logic in mod_rewrite and
e02cb8f5090d904c054633ff33dfd1111e16e404minfrin mod_include were also fixed. [Jeff Trawick]
2ac474e42b9281e247e7082e30c50c5bef1f2cc3rjung *) Fix a bug in the time handling. Basically, we were imploding a time
213e520edc00641400771fc8f90b37a967a2d9ebdirkx in ap_parseHTTPdate, but it had bogus data in the exploded time format.
213e520edc00641400771fc8f90b37a967a2d9ebdirkx Namely, tm_usec and tm_gmtoff were not filled out. ap_implode_time
213e520edc00641400771fc8f90b37a967a2d9ebdirkx uses those two fields to adjust the time value. Because of the HTTP
a449830d5caa5b9900fe64cc383658b3641f9810dirkx spec, both of those values can be zero'ed out safely. This fixes
a449830d5caa5b9900fe64cc383658b3641f9810dirkx the bug correctly. [Ryan Bloom]
a449830d5caa5b9900fe64cc383658b3641f9810dirkx *) Fix a couple of place in the Windows code where the wrong error
a449830d5caa5b9900fe64cc383658b3641f9810dirkx code was being returned. [Gregory Nicholls <gnicholls@level8.com>]
a449830d5caa5b9900fe64cc383658b3641f9810dirkx *) Fix POOL_DEBUG (at least for prefork mpm). [Dean Gaudet]
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin *) Added the APR_EOL_STR macro for platform dependent differences in
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin logfiles and other raw text (such as all APR files). Fixes logfiles
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin not terminated with cr/lf sequences in Win32. [William Rowe]
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin *) Move all strings functions in APR to src/lib/apr/strings and create
0481ff0599c9e3c0c7ad5c1930939dcdac908582chrisd apr_strings.h for the prototypes. [Ryan Bloom]
0481ff0599c9e3c0c7ad5c1930939dcdac908582chrisd *) APR lock fixes: when using SysV sems, flock(), or fcntl(), be sure
835d676191444a46d695171e8760d55a66c60fecminfrin to repeat the syscall until we stop getting EINTR. I noticed a
835d676191444a46d695171e8760d55a66c60fecminfrin related problem at termination (SIGTERM) on FreeBSD when using
835d676191444a46d695171e8760d55a66c60fecminfrin fcntl(). Apache 1.3 had these new loops too. Also, make the flock()
835d676191444a46d695171e8760d55a66c60fecminfrin implementation work properly with child init. Previously, ap_lock()
723f9f463f1922eaef3d24d00cb289e10daa73ffminfrin was essentially a no-op because all children were using different
723f9f463f1922eaef3d24d00cb289e10daa73ffminfrin locks and thus nobody ever blocked. [Jeff Trawick]
723f9f463f1922eaef3d24d00cb289e10daa73ffminfrin *) The htdocs/ tree has been moved out of the CVS source tree into
c2213b3a46a2666e2e7606ceec509cc4978f187fminfrin a separate area for easier development. This has NO EFFECT on
c2213b3a46a2666e2e7606ceec509cc4978f187fminfrin end-users or Apache installations. [Ken Coar]
c2213b3a46a2666e2e7606ceec509cc4978f187fminfrin *) Integrate the mod_dav module for WebDAV protocol handling. This
d4562e99f620170ce0bedddc16887b900b34913bminfrin adds the dav and dav_fs modules, the SDBM library, and additional
d4562e99f620170ce0bedddc16887b900b34913bminfrin XML handling utilities. [Greg Stein]
fd279fe992f7171dc3f6d4d40d6db5bb74f2d96eminfrin *) Clean out obsolete names (from httpd.h) for the HTTP Status Codes
fd279fe992f7171dc3f6d4d40d6db5bb74f2d96eminfrin [Greg Stein]
fd279fe992f7171dc3f6d4d40d6db5bb74f2d96eminfrin *) Update the lib/expat-lite/ library (bring forward changes from
fed63d1b62cc7e56aad77b70ee5b5cc7f5c6aademinfrin the Apache 1.3 repository). [Greg Stein]
fed63d1b62cc7e56aad77b70ee5b5cc7f5c6aademinfrin *) If sizeof(long long) == sizeof(long), then prefer long in APR
fed63d1b62cc7e56aad77b70ee5b5cc7f5c6aademinfrin configure.in. [Dave Hill <ddhill@zk3.dec.com>]
abe0d0e38b9705f21a13ac8748bce1e3ed35e488minfrin *) Add ap_sendfile for Tru64 Unix. Also, add an error message for
abe0d0e38b9705f21a13ac8748bce1e3ed35e488minfrin machines where sendfile is detected, but nobody has written ap_sendfile.
abe0d0e38b9705f21a13ac8748bce1e3ed35e488minfrin [Dave Hill <ddhill@zk3.dec.com>]
abe0d0e38b9705f21a13ac8748bce1e3ed35e488minfrin *) Compile fixes in mod_mmap_static. [Victor J. Orlikowski]
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin *) ab would start up more connections than needed, then quit when the
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin desired number were finished. Also fixed a logic error involving
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin ab keepalives. [Victor J. Orlikowski]
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd *) WinNT: Implement non-blocking pipes with timeouts to communicate
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd with CGIs. Apache 2.0a4 had non-blocking pipes but without
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd timeouts (i.e, if a timeout was specified, the pipe reverted to
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd a full blocking pipe). Now the behaviour is more in line with
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd Unix non-blocking pipes.
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd [Bill Stoddard]
78a20a6e7ad3a0229900ee54c7d11a65f647b663niq *) WinNT: Implement accept socket reuse. Using mod_file_cache to
9582ad6e149d28b118d4e8571101ecb6f85e0191niq cache open file handles along with accept socket reuse enables
9582ad6e149d28b118d4e8571101ecb6f85e0191niq Apache 2.0 to serve non-keepalive requests for static files at
9582ad6e149d28b118d4e8571101ecb6f85e0191niq 3x the rate of Apache 1.3.(e.g, Apache 1.3 will serve 400 rps
78a20a6e7ad3a0229900ee54c7d11a65f647b663niq and Apache 2.0 will serve almost 1200 rps on my system).
d56bacbfefa5aa883ce5162a115747372fc38d13chrisd [Bill Stoddard]
d56bacbfefa5aa883ce5162a115747372fc38d13chrisd *) Merge mod_mmap_static function into mod_file_cache. mod_file_cache
d56bacbfefa5aa883ce5162a115747372fc38d13chrisd supports two config directives, mmapfile (same behavious as
d56bacbfefa5aa883ce5162a115747372fc38d13chrisd mod_mmap_static) and cachefile. Use the cachefile directive
d64dd2fd4516c2b1b664c5e59c0628d9aff26984covener to cache open file handles. This directive only works on systems
d64dd2fd4516c2b1b664c5e59c0628d9aff26984covener that have implemented the ap_sendfile API. cachefile works today
d64dd2fd4516c2b1b664c5e59c0628d9aff26984covener on Windows NT, but has not been tested on any flavors of Unix.
ed0d39878e79220baaa50c15b79b1fdf877cb919niq [Bill Stoddard]
1e911973bcb9df6701a4c16c037771ecf25ade13niq *) Cleanup the configuration. With the last few changes the
1e911973bcb9df6701a4c16c037771ecf25ade13niq configuration process automatically:
1e911973bcb9df6701a4c16c037771ecf25ade13niq inherits information about how to build from APR. Allowing
1e911973bcb9df6701a4c16c037771ecf25ade13niq APR to inform Apache that it should or should not use -ldl
a45125b6474e878ba177025a0584b71cee9c8f32trawick Detects which mod_cgi should be used mod_cgi or mod_cgid,
e47d58d5d983426584c8d16416c50f5c58070746dirkx based on the threading model
e47d58d5d983426584c8d16416c50f5c58070746dirkx Apache calls APR's configure process before finishing it's
33aad3911b15cb5d523075f7df829274fe298a13dirkx configuration processing, allowing for more information flow
33aad3911b15cb5d523075f7df829274fe298a13dirkx between the two.
76f68128bb8fcea0f772d522c05dc7ec872040c2dirkx [Ryan Bloom]
433dcb1fbaae82d36634f5120bff71a04296904ddirkx *) Change Unix and Win32 ap_setsockopt() so that APR_SO_NONBLOCK
433dcb1fbaae82d36634f5120bff71a04296904ddirkx with non-zero argument makes the socket non-blocking. BeOS and
433dcb1fbaae82d36634f5120bff71a04296904ddirkx OS/2 already worked this way. [Jeff Trawick]
433dcb1fbaae82d36634f5120bff71a04296904ddirkx *) ap_close() now calls ap_flush() for buffered files, so write
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj operations work a whole lot better on buffered files.
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj [Jeff Trawick]
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj *) Fix error messages issued from MPMs which explain where to change
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj compiled-in limits (e.g., ThreadsPerChild, MaxClients, StartTreads).
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj [Greg Ames]
65cb7f00eca6689c8a89dc809359991ade1285bcwrowe *) ap_create_pipe() now leaves pipes in blocking state. (This helps
65cb7f00eca6689c8a89dc809359991ade1285bcwrowe reduce the number of syscalls on Unix.) ap_set_pipe_timeout() is
65cb7f00eca6689c8a89dc809359991ade1285bcwrowe now the way that the blocking state of a pipe is manipulated.
65cb7f00eca6689c8a89dc809359991ade1285bcwrowe ap_block_pipe() is gone. [Jeff Trawick]
39c7699ec0799d394d3f67145d4a12ed82f587b8jorton *) Correct the problem where the only local host name that the IP stack
39c7699ec0799d394d3f67145d4a12ed82f587b8jorton can discover are 'undotted' private names. If no fully qualified
c6d33447e28403a90ad817dba4df75fae785be28pquerna domain name can be identified, the default ServerName will be set to
c6d33447e28403a90ad817dba4df75fae785be28pquerna the machine's IP address string. A warning is always provided if the
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin ServerName not specified, but assumed. Solves PR6215 [William Rowe]
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin *) Repair problems with config file processing which caused segfault
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin at init when virtual hosts were defined and which caused ServerName to
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin be ignored when there was no valid DNS setup. [Jeff Trawick]
4ede070ca63bd4c48045e35a7192582769770290jorton *) Removed pointless ap_is_aborted macro function. [Roy Fielding]
795c9499a77c25695bcb9710ed67bbe51492e181rpluem *) Add ap_sendfile implementation for AIX
795c9499a77c25695bcb9710ed67bbe51492e181rpluem [Victor J. Orlikowski]
a72ba68ecbbc61e4b513e50d6000245c33f753dcwrowe *) Repair C++ compatibility in ap_config.h, apr_file_io.h,
7a079e0cd696baca90ac43e325f64582e2945c68wrowe [Tyler J. Brooks <tylerjbrooks@home.com>, Jeff Trawick]
62c53a0dab4c85bfc6a5ab9abfb1b269d9f7458dniq *) Bring the allocation and pool debugging code back into a working
62c53a0dab4c85bfc6a5ab9abfb1b269d9f7458dniq state. This will need to be tested as so far it's only been used on
62c53a0dab4c85bfc6a5ab9abfb1b269d9f7458dniq BeOS. [David Reid]
ecc1538af1c08282fc2773d2eb3f1a54251862f9minfrin *) Change configuration command setup to be properly typesafe when in
ecc1538af1c08282fc2773d2eb3f1a54251862f9minfrin maintainer mode. Note that this requires a compiler that can initialise
ecc1538af1c08282fc2773d2eb3f1a54251862f9minfrin unions. [Ben Laurie]
3f5585f7f4a7d74f2f94ec729ea8c1879d419e35rederpj *) Turn on buffering for config file reads. Part of this was to
3f5585f7f4a7d74f2f94ec729ea8c1879d419e35rederpj repair buffered I/O support in Unix and implement buffered
3f5585f7f4a7d74f2f94ec729ea8c1879d419e35rederpj ap_fgets() for all platforms. [Brian Havard, Jeff Trawick]
e4b96ba15dc8b2b27d251d53e29b86da32cd5066pquerna *) Win32: Fix problem where UTC offset was not being set correctly
e4b96ba15dc8b2b27d251d53e29b86da32cd5066pquerna in the access log. Problem reported on news group by Jerry Baker.
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme [Bill Stoddard]
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme *) Fix segfault when reporting this type of syntax error:
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme "</container> without matching <container> section", where
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjorton container is VirtualHost or Directory or whatever.
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjorton [Jeff Trawick]
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd *) Prevent the source code for CGIs from being revealed when using
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd mod_vhost_alias and the CGI directory is under the document root
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd and a user makes a request like http://www.example.com//cgi-bin/cgi
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd as reported in <news:960999105.344321@ernani.logica.co.uk>
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd [Tony Finch]
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd *) Add support for the new Beos NetwOrking Environment (BONE)
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd [David Reid]
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjorton *) xlate: ap_xlate_conv_buffer() now tells the caller when the
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjorton final input char is incomplete; ap_bwrite_xlate() now handles
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jim incomplete final input chars. [Jeff Trawick]
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jim *) Yet another update to saferead/halfduplex stuff -- need to ensure
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jim that a bhalfduplex call occurs before logging or else DNS and
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jim such can delay the last packet of the response. [Dean Gaudet]
a4ab95921be8ce5de50913cd6505d41b672eb375minfrin *) Some syscall reduction in APR on unix -- don't seek when setting
a4ab95921be8ce5de50913cd6505d41b672eb375minfrin up an mmap; and don't fcntl() more than once per socket.
a4ab95921be8ce5de50913cd6505d41b672eb375minfrin [Dean Gaudet]
e605dd6afa940f799c873ffeaa5e25fa4ea9a2c8minfrin *) When mod_cgid is started as root, the cgi daemon now switches
e605dd6afa940f799c873ffeaa5e25fa4ea9a2c8minfrin to the configured User/Group (like other httpd processes)
e605dd6afa940f799c873ffeaa5e25fa4ea9a2c8minfrin instead of continuing as root. [Jeff Trawick]
50c06405bc48121db2913925549407fd3e79bcedmturk *) The prefork MPM now uses an APR lock for the accept() mutex.
50c06405bc48121db2913925549407fd3e79bcedmturk It has not been getting a lock at all recently. httpd -V now
dec02391360e503cd3437d16bed765dc653b9de5minfrin displays APR's selection of the lock mechanism instead of the
dec02391360e503cd3437d16bed765dc653b9de5minfrin symbols previously respected by prefork. [Jeff Trawick]
dec02391360e503cd3437d16bed765dc653b9de5minfrin *) Change the mmap() feature test to check only for existence.
dec02391360e503cd3437d16bed765dc653b9de5minfrin The previous check required features not used by Apache.
1b27a3a26f18191db7ecb4d536cb121ba9520a8eniq [Greg Ames]
686ce4eade942e515b1725d0c9751da36b759a6ctrawick *) Fix a couple of bugs in mod_cgid: The cgi arguments were
686ce4eade942e515b1725d0c9751da36b759a6ctrawick sometimes mangled. The len parm to accept() was not
686ce4eade942e515b1725d0c9751da36b759a6ctrawick initialized, leading sometimes to an endless loop of failed
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick accept() calls on OS/390 and anywhere else that failed the call
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd if the len was negative. Use <sys/un.h> for struct sockaddr_un
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd instead of declaring it ourselves to fix a compilation problem
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd on Solaris. [Jeff Trawick]
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd *) Add Resource limiting code back into Apache 2.0. [Ryan Bloom]
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd *) Fix zombie process problem with mod_cgi. [Jeff Trawick]
534611d341a1a48b93c7a1fd5e333dbd261527d3rpluem *) Port mod_mmap_static to 2.0. Make it go faster. [Greg Ames]
534611d341a1a48b93c7a1fd5e333dbd261527d3rpluem *) Fix storage overlay when loading dsos. Symptom: Apache dies at
79d4b708d021714647aab8b138ae671ed24765cewrowe initialization if ALLOC_DEBUG is defined; no known symptom
79d4b708d021714647aab8b138ae671ed24765cewrowe otherwise. [Jeff Trawick]
79d4b708d021714647aab8b138ae671ed24765cewrowe *) Fix typo in configure script when checking for mod_so. bash
79d4b708d021714647aab8b138ae671ed24765cewrowe doesn't seem to have a problem but /bin/sh on Solaris does.
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem Symptom: "./configure: test: unknown operator =="
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem [Jeff Trawick]
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem *) Rebind the Win32 NT and 9x services control into the MPM.
48fa058fe468025347930610ac2473094fa0f4e4chrisd All console, WinNT SCM and Win9x pseudo-service control code is
48fa058fe468025347930610ac2473094fa0f4e4chrisd now wrapped within the WinNT MPM.
48fa058fe468025347930610ac2473094fa0f4e4chrisd [William Rowe]
3ec4328f079d8867cc323155e59678ad9437914frooneg *) Make a copy of getenv("PATH") before storing for later use. Some
3ec4328f079d8867cc323155e59678ad9437914frooneg getenv() implementations use the same storage for successive calls.
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd CGIs on OS/390 had a bad PATH due to this. [Jeff Trawick]
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd *) Server Tokens work in 2.0 again. This also propogates the change
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd to allow just the product name in the server string using
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd PRODUCT_ONLY.
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd [Ryan Bloom]
cd59ac5e8f739afbdcd523c649550f7dce1709ceniqChanges with Apache 2.0a4
edf6757df85878dc8ce11fb3840ee4cde6de5b2frooneg *) EBCDIC: Rearrange calls to ap_checkconv() so that most handlers
db78659055df54243bca678c35bd2ce7e31a9237rooneg won't need to call it. [Greg Ames, Jeff Trawick]
95817edd05387a5276f51fcd5db79fc21b89b55brooneg *) Move pre_config hook call to between configuration read and config
95817edd05387a5276f51fcd5db79fc21b89b55brooneg tree walk. This allows all modules to implement pre_config hooks
63689d77e084e36b8194fb6df5adfc0344965e01trawick and know that they will be called at an appropriate time.
63689d77e084e36b8194fb6df5adfc0344965e01trawick [Ryan Bloom]
63689d77e084e36b8194fb6df5adfc0344965e01trawick *) mod_cgi, mod_cgid: Make ScriptLog directive work again.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Jeff Trawick]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Add pre-config hooks back to all modules.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [Ryan Bloom]
8b67b9d3ce40755d1b58971198a02b2749d8e13dbnicholes *) Fix a SIGSEGV in ap_md5digest(), which is used when you have
8b67b9d3ce40755d1b58971198a02b2749d8e13dbnicholes ContentDigest enabled and we can't/don't mmap the file.
8b67b9d3ce40755d1b58971198a02b2749d8e13dbnicholes [Jeff Trawick]
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem *) We now report the correct line number for syntax errors in config
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes files. [Ryan Bloom, Greg Stein, Jeff Trawick]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Brought mod_auth_digest up to synch with 1.3, fixed ap_time_t-
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes related bugs, and changed shmem/locking to use apr API. Shared-mem
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem is currently disabled, however, because of problems with graceful
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes restarts. [Ronald Tschal�r]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Fix corruption of IFS variable in --with-module= handling.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes Depending on the user's shell or customization thereof, there
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes would be errors generating ap_config_auto.h later in the configure
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes procedure. [Jeff Trawick]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) mod_cgi: Restore logging of stderr from child process when ScriptLog
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes isn't used (as in 1.3), except that on Unix it is now logged via
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes ap_log_rerror() instead of by the child having STDERR_FILENO refer
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes to the error log. [Greg Ames, Jeff Trawick]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Add '-D' argument processing for run time configuration defines.
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem [William Rowe]
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem *) Organize http_main.c as independent code, such that no code or
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem global data is exported from it. WIN32 will dynamically link it
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem to the server core, so this will prevent mutual dependency.
edc5389f50ce4153e6192740f3c7a188c8cf8d67niq [William Rowe]
6c05afd314b4ddd545d63b4ff5de822cc30eec79trawick *) Add separate dynamic linkage tags APR_EXPORT(), APR_EXPORT_NONSTD()
6c05afd314b4ddd545d63b4ff5de822cc30eec79trawick and APR_VAR_EXPORT to correctly resolve apr functions and globals.
6c05afd314b4ddd545d63b4ff5de822cc30eec79trawick [William Rowe]
13cd67e9c1dacbd6b9f040bda337c725cedd98f3brianp *) Add Win9x service execution and Ctrl+C/Ctrl+Break/Shutdown handlers.
a623efbff95aab78da9e030524b0fa69b054f6d0brianp [William Rowe, Jan Just Keijser <KEIJSERJJ@logica.com>]
a623efbff95aab78da9e030524b0fa69b054f6d0brianp *) Add mod_charset_lite for configuring character set translation.
a623efbff95aab78da9e030524b0fa69b054f6d0brianp [Jeff Trawick]
a623efbff95aab78da9e030524b0fa69b054f6d0brianp *) Add '-n' option to htpasswd to make it print its user:pw record
0b4b04d8621478ba59f0a6ba2950ddc02ab92b58colm on stdout rather than having to frob a text file. [Ken Coar]
0b4b04d8621478ba59f0a6ba2950ddc02ab92b58colm *) Fix saferead. Basically, we flush the output buffer if a read on the
2f1bb5376c5c4022383bb729679ca751dd75a2eabrianp input will block.
2f1bb5376c5c4022383bb729679ca751dd75a2eabrianp [Ryan Bloom]
ad862ab5716726a2d72a292ba1dfb29566c86153brianp *) APR: Add ap_xlate_get_sb() so that an app can find out whether or not
ad862ab5716726a2d72a292ba1dfb29566c86153brianp a conversion is single-byte only. [Jeff Trawick]
17d53ea32c4968e47733f1c2c063ae07d280efd6jerenkrantz *) BEOS: ap_shutdown should return APR_SUCCESS or errno. Note that
17d53ea32c4968e47733f1c2c063ae07d280efd6jerenkrantz the BeOS 5.0 documentation says that shutdown doesn't work yet.
2d5532b13110a8d85653da92e97795b09cc25cc2trawick [Roy Fielding]
b38565306421ff53e9f7499bc728d6df5cec294dpquerna *) Fix some minor errors where pid was being manipulated as an int
b38565306421ff53e9f7499bc728d6df5cec294dpquerna instead of the portable pid_t. [Roy Fielding]
89cc93f847a5510482d72d21fc38e9edb8e04057rjung *) Fix some error log prints that were printing the pointer to a
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim structure rather than the pid within the structure.
cfa64348224b66dd1c9979b809406c4d15b1c137fielding [Jeff Trawick, Roy Fielding]
cfa64348224b66dd1c9979b809406c4d15b1c137fielding *) ab: Fix a command-line processing bug; track bad headers in
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim err_response; support reading headers up to 2K.
cfa64348224b66dd1c9979b809406c4d15b1c137fielding [Ask Bjoern Hansen <ask@valueclick.com>]
cfa64348224b66dd1c9979b809406c4d15b1c137fielding *) Fix ap_resolve_env() so that it handles new function added in a prior
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim alpha (see "Added the capability to do ${ENVVAR} constructs in the
cfa64348224b66dd1c9979b809406c4d15b1c137fielding config file.") as well as the constructs used by mod_rewrite.
in 1.3's ebcdic.c. [Jeff Trawick]
buffer if the implementation knows how to use it (i.e., if L_tmpnam
*) Configure creates config.nice now containing your configure
options. Syntax: ./config.nice [--more-options]
*) Fix mm's memcpy/memset macros, pointer arithmetic was broken.
*) The ab program in the src/support directory is now portable using
*) Finished move of ap_md5 routines to apr_md5. Removed ap_md5.h.
Apache.dsw created to bring together all the pieces. Create new file
os/win32/BaseAddr.ref to define module base addresses (to prevent
*) More FAQs and answers from comp.infosystems.www.servers.unix.
fix up from Apache 1.3. #include'ing "ap_mpm.h" fixes up an
we can use ReadFileScatter and WriteFileGather in readwrite.c.
fixes to mod_so.c.
Makefile.win includes the same user interface as the old
*) Put in Korean and Norwegian index.html pages (2.0 and 1.3)
config file. E.g. 'ServerAdmin ${POSTMASTER}'. As commited
it does this on a line by line basis; i.e. if the envvar
ErrorDocument XXX /local/uri
ErrorDocument XXX http://valid/url
*) Changed 'CacheNegotiatedDocs' from its present/not-present
done with --with-module=/path/to/module. Modules can only be added
*) Enable Apache to use sendfile/TransmitFile API
*) Make file I/O and network I/O writev/sendv APIs consistent.
bytes_read/bytes_written is always valid (never -1). Plus
some fixes to buff.c to correct problems introduced by the
*) buff.c has been converted to no longer use errno.
automatically for developers from src/Configure.
*) Fixed building of src/support/htpasswd.c
*) Moved mod_auth_digest.c from experimental to standard. [Roy Fielding]
*) Support line-continuation feature in config.option file and
*) Implement WINNT Win32 MPM from original Win32 code in http_main.c
(per default used the config.option file).
calling order to be specified on a per-hook/per-module basis.
*) os/unix/unixd.[ch]: detach, setuid, setgid, stuff which will be common
*) mpm_prefork: throw away all the alarm/timeout crud; and clean up the
of alloc.c for now. [Dean Gaudet]
based on IP/port. [Ben Laurie]
*) I/O layering and BUFF revamp. See docs/buff.txt. [Dean Gaudet]
docs/initial_blurb.txt. [Dean Gaudet]
an absolute path to the ./libexec directory where the libhttp.ep file
routines are now called ap_base64* and are 'plain' (i.e., no
pool access or anything clever). Inside util.c the routines acting
*) Fixed assumption of absolute paths in binbuild.sh. [Tony Finch]
src/support/httpd.exp. [Bill Stoddard, Randy Terbush]
*) Make ap_sha1.c compile for EBCDIC platforms: replace remaining LONG
*) PORT: Improved compilation and DSO support on Sequent DYNIX/ptx.
*) Local struct mmap in http_core.c conflicted with system structure
*) Added updated mod_digest as modules/experimental/mod_auth_digest.
*) CIDR addresses such as a.b.c.d/24 where d != 0 weren't handled
*) RewriteLock/RewriteMap didn't work properly with virtual hosts.
*) PORT: Support for compaq/tandem/com.
Netscape servers. See support/SHA1 for more information.
Caused the separation of ap_md5.c into md5, sha1 and a general
ap_checkpass.c with just a validate_passwd routine. Added a
couple of flags to support/htpasswd. Some reuse of the to64()
with ASCII/EBCDIC conversions in "ident" query.
are combined, and duplicate tokens (e.g., "Vary: host, host" or
install the DSO; useful for editing httpd.conf with apxs. Fix
create duplicate LoadModule/AddModule entries; apxs can now be
used to re- enable/disable a module. [Wilfredo Sanchez]
Win 95 users may need to update their TCP/IP stack to pick up
Winsock 2. (See http://www.microsoft.com/windows95/downloads/)
error.log when CGI scripts fail. This makes Apache on Win32
*) Fix `make r' test procedure in src/regex/: ap_isprint was not found.
*) Add DSO support for DGUX 4.x using gcc. Tested on x86 platforms.
*) Add the new mass-vhost module (mod_vhost_alias.c) developed and
parent/child process management code.
*) Fix ndbm.h include problems with brain-dead glibc >= 2.1 which
has ndbm.h in a non-standard db1/ subdir. PR#4431, PR#4528
*) Determine AP_BYTE_ORDER for ap_config_auto.h and already
content-types are "text/html;parameters". PR#4524 [Ken Coar]
*void. When the OS/platform/compiler supports quads, ap_snprintf()
*) Add RULE_EXPAT, the src/lib/ directory structure, and a modified copy
(e.g., HTTP/0.9 or HTTP/1.1) of the request. [Ken Coar]
*) Switch to /bin/sh5 in APACI on Ultrix and friends to avoid problems with
their brain-dead /bin/sh. [Ralf S. Engelschall] PR#4372
*) mod_include's fsize/flastmod should allow only relative paths, just
*) Add iconsdir, htdocsdir, and cgidir to config.layout.
*) Fix minor but annoying bug with the test for Configuration.tmpl
in unix/os.c, and don't install the dyld error handlers, which
*) Add functionality to the install-bindist.sh script created by
binbuild.sh to use tar when copying distribution files to the
install-bindist.sh now detects the local perl5 path to install
src/modules/proxy_util.c where a NULL filepointer and
have assurance about how string manipulators (e.g., tr) will
*) Add "opt" (SysV-style) layout to config.layout. [Raymond S Brand
*) Fix number of bytes copied by read_connection() in src/support/ab.c
*) Make sure RewriteLock can be used only in the global context, (i.e.
uncompress/gzip, but those tools sometimes do not produce
*) PORT: deal with UTS compiler error in http_protocol.c
binary (e.g., image file) in the first place.
*) support/htpasswd now permits the password to be specified on the
apache -n apache1 -i -f c:/httpd.conf
Installs apache as service 'apache1' and associates c:/httpd.conf
Installs apache as service 'apache2'. httpd.conf is located under
the default server root (/apache/conf/httpd.conf).
apache -n apache3 -i -d c:/program files/apache
c:/program files/apache.
*) Correct the signed/unsigned character handling for the MD5 routines;
*) OS/2: Rework CGI handling to use spawn*() instead of fork/exec, achieving
*) proxy ftp: instead of using the hardwired string "text/plain" as
<Directory proxy:ftp://some.host>
DefaultType gargle/blurb
*) Be more smart in APACI's configure script when determining the UID/GID
the number of fork()s from one/request to just the odd one an hour.
*) Added proxy, auth and header support to src/support/ab.c. Added a
README file to src/support/
*) Fix sed-substitutions in `make install': path elements like `httpd/conf'
(for instance from an APACI configure --sysconfdir=/etc/httpd/conf
*) PORT: Add support for FreeBSD 4.x [Ralf S. Engelschall]
the reboot prompt (which is only given if MSVCRT.DLL system
*) WIN32: Apache.exe now contains an icon. [Paul Sutton]
*) Using APACI, the main config file (usually httpd.conf) was
*) Move the directive `ExtendedStatus' in httpd.conf-dist-win _after_ the
DSO/DLL section because it's a directive from mod_status and isn't
against libap.a and use its ap_snprintf() instead of sprintf() to avoid
*) Add Apple's Mac OS X Server Layout "Rhapsody" to config.layout.
*) Add cgidir, htdocsdir, iconsdir variables to Makefile.tmpl in order
*) Use proper pid_t type for saving PIDs in alloc.c. [John Bley]
in http_core.c. [John Bley, Roy Fielding]
*) src/support/: The ApacheBench benchmark program was overhauled by
*) Added -S option to install.sh so that options can be passed to
is *not* given in the argument list; i.e., the logical negation
*) Win32: Add global symbols missing from ApacheCore.def. [Carl Olsen]
to util.c for parsing an HTTP header field value to extract the next
code different from 500. This allows the proxy to, e.g., return
as "com.name" to be served. [Paul Sutton] PR#3769.
make subtasking easier on the OSD/POSIX mainframe environment.
ap_compat.h. [David White <david@persimmon.com>] PR#3725
*) Make NDBM file suffix determination for mod_rewrite more accurate, i.e.
*) Let src/Configure be aware of CFLAGS options starting with plus
signs as it's the case for the HP/UX compiler.
and this makes its functions available to things in src/support.
*) WIN32: Created new makefiles Makefile_win32.txt (normal build)
and Makefile_win32_debug.txt (debug build) that work on Win95.
nmake /f Makefile_win32.txt # compiles normal build
nmake /f Makefile_win32.txt install # compiles and installs
nmake /f Makefile_win32.txt clean # removes compiled junk
nmake /f Makefile_win32_debug.txt # compiles debug build
nmake /f Makefile_win32_debug.txt install
nmake /f Makefile_win32_debug.txt clean
*) Small fix for mod_env.html: The module was documented as to be _not_
*) Instead of fixing a bug in the generation procedure for config.status (a
making sure the src/support/ tools are _forced_ to be build last (they
*) Fix installation procedure: Now that os-inline.c is actually used (a
recently fixed bug prevented this) we need to also install os-include.c
`escape' and `unescape' were added which can be used to escape/unescape
to/from hex-encodings in URLs parts (this is especially useful in
*) Major overhaul of mod_negotiation.c, part 2.
- added ap_array_pstrcat() to alloc.c for efficient concatenation
*) Major overhaul of mod_negotiation.c, part 1.
revision (draft-ietf-http-v11-spec-rev-06.txt).
e.g. no feature negotiation). Removed old experimental version.
negotiation results are consistent across backup/restores and mirrors
*) RFC2396 allows the syntax http://host:/path (with no port number)
*) When modules update/modify the file name in the configfile_t structure,
*) The hashbang emulation code in ap_execve.c would interpret
#!/hashbang/scripts correctly, but failed to fall back to a
o fixed auto-suffix handling now that config.layout exists.
config.layout and every path now can be marked this way (not only the
SINGLE_LISTEN_UNSERIALIZED_ACCEPT to NetBSD/OpenBSD section
of ap_config.h to allow serialized accept for multiport listens.
*) PORT: Fixed a misplaced #endif for NetBSD/OpenBSD section
of ap_config.h that would skip several defines if DEFAULT_GROUP
strcasecmp, so allow it in ap_config.h. [Amiel Lee Yee] PR#3247
*) Fix ordering of definitions in ap_config.h so that ap_inline is
*) Make generation of src/Configuration.apaci more robust: It failed to
another (e.g. cgi vs. fastcgi). We now check for mod_XXX, libXXX and even
*) In src/Configure remove the SERVER_SUBVERSION support (already deprecated
*) Allow special options -Wc,xxx and -Wl,xxx on APXS compile/link command.
IS to the compiler/linker command. [Ralf S. Engelschall]
config.layout. Custom layouts are possible by using FILE:ID as the
The config.layout file consists of <Layout ID>..</Layout> sections
extension (e.g., .fr, .de) can be labelled as being some other
*) mod_include.c:handle_perl() now properly tests for OPT_INCNOEXEC
*) Updated mime.types to reflect current Internet media types
Improved mod_actions.c so that it can use any of the methods
defined in httpd.h. Added ap_method_number_of(method) for
*) Fix problems with handling of UNC names (e.g., \\host\path)
*) Move a typedef to fix compile problems on Linux with 1.x kernels.
*) http_config.c would respond with 501 (Method Not Implemented) if a
should have been a 500 response. Likewise, mod_proxy.c would responsd
on-the-fly/batch permute the order of two modules (mod_foo and mod_bar)
mod_foo with the begin of the module list, i.e. it `moves' the module to
which permutes mod_foo with the end of the module list, i.e. it `moves'
on container start lines (e.g., it wouldn't spot
*) Fix Berkeley-DB/2.x support in mod_auth_db: The data structures were not
httpd.conf-dist* files. The srm and access files now contain
only comments, and httpd.conf has all the combined contents in
*) PORT: DSO/ELF support for FreeBSD 3.0.
*) Fix http://localhost/ hints in top-level INSTALL document.
ap_config.h. [Brian Havard]
*) PORT: Add Pyramid DC/OSx support to configuration mechanism.
*) PORT: Fix sys/resource.h handling for Amdahl's UTS 2.1
*) Correct comment in mod_log_config.c about its internals.
handle the creation of modules.c [Jim Jagielski]
and to avoid problems under platforms where only version 2.x is present.
*) Remove redundant substitutions in top-level Makefile.tmpl.
platforms where `nogroup' exists in /etc/group. [Ralf S. Engelschall]
the possibility to override it manually via APACI or src/Configuration.
existance of the file under /usr/include, too.
*) Fix possible buffer overflow situation in suexec.c.
*) Fix documentation of ProxyPass/ProxyPassReverse according to the
in /home/user, not in /, therefore clicking on "../" in the
dump core for replies with invalid headers (e.g., duplicate
plop gmon.out profile data for each child [Doug MacEachern]
config.status script to be immune against arguments with whitespaces.
script `buildinfo.sh' which is both more flexible and already proofed to
*) Make ab.c again pass ``gcc -Wall -Wshadow -Wpointer-arith -Wcast-align
*) Remove bad reference to non-existing SERVER_VERSION in mod_rewrite.html
*) Bump up MAX_ENV_FLAGS in mod_rewrite.h from the too conservatice limit of
variables in one RewriteRule and had to patch mod_rewrite.h for every
*) Make sure the config.status file is not overridden when just
See include/ap_mmn.h for more details. [Randy Terbush]
*) Cleanup of the PrintPath/PrintPathOS2 helper functions. Avoid
following the same idea as "MSVC vs WIN32". Additionally the src/os/emx/
directory was renamed to src/os/os2/ for consistency.
linking the DSOs, i.e. PIC libs and shared libs. Currently the rule is
*) Add correct `model' MIME types from RFC2077 to mime.types file.
*) Fixed examples in mod_rewrite.html document.
*) Update the mod_rewrite.html document to correctly reflect the situation
Makefile.tmpl: The umask+cp approach didn't work as expected (especially
*) Fix `distclean' and `clean' targets in src/Makefile.tmpl to have same
src/helper/mkdir.sh script. [Ralf S. Engelschall]
`search' entries in /etc/resolv.conf.
INSTALL file because a lot of users don't read htdocs/manual/dso.html
[Knut A.Syed <Knut.Syed@nhh.no>] PR#2674
(compilers complained) and the .so.V.R.P filename extension was adjusted
*) Disable the incorrect entry for application/msword in the
*) Fix broken RANLIB handling in src/Configure (the entry from
src/Configuration.tmpl was ignored) and additionally force RANLIB to
*) Autogenerate some HAVE_XXXXX_H defines in conf_auto.h (determined via
TestCompile) instead of defining them manually in conf.h based on less
OS-type and/or OS-version identifiers to discover whether a system header
required by HTML 3.2 and later) to mod_mime_magic's conf/magic.
*) Add Dynamic Shared Object (DSO) support for SCO5 (OpenServer 5.0.x).
*) Fix the Guess-DSO-flags-from-Perl stuff in src/Configure: "perl" was
*) PORT: remove broken test for MAP_FILE in http_main.c.
*) PORT: Change support/apachectl to use "kill -0 $pid" to test if the
but case-insensitive platforms). New #define for this added to conf.h
*) Enable DSO support for OpenBSD in general, not only for 2.x, because it
also works for OpenBSD 1.x. [Ralf S. Engelschall]
of a config.status script (as GNU Autoconf does) which remembers the used
*) Correct initialization of variable `allowed_globals' in http_main.c
multipart/x-mixed-replace;boundary=ThisRandomString.
modules/xxx/Makefile's to avoid problems with SVR4 Make under "full-DSO"
<Directory /> section of the default access.conf-dist
*) Fix symbol export list (src/support/httpd.exp) after recent
solved by another helper script findprg.sh which searches for Perl and
*) Remove the system() call from htpasswd.c, which eliminates a system
dependancy. ["M.D.Parker" <mdpc@netcom.com>] PR#2332
*) PORT: helpers/GuessOS updates for various versions for NCR SVR4.
*) Fix recently introduced Win32 child spawning code in mod_rewrite.c which
configure and src/Configure depend on this.
*) Changes usage of perror/fprintf to stderr to more proper ap_log_error
*) PORT: QNX needed a #include <sys/mman.h>; and now it uses flock
spawn_child was obsoleted and moved to compat.h
*) Fix src/support/httpd.exp (DSO export file which is currently only
``RewriteRule ^myscript$ - [T=application/x-httpd-cgi]'' This was often
*) Fix discrepancy in proxy_ftp.c which was causing failures when
*) Support for the NCR MP/RAS 3.0
*) The LDFLAGS_SHLIB_EXPORT variable of src/Configuration[.tmpl] was
not retrieved in src/Configure and thus was not useable.
- SUBDIRS is now generated in src/Makefile only and not in
Makefile.config because it is a local define for this location.
- update the "depend" targets in Makefile.tmpl files to use $(OSDIR), too.
- replaced SHLIB_OBJS/SHLIBS_OBJ consistently with OBJS_PIC because OBJS
- replaced ugly xx-so.o/xx.so-o hack with a clean and consistent usage
of xxx.lo as GNU libtool does with its PIC objects
- reduce local complexity in modules Makefile.tmpl by moving the last
*) WIN32: Make Win32 work again after the /dev/null DoS fix.
*) When opening "configuration" files (like httpd.conf, htaccess
and htpasswd), Apache will not allow them to be non-/dev/null
necessary. Long-term fix is to either serialize the chdir/spawn combo
htdocs/manual/suexec.html document before using the suexec-related
and htdocs/manual/suexec.html documents.
UID/GID and safe PATH, too.
- overhauled mkshadow.sh script: now its more IFS-safe and approx. twice
*) Add a note to httpd.conf-dist that apache will on some systems fail
and not the original statically list from modules.c
confusion with the next point and reduces the Makefile.tmpl complexity
6. The modules.c generation was extended to now contain two
of loading/linking (we use load=link+load & link=activate instead of
*) Fix the generated mod_xxx.c from "apxs -g -f xxx" after the
*) Add a comment to mod_example.c showing the format of a FLAG command
places in the code (e.g. DATE_GMT). PR#1551
*) get/set_module_config are trivial enough to be better off inline. Worth
*) Fix off-by-one error in ap_proxy_date_canon() in proxy_util.c
*) Fix debug log messages for BS2000/OSD: instead of logging the whole
*) Make sure the referer_log and agent_log entries in the default httpd.conf
*) WIN32: Make roots of filesystems (e.g. c:/) work. [Ben Laurie]
from mod_so.c to Configure because first it needs $PLAT etc. and second
AIX variants should work fine, too. Even AIX 3.x should work). This is
which we put into a os/unix/os-dso-aix.c file.
*) Fix two bugs in select() handling in http_main.c.
side-effect this reduces some subdir fiddling in configure+Makefile.tmpl.
"make root=/tmp/apache install" for rolling the package without bristling
*) Workaround braindead AWK's when generating ap_config.h: The split() and
*) Fix DEBUG_CGI situation in mod_cgi.c [David MacKenzie] PR#2114
*) Make sure that "make install" doesn't overwrite the `mime.types' and
*) PORT: Dynamic Shared Object (DSO) support for OpenBSD 2.x
variables) to avoid side-effects in "src/Configure" when the user
*) Provide backward compatibility from some old src/Configuration.tmpl
*) NeXT required strdup() in support/logresolve.c
ap_snprintf, and ap_psprintf). See include/ap.h for docs.
*) Because /usr/local/apache is the default prefix the ``configure
to `char *' under OSF1 and FreeBSD 2.x where it is defined this way
*) PORT: Make sure some AWK's don't fail in src/Configure with "string too
long" errors when generating the MODULES entry for src/Makefile
*) Make sure src/Configure doesn't complain about the old directory
/usr/local/etc/httpd/ when APACI is used. [Lars Eilebrecht]
*) Adding DSO support for the HP/UX platform by emulating the dlopen-style
interface via the similar but proprietary HP/UX shl_xxx-style system
APACI Makefile.tmpl "install" target more robust for sensible UnixWare
- Apache provided general functions (e.g., ap_cpystrn)
- Public API functions (e.g., palloc, bgets)
cross-object usage) but should be (e.g., new_connection)
For backward source compatibility a new header file named compat.h was
dummy.so file (containing dummy references to all global symbols) the
Placing the Apache core code itself into a DSO library named libhttpd.so.
where we perhaps exploit this libhttpd.so mechanism for providing nifty
inside the src subtree (i.e. for non-APACI users). Following GNU Makefile
to the mak/dsp files. [Alexei Kosut]
*) Add documentation file and src/Configuration.tmpl entry for the
*) Now src/Configure uses a fallback strategy for the shared object support
and installation of the support tools from the src/support/ area.
dynamic shared object (DSO) mechanism [mod_so.c]. The trick here is that
Apache C header files (PREFIX/include) and the new APXS tool
(SBINDIR/apxs). The intend is to provide a handy tool for third-party
modules, from trivial ones (single mod_foo.c) to complex ones (like PHP3
*) Modify the log directives in httpd.conf-dist files to use CustomLog
script and a corresponding top-level "Makefile.tmpl" file. The goal is
the old src/Configure stuff in batch and additionally installs the
routines. Use this to replace http_bprintf.c. Add new routines
is necessary on at least Solaris where the /etc/rc?.d scripts
http://.../cgi-bin/...?http%3A%2F%2F... references) [Martin Kraemer]
the mod_proxy.html and corrected the hyperlink to it in the
new_features_1.3.html document. [Ralf S. Engelschall] PR#1348
*) Fix a bug in the src/helpers/fp2rp script and make it a little bit
*) Add the new ApacheBench program "ab" to src/support/: This is derived
*) src/include/ap_config.h now wraps it's #define's with #ifndef/#endif's
*) [PORT] For A/UX change the OS-#define for -DAUX to -DAUX3.
the ugly export kludge, makes the one-liner file mod_mime.h obsolete, and
*) util.c cleanup and speedup. [Dean Gaudet]
modules as shared objects. Especially Solaris 2.x, SunOS 4.1, IRIX and
*) The Configure script now generates src/include/ap_config.h which
"http://host" url is treated as if a similar "Host:" header had been
supplied. This change was made to support future HTTP/1.x protocols
*) API: Cleanup of code in http_vhost.c, and remove vhost matching
*) API: A new source module main/util_uri.c; It contains a routine
user; /* user name, as in http://user:passwd@host:port/ */
password; /* password, as in http://user:passwd@host:port/ */
a username can contain when trying to expand it via /etc/passwd.
*) Hide Proxy-Authorization from CGI/SSI/etc just like Authorization is
reads fail. ["M.D.Parker" <mdpc@netcom.com>] PR#1827
*) Source file dependencies in Makefile.tmpl files throughout the
htdocs/manual/known_client_problems.html are in the default
(like mod_dld for Win32). This replaces mod_dld.c. Use SharedModule
header files are in the src/include directory. The -Imain -Iap
and mod_rewrite) have not been moved to src/include; nor have
calls that use too small an initial guess, see alloc.c.
because the key/value is a constant, or the value has been built
Note that it is easy to get code subtly wrong if you pass a key/value
safe thing to do is to pass key/values which are in the pool of
i.e. if the table is part of a subrequest, a value from the main
usage, enabled by defining POOL_DEBUG. See alloc.c for more details.
*) API: "typedef array_header table" removed from alloc.h, folks should
HAVE_MMAP/SHMGET #defines strictly are informational that the
Unixware 1.x appears to have the same SIGHUP bug as solaris does with
*) PORT: A/UX can handle single-listen accepts without mutex
*) suexec errors now include the errno/description. [Marc Slemko] PR#1543
*) Some const declarations in mod_imap.c that were added for debugging
*) The src/main/*.h header files have had #ifndef wrappers added to
multiple paths (e.g., in .c files as well as other .h files).
src/ap/ap.h, to ease their use in non-httpd applications. [Ken Coar]
set with SetEnv/BrowserMatch and similar directives.
(the Siemens BS2000/OSD family) in the POSIX subsystem
Located in libap.a. [Jim Jagielski]
alloc.c (affects win32 only). [Ben Hyde]
server itself (like the src/support tools). [Ken Coar]
It also wouldn't handle "AddIconByType (TXT,/icons/text.gif text/*"
htdocs/manual/misc/known_client_problems.html#257th-byte) can happen
can be used by items in src/support among other things.
(e.g., <Directory>) where they're invalid. [Martin Kraemer]
for fgetc() and fgets() on SunOS 4.x. [Martin Kraemer, Ben Hyde]
subdirectory htdocs/manual/vhost/. [Lars Eilebrecht <sfx@unix-ag.org>]
[M.D.Parker] PR#1352
*) Inherit a bugfix to fnmatch.c from FreeBSD sources.
breaking on some systems. [Bhaba R.Misra <system@vt.edu>] PR#1368
*) A mild SIGTERM/SIGALRM race condition was eliminated.
*) Warn user that default path has changed if /usr/local/etc/httpd
*) PORT: On AIX 1.x files can't be named '@', fix the proxy cache
Document this a bit more in src/PORTING. [Dean Gaudet] PR#467
*) WIN32: Make index.html and friends work under Win95. [Ben Laurie]
*) Default pathname has been changed everywhere to /usr/local/apache
*) PORT: UnixWare 2.x requires -lgen for syslog.
[M.D.Parker <mdpc@netcom.com>] PR#1284
*) New support tool: src/support/split-logfile, a sample Perl script which
*) Makefile.tmpl was not using $CFLAGS in the link phase.
*) Add debugging code to alloc.c. Defining ALLOC_DEBUG provides a
Purify. See main/alloc.c for more details. [Dean Gaudet]
be used for whatever reason is appropriate (i.e. format() warnings
gcc >= 2.7.x (so that we have fewer support issues with older
Also removed the auto-generated link to www.apache.org that was the
*) suexec.c wouldn't build without -DLOG_EXEC. [Jason A. Dour]
*) Fixed error in proxy_util.c when looping through multiple host IP
buffered writes -- that is, it will buffer up to PIPE_BUF (i.e. 4k)
*) API: New register_other_child() API (see http_main.h) which allows
*) API: New piped_log API (see http_log.h) which implements piped logs,
Some things (like RewriteMaps) were checked/performed even if they
*) Removal of mod_auth_msql.c from the distribution. There are many
http://modules.apache.org/ It would be nice to offer a generic
Makefile on the fly based on Makefile.tmpl and Configuration.
*) support/httpd_monitor is no longer distributed because the
the headers/contents of the request. It does not run during subrequests
USE_xxx_SERIALIZED_ACCEPT in conf.h. xxx is FCNTL for fcntl(),
- Linux 2.x uses flock instead of fcntl
- Solaris 2.x uses pthreads
*) PORT: The semantics of accept/select make it very desirable to use
Modules can be dropped into modules/extra, or in their own
modules/standard. All other source code is in main. OS-specific
match "/home/a/andrew/public_html", now it only matches things
/dev/tty, etc.)
and cidr syntax (i.e. 10.1.0.0/16). PR#762
Apache would omit the chunk header/footer on the next block. Cleaned
e.g. when max_requests_per_child is reached, etc.
*) PORT: QNX mmap() support for faster/more reliable scoreboard handling.
setting. The define MAX_SPAWN_RATE can be used to raise/lower
in a language that by default does buffering (e.g. perl) this
*) PORT: Allow for use of n32bit libraries under IRIX 6.x
*) PORT: Linux: Attempt to detect glibc based systems and include crypt.h
*) PORT: QNX doesn't have initgroups() which support/suexec.c uses.
rect /url.hrm 10 20 30 40
braindead SunOS 4.1.x, allow env variables to be set even on rules with
i.e. now mod_rewrite no longer has a shared copyright. Instead is is
See http_config.h for more details. [Dean Gaudet]
LoadModule/LoadFile directives. Note that module DLLs must be
Module autoindex_module mod_autoindex.o
*) popendir/pclosedir created to properly protect directory scanning.
*) Makefile.nt added - to build all the bits from the command line:
nmake -f Makefile.nt
httpd.h. [Dean Gaudet]
the SFIO library calls sfread/sfwrite if B_SFIO is defined at
*) Turn off chunked encoding after sending terminating chunk/footer
*) SECURITY: When a client connects to a particular port/addr, and
actually be reached via that port/addr. [Ed Korthof <ed@organic.com>]
*) Support virtual hosts with wildcard port and/or multiple ports
and mod_include.c. [Dean Gaudet]
Also removed the auto-generated link to www.apache.org that was the
htdocs/manual/misc/known_client_problems.html#257th-byte) can happen
*) #ifdef wrap a few #defines in httpd.h to make life easier on
*) Fix MPE compilation error in mod_usertrack.c. [Mark Bixby]
should consider comparing against src/modules/standard/mod_include.c
*) suexec.c wouldn't build without -DLOG_EXEC. [Jason A. Dour]
minus WIN32/NT stuff, but plus copyright removement.
under Solaris 2.x (up through 2.5.1). It has been fixed.
lockfile in any location. It previously defaulted to /usr/tmp/htlock.
*) Add a placeholder in modules/Makefile to avoid errors with certain
*) USE_FLOCK_SERIALIZED_ACCEPT is now default for FreeBSD, A/UX, and
redirect flag, e.g. R=permanent, the permanent status was lost.
*) PORT: Support for Maxion/OS SVR4.2 Real Time Unix. [no name given] PR#383
*) PORT: fix problem compiling http_bprintf.c with gcc under SCO
*) Fixed open timestamp fd in proxy_cache.c [Chuck Murcko]
directive and the DEFAULT_TYPE symbol in httpd.h. Changed the value
of DEFAULT_TYPE to match the documented default (text/plain).
*) In mod_proxy.c, check return values for proxy_host2addr() when reading
the connection (e.g., when user presses Stop). Apache will now stop
*) Rearrange Configuration.tmpl so that mod_rewrite has higher priority
htdocs/manual/stopping.html for details on stopping and
*) The default handler now logs invalid methods or URIs (i.e. PUT on an
buffer or write inside buff.c or fread'ing from a CGI's output,
*) Use /bin/sh5 on ULTRIX. [P. Alejandro Lopez-Valencia] PR#369
*) Add UnixWare compile/install instructions. [Chuck Murcko]
*) Add macro for memmove to conf.h for SUNOS4. [Marc Slemko]
*) More signed/unsigned port fixes. [Dean Gaudet]
*) suexec.c doesn't close the log file, allowing CGIs to continue writing
*) Improved generation of modules/Makefile to be more generic for
*) Fixed overlaying of request/sub-request notes and headers in
*) Port to UXP/DS(V20) [Toshiaki Nomura <nom@yk.fujitsu.co.jp>]
*) changed status check mask in proxy_http.c from "HTTP/#.# ### *" to
- Changed send_dir() to remove user/passwd from displayed URL.
select/accept and keep-alive requests, fixed several bugs regarding
*) Tweak byteserving code (e.g. serving PDF files) to work around
Emit Content-Length header when sending multipart/byteranges.
*) Port to HI-UX/WE2. [Nick Maclaren]
regex/regcomp.c since that file also used a NEXT define.
*) Portability Fix: NeXT lacks unistd.h so we wrap it's inclusion
*) Remove mod_fastcgi.c from the distribution. This module appears
continue to be easily available at http://www.fastcgi.com/
*) Fixed bug in modules/Makefile that wouldn't allow building in more
- execution restricted to UID/GID > 100
*) Replace references to make in Makefile.tmpl with $(MAKE).
*) Add ProxyBlock directive w/IP address caching. Add IP address
*) Remove requirement for ResourceConfig/AccessConfig if not using
2. initgroups() on Linux 2.0.x clobbers gr->grid.
*) Reset timeout while reading via get_client_block() in mod_cgi.c
*) Add the ability to pass different Makefile.tmpl files to Configure
*) proxy_http.c bugfixes: [Chuck Murcko]
1) fixes possible NULL pointer reference w/NoCache
*) mod_include.c bugfixes:
*) Added definitions for S_IWGRP and S_IWOTH to conf.h [Ben Laurie]
http_protocol.c [Roy Fielding]
*) Replaced use of index() in mod_expires.c with more appropriate
*) In helpers/CutRule, replaced "cut" invocation with "awk" invocation
*) Updated helpers/GuessOS for ...
SCO UnixWare 2.1.1 (requires a separate set of #defines in conf.h)
and fixed something in helpers/PrintPath [Ben Laurie]
*) Not listed. See <http://www.apache.org/docs/new_features_1_2.html>
*) mod_env now turned on by default in Configuration.tmpl.
b) truncated hostnames/ip address in the logs
*) Not listed. See <http://www.apache.org/docs/new_features_1_1.html>
*) Internal redirects which occur in mod_dir.c now preserve the
*) Fix for POSIX compliance in waiting for processes in alloc.c.
which works similar to PidFile (in httpd.conf) [Rob Hartill]
*) Include sys/resource.h in the correct place for SunOS4 [Sameer Parekh]
*) the pstrcat call in mod_cookies.c didn't have an ending NULL,
*) Add strerror function to util.c for SunOS4 [Randy Terbush]
*) patch to get Apache compiled on UnixWare 2.x, recommended as
a temporary measure, pending rewrite of rfc931.c. [Chuck Murcko]
*) past changes to http_config.c to only use the
*) Remove uses of MAX_STRING_LEN/HUGE_STRING_LEN from several routines.
and the server provider uses relative links; as file.html
*) Not listed. See <http://www.apache.org/docs/new_features_1_0.html>
*) Fixed potential FILE* leak in http_main.c [Ben Laurie]
*) Eliminated some bogus Linux-only #defines in conf.h [Aram Mirzadeh]
*) Nuked bogus #define in httpd.h [David Robinson]
*) gcc -Wall no longer complains about an unused variable when util.c
*) Rationalize handling of BSD in conf.h and elsewhere [Randy Terbush,
*) Suppress -Wall warning by casting const away in util.c [Aram Mirzadeh]
subprocesses, including the SIGTERM/pause/SIGKILL routine, until
causing certain extremely marginal cases (e.g., ScriptAlias of a
*particular* index.html file) to fail. [David Robinson]
*) Cleaned up compiler warning from mod_access.c [Robert Thau]
*) Cleaned up comments in mod_cgi.c [Robert Thau]
"/path/to/some/link/" follows the link. [Thau, Fielding]
*) Doesn't reset DirectoryIndex to 'index.html' when
*) Clarified init code and nuked bogus warning in mod_access.c
*) Corrected several directives in sample srm.conf
*) Fixed ScriptAlias/Alias interaction by moving ScriptAlias handling to
mod_alias.c, merging it almost completely with handling of Alias, and
using a special file created for the purpose in /usr/tmp, and
which try to print out the last-modified date). [Eric Hagberg/Robert
*) <!--exec cgi="/some/uri/here"--> always treats the item named by the
*) POST to CGI works on A/UX [Jim Jagielski]
it seems to work well enough without it (even in a 10 hits/sec
workout), and the overhead for the locking under A/UX is
*) Fixed portability problems with mod_cookies.c [Cliff Skolnick]
*) Further de-Berklize mod_cookies.c; change the bogus #include. [Brian
Behlendorf/Eric Hagberg]
*) More improvements to default Configuration for A/UX [Jim Jagielski]
*) SunOS lib-function prototypes in conf.h conditionalized on __GNUC__,
*) Scoreboard file (/tmp/htstatus.*) no longer publically writable.
properly. (One-line fix to http_protocol.c).
*) Corrected cgi-src/Makefile entry for new imagemap script. [Alexei Kosut]
*) Nuked Shambhala name from src/README; had already cleaned it out
*) Set config file locations properly if not set in httpd.conf
*) Fixed mod_imap.c --- relative paths with base_uri referer don't
be nice if mod_dir.c was robust enough to handle that, but for now,
/tmp/htstatus.*, on which each process has an independent file
*) Moved FCNTL_SERIALIZED_ACCEPT defines into conf.h (that's what
*) Incidental code cleanups in http_main.c --- stop dragging
*) Fixed auth_name-related typos in http_core.c [Brian Behlendorf]
Also, fixed auth typo in http_protocol.c unmasked by this fix.
*) Reordered modules in modules.c so that Redirect takes priority
the same SIGTERM/pause/SIGKILL routine used to ding an errant CGI
*) Fixed silly typo in http_main.c which was suddenly fatal in HP-UX.
*) mod_core.c --- default_type returns DEFAULT_TYPE (the compile-time
memory area every time). Fix is in mod_dir.c. [Paul Sutton]
*) Changes to http_main.c --- root server no longer plays silly
*) mod_dir.c bug fixes: ReadmeName and HeaderName
*) http_request.c now calls unescape_url() more places where it
*) Generalized cleanup interface in alloc.c --- any function can be
registered with alloc.c as a cleanup for a resource pool;
*) More changes in alloc.c --- new cleanup_for_exec() function,
registered with the alloc.c machinery before the server exec()s a
*) Fixed basic thinkos in mod_dbm_auth.c [rst, reported by Mark Cox]
in alloc.c [rst]