STATUS revision 9a93784d34c322d1996e8a7b794a75230eac81a4
7f007e36bec06aba6b3a0f84a64f2abf99edfcd8gsteinAPACHE 2.0 STATUS: -*-text-*-
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantzLast modified at [$Date: 2002/10/03 14:38:11 $]
dec8fb7a4d03d8f0f485af9556bbd2b3f385696ejerenkrantz 2.0.44 : in development
dec8fb7a4d03d8f0f485af9556bbd2b3f385696ejerenkrantz 2.0.43 : rolled October 2, 2002
4a257be29f8aeab984fe5622fa69e0b2aab204d7jerenkrantz 2.0.42 : released September 24, 2002 as GA.
91cacb801f6c0215b38322f6d2fc58cbfedfecfbjerenkrantz 2.0.41 : rolled September 16, 2002. not released.
91cacb801f6c0215b38322f6d2fc58cbfedfecfbjerenkrantz 2.0.40 : released August 9, 2002 as GA.
df14f0d3a5191cdd7c4bb5b03acd135d43a6f51brbb 2.0.39 : released June 17, 2002 as GA.
df14f0d3a5191cdd7c4bb5b03acd135d43a6f51brbb 2.0.38 : rolled June 16, 2002. not released.
ab71b233b3a36489e44a7b061c48293be0b17788jwoolley 2.0.37 : rolled June 11, 2002. not released.
571760de5e60c0b459cb11be45507b923cd023eejwoolley 2.0.36 : released May 6, 2002 as GA.
571760de5e60c0b459cb11be45507b923cd023eejwoolley 2.0.35 : released April 5, 2002 as GA.
9180a5933673ffb1af633c255ceee029340f3b1erbb 2.0.34 : tagged March 26, 2002.
bcb6e1be6041dfeb549c8ea8d37f97ad4e90a0c3rbb 2.0.33 : tagged March 6, 2002. not released.
9bd71e35f5d26d26d23fe3a677401828e842ed72wrowe 2.0.32 : released Feburary 16, 2002 as beta.
2900ab946a2d76b73a14cebfe2985d253f01c967stoddard 2.0.31 : rolled Feburary 1, 2002. not released.
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb 2.0.30 : tagged January 8, 2002. not rolled.
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb 2.0.29 : tagged November 27, 2001. not rolled.
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb 2.0.28 : released November 13, 2001 as beta.
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb 2.0.27 : rolled November 6, 2001
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein 2.0.26 : tagged October 16, 2001. not rolled.
35330e0d79ceb8027223bbb8330a381b1f989d6etrawick 2.0.25 : rolled August 29, 2001
6f6f4a4bca281779d196acbdd5c017bb90858305trawick 2.0.24 : rolled August 18, 2001
8dd4618c4709236b4ea297d7250d282e463ce2d8rbb 2.0.23 : rolled August 9, 2001
09bd86d0db1114ee23eda0a6eb76ca055877a1cftrawick 2.0.22 : rolled July 29, 2001
2deb319e6b3de239f45c16a3e9e836d44f1f7108rbb 2.0.21 : rolled July 20, 2001
bd929c73ef04789b7183b840d8db6e01d03a4d86rbb 2.0.20 : rolled July 8, 2001
70f6f32765cfaadd6da8de6f0fea97ddd72d8fadmanoj 2.0.19 : rolled June 27, 2001
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj 2.0.18 : rolled May 18, 2001
af4c982a7cf4515f124935f99a329744035fc699slive 2.0.17 : rolled April 17, 2001
af4c982a7cf4515f124935f99a329744035fc699slive 2.0.16 : rolled April 4, 2001
af4c982a7cf4515f124935f99a329744035fc699slive 2.0.15 : rolled March 21, 2001
af4c982a7cf4515f124935f99a329744035fc699slive 2.0.14 : rolled March 7, 2001
af4c982a7cf4515f124935f99a329744035fc699slive 2.0a9 : released December 12, 2000
af4c982a7cf4515f124935f99a329744035fc699slive 2.0a8 : released November 20, 2000
af4c982a7cf4515f124935f99a329744035fc699slive 2.0a7 : released October 8, 2000
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj 2.0a6 : released August 18, 2000
531c23ff01a2489646f0a2029097013b328d935agstein 2.0a5 : released August 4, 2000
c00273b9c51c617ede471e9cb95c22420f1227fbbrianp 2.0a4 : released June 7, 2000
c00273b9c51c617ede471e9cb95c22420f1227fbbrianp 2.0a3 : released April 28, 2000
c00273b9c51c617ede471e9cb95c22420f1227fbbrianp 2.0a2 : released March 31, 2000
c00273b9c51c617ede471e9cb95c22420f1227fbbrianp 2.0a1 : released March 10, 2000
54e1babd5a5a56c576eeeace54110150769cc916coarPlease consult the following STATUS files for information
54e1babd5a5a56c576eeeace54110150769cc916coaron related projects:
7fe18c15b669db9d191859695901dc4fcf3829dawroweContributors looking for a mission:
7fe18c15b669db9d191859695901dc4fcf3829dawrowe * just do an egrep on "TODO" and see what's there
976501adbc040220270f7d1d77c4b8373033be69wroweCURRENT RELEASE NOTES:
b84f66c93f820824b1d5455181f55598b766319cwroweRELEASE SHOWSTOPPERS:
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbbCURRENT VOTES:
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb * httpd-std.conf and friends
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb a) httpd-std.conf should be tailored by install (from src or
b84f66c93f820824b1d5455181f55598b766319cwrowe binbuild) even if user has existing httpd.conf
b84f66c93f820824b1d5455181f55598b766319cwrowe +1: trawick, slive, gregames, ianh, Ken
b84f66c93f820824b1d5455181f55598b766319cwrowe b) tailored httpd-std.conf should be copied by install to
a601d863bd772fefc4dc82a883589d8be6a44811wrowe -0: striker
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowe c) tailored httpd-std.conf should be installed to
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowe +1: slive, trawick, Ken
976501adbc040220270f7d1d77c4b8373033be69wrowe d) Installing a set of default config files when upgrading a server
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowe doesn't make ANY sense at all.
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz +1: rbb, striker
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz ianh - medium/big sites don't use 'standard config' anyway, as it
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz usually needs major customizations
852271d782b83c92c4581c9f1bafe342169edc89jerenkrantz * If the parent process dies, should the remaining child processes
852271d782b83c92c4581c9f1bafe342169edc89jerenkrantz "gracefully" self-terminate. Or maybe we should make it a runtime
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz option, or have a concept of 2 parent processes (one being a
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz "hot spare").
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz Self-destruct: Ken, Martin
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz Not self-destruct: BrianP, Ian, Cliff, BillS
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz Make it runtime configurable: Aaron, Jim, Justin
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz Have 2 parents: +1: Jim
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz -1: Justin, wrowe [for 2.0]
39cf872a6df49bd5affe2ca6eaf683918184fbb4trawick +0: Martin (while standing by, could it do
39cf872a6df49bd5affe2ca6eaf683918184fbb4trawick something useful?)
39cf872a6df49bd5affe2ca6eaf683918184fbb4trawick * Make the worker MPM the default MPM for threaded Unix boxes.
39cf872a6df49bd5affe2ca6eaf683918184fbb4trawick +1: Justin, Ian, Cliff, BillS, striker
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz +0: BrianP, Aaron (mutex contention is looking better with the
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz latest code, let's continue tuning and testing)
54e1babd5a5a56c576eeeace54110150769cc916coarRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
54e1babd5a5a56c576eeeace54110150769cc916coar * There is a bug in how we sort some hooks, at least the pre-config
54e1babd5a5a56c576eeeace54110150769cc916coar hook. The first time we call the hooks, they are in the correct
54e1babd5a5a56c576eeeace54110150769cc916coar order, but the second time, we don't sort them correctly. Currently,
54e1babd5a5a56c576eeeace54110150769cc916coar the modules/http/config.m4 file has been renamed to
54e1babd5a5a56c576eeeace54110150769cc916coar modules/http/config2.m4 to work around this problem, it should moved
54e1babd5a5a56c576eeeace54110150769cc916coar back when this is fixed. rbb
54e1babd5a5a56c576eeeace54110150769cc916coar OtherBill offers that this is a SERIOUS problem. We do not sort
54e1babd5a5a56c576eeeace54110150769cc916coar correctly by the ordering arguments passed to the register hook
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz functions. This was proven when I reordered the open_logs hook
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz to attempt to open the error logs prior to the access logs. Possibly
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz the entire sorting code needs to be refactored.
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz * pipes deadlock on all platforms with limited pipe buffers (e.g. both
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz Linux and Win32, as opposed to only Win32 on 1.3). The right solution
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz is either GStein's proposal for a "CGI Brigade", or OtherBill's proposal
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz for "Poll Buckets" for "Polling Filter Chains".
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz * server pushed CGI's not working.
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz This might be an interaction with the above pipes deadlock issue.
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz Message-ID: <3CE15B85.2FF45121@apache.org>
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz * All handlers should always send content down even if r->header_only
4ca13a5e126946272f02637e268a8e09193c553ecoar is set. If not, it means that the HEAD requests don't generate the
4ca13a5e126946272f02637e268a8e09193c553ecoar same headers as a GET which is wrong.
4ca13a5e126946272f02637e268a8e09193c553ecoar * HP/UX 10.20: compile breakage in APR. Looks like it should be easy
4ca13a5e126946272f02637e268a8e09193c553ecoar to fix, probably just some extraneous #include's that are fouling
480e89b14b2c407bb2e8b8a918e6a183e4573c6crbb things up.
480e89b14b2c407bb2e8b8a918e6a183e4573c6crbb Jeff: See my reply and patch in the PR (and previous commit to
480e89b14b2c407bb2e8b8a918e6a183e4573c6crbb stop using "pipe" as a field name). If patch is committed, we
480e89b14b2c407bb2e8b8a918e6a183e4573c6crbb should be okay. I'll wait to see if the user tests the patch.
480e89b14b2c407bb2e8b8a918e6a183e4573c6crbb Update by Jeff 20020722: I got an account on HP 10.20. It looks
480e89b14b2c407bb2e8b8a918e6a183e4573c6crbb like some of the APR thread detection is screwed up. If we find
480e89b14b2c407bb2e8b8a918e6a183e4573c6crbb pthread.h but we can't compile the pthread test program we still
4ca13a5e126946272f02637e268a8e09193c553ecoar think we can use threads. For that reason, the patch I posted
123c13eb1384c256a66438ca2110750baba7eef8wrowe to the PR won't work as-is since a failed compile of the test
38b116de532efb28defc6a0aaa71fb8c46487190gstein program means nothing.
38b116de532efb28defc6a0aaa71fb8c46487190gstein * exec cmd and suexec arg-passing enhancements
38b116de532efb28defc6a0aaa71fb8c46487190gstein Status: Patches proposed
38b116de532efb28defc6a0aaa71fb8c46487190gstein Message-ID: <20020526041748.A29148@prodigy.Redbrick.DCU.IE>
38b116de532efb28defc6a0aaa71fb8c46487190gstein (see the "proc.patch" and "suexec-shell.patch" links in this message)
38b116de532efb28defc6a0aaa71fb8c46487190gstein * The 2.0.36 worker MPM graceless shutdown changes work but are
e2979c854f6ff7c056d75f6f1ae49767ce3b6d37jerenkrantz a bit clunky on some platforms; eg, on Linux, the loop to
abf9f8824312153040e1ee588a50058c67a4081ajerenkrantz join each worker thread seems to hang, and the parent ends up
abf9f8824312153040e1ee588a50058c67a4081ajerenkrantz killing off the child with SIGKILL. But at least it shuts down.
d90f6d052b76ed4cf5e27e8292a22c2c97bb5134jerenkrantz * --enable-mods-shared="foo1 foo2" is busted on Darwin. Pier
d90f6d052b76ed4cf5e27e8292a22c2c97bb5134jerenkrantz posted a patch (Message-ID: <B8DBBE8D.575A%pier@betaversion.org>).
d90f6d052b76ed4cf5e27e8292a22c2c97bb5134jerenkrantz * We do not properly substitute the prefix-variables in the configuration
d90f6d052b76ed4cf5e27e8292a22c2c97bb5134jerenkrantz scripts or generated-configs. (i.e. if sysconfdir is etc,
d90f6d052b76ed4cf5e27e8292a22c2c97bb5134jerenkrantz httpd-std.conf points to conf.)
d90f6d052b76ed4cf5e27e8292a22c2c97bb5134jerenkrantz * If any request gets through ap_process_request_internal() and is
d90f6d052b76ed4cf5e27e8292a22c2c97bb5134jerenkrantz scheduled to be served by the core handler, without a flag that this
d90f6d052b76ed4cf5e27e8292a22c2c97bb5134jerenkrantz r->filename was tested by dir/file_walk, we need to 500 at the very
d90f6d052b76ed4cf5e27e8292a22c2c97bb5134jerenkrantz end of the ap_process_request_internal() processing so sub_req-esters
d90f6d052b76ed4cf5e27e8292a22c2c97bb5134jerenkrantz know this request cannot be run. This provides authors of older
d90f6d052b76ed4cf5e27e8292a22c2c97bb5134jerenkrantz modules better compatibility, while still improving the security and
d90f6d052b76ed4cf5e27e8292a22c2c97bb5134jerenkrantz robustness of 2.0.
38b116de532efb28defc6a0aaa71fb8c46487190gstein Status: still need to decide where this goes, OtherBill comments...
38b116de532efb28defc6a0aaa71fb8c46487190gstein Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
38b116de532efb28defc6a0aaa71fb8c46487190gstein [Deleted comments regarding the ap_run_handler phase, as irrelevant
38b116de532efb28defc6a0aaa71fb8c46487190gstein as BillS points out that "common case will be caught in
38b116de532efb28defc6a0aaa71fb8c46487190gstein default_handler already (with the r->finfo.filetype == 0 check)"
38b116de532efb28defc6a0aaa71fb8c46487190gstein and the issue is detecting this -before- we try to run the req.]
38b116de532efb28defc6a0aaa71fb8c46487190gstein gregames says: can this happen somehow without a broken module
38b116de532efb28defc6a0aaa71fb8c46487190gstein being involved? If not, why waste cycles trying to defend against
38b116de532efb28defc6a0aaa71fb8c46487190gstein potential broken modules? It seems futile.
38b116de532efb28defc6a0aaa71fb8c46487190gstein wrowe counters: no, it shouldn't happen unless the module is broken.
38b116de532efb28defc6a0aaa71fb8c46487190gstein But the right answer is to fail the request up-front in dir/file
38b116de532efb28defc6a0aaa71fb8c46487190gstein walk if the path was entirely invalid; and we can't do that either
e2979c854f6ff7c056d75f6f1ae49767ce3b6d37jerenkrantz UNTIL 2.1 or we break modules that haven't hooked map_to_storage.
38b116de532efb28defc6a0aaa71fb8c46487190gstein * Rewrite core_output_filter. It is nearly impossible to support
b84f66c93f820824b1d5455181f55598b766319cwrowe it with predictable results as it is implemented now.
b84f66c93f820824b1d5455181f55598b766319cwrowe * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
b84f66c93f820824b1d5455181f55598b766319cwrowe how the Perchild MPM should be re-written. It hasn't worked
7fe18c15b669db9d191859695901dc4fcf3829dawrowe correctly since filters were added because it wasn't possible to
7fe18c15b669db9d191859695901dc4fcf3829dawrowe get the content that had already been written and the socket at
7fe18c15b669db9d191859695901dc4fcf3829dawrowe the same time. This mode lets us do that, so the MPM can be
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe * htpasswd blindly processes the file you give it, and does no
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe sanity checking before totally corrupting whatever file it was
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe you thought you had. It should check the input file and bail
7fe18c15b669db9d191859695901dc4fcf3829dawrowe if it finds non-comment lines that do not contain exactly 1
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe ':' character.
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe Message-ID: <20020217150457.A31632@clove.org>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe * Can a static httpd be built reliably?
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe Message-ID: <20020207142751.T31582@clove.org>
d180ec1b29106f4fec480ef7fcdb04df078010cerse * [Ken] Test suite failures:
d180ec1b29106f4fec480ef7fcdb04df078010cerse o worker is also failing some of the 'cgi' subtests
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley (see <URL:http://Source-Zone.Org/Apache/regression/>):
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley Justin says: "Worker should be fine and passes httpd-test here.
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley I think it's a perl or a httpd-test problem."
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley removed if possible.
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley Message-ID: <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley Jeff wonders if we still care about this. It is no longer an
5fcdb40a60e9819e5fb192f7ea97a4c29d350ecbjerenkrantz API issue but simply an extra trip through the brigade.
5fcdb40a60e9819e5fb192f7ea97a4c29d350ecbjerenkrantz * The Add...Filter and Set...Filter directives do not allow the
5fcdb40a60e9819e5fb192f7ea97a4c29d350ecbjerenkrantz administrator to order filters, beyond the order of filename (mime)
5fcdb40a60e9819e5fb192f7ea97a4c29d350ecbjerenkrantz extensions. It isn't clear if Set...Filter(s) should be inserted
5fcdb40a60e9819e5fb192f7ea97a4c29d350ecbjerenkrantz before or after the Add...Filter(s) which are ordered by sequence of
5fcdb40a60e9819e5fb192f7ea97a4c29d350ecbjerenkrantz filename extensions. At minimum, some sort of +-[0-10] syntax seems
d180ec1b29106f4fec480ef7fcdb04df078010cerse like a nice solution. See ROADMAP.
23ce412bd50a47accab4dd26019b78810bbf46ebtrawick * Get perchild to work on platforms other than Linux. This
e32adabcbf3bf5b69ba2e8b163b971839efc94dbtrawick will require a portable mechanism to pass data and file/socket
bebc7b9445f95339822c26bfd470349006f9ec40stoddard descriptors between vhost child groups. An API was proposed
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard on dev@apr:
49facccad3f5c3e9e49311487b5069699c3bf3fdjwoolley Message-ID: <20020111115006.K1529@clove.org>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard * Try to get libtool inter-library dependency code working on AIX.
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard Justin says: If we get it working on AIX, we can enable this
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley on all platforms and clean up our build system
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley Jeff says: I thought I tested a patch for you sometime in
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley January that you were going to commit within a few
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley * Handling of %2f in URIs. Currently both 1.3 and 2.0
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley completely disallow %2f in the request URI path (see
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley ap_unescape_url() in util.c). It's permitted and passed
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard through in the query string, however. Roy says the
19cbe4d7b7c931723e7249de6829bf965a1fee72stoddard original reason for disallowing it, from five years ago,
19cbe4d7b7c931723e7249de6829bf965a1fee72stoddard was to protect CGI scripts that applied PATH_INFO to
93db592309ba9e5ab230f67611a2c74fece9cdb2marc a filesystem location and which might be tricked by
93db592309ba9e5ab230f67611a2c74fece9cdb2marc ..%2f..%2f(...). We *should* allow path-info of the
93db592309ba9e5ab230f67611a2c74fece9cdb2marc Since we've revamped a lot of our processing of path
93db592309ba9e5ab230f67611a2c74fece9cdb2marc segments, it would be nice to allow this, or at least
93db592309ba9e5ab230f67611a2c74fece9cdb2marc allow it conditionally with a directive.
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard OtherBill adds that %2f as the SECOND character of a multibyte
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard sequence causes the request to fail! This happens notably in
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard the ja-jis encoding.
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard * FreeBSD, threads, and worker MPM. All seems to work fine
8bed76428f56e5c643174a2d6807c3f18016af5cbjh if you only have one worker process with many threads. Add
8bed76428f56e5c643174a2d6807c3f18016af5cbjh a second worker process and the accept lock seems to be
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard lost. This might be an APR issue with how it deals with
d2f8b010487ffa990a9c268df5a25579e7291bcdrbb the child_init hook (i.e. the fcntl lock needs to be resynced).
d2f8b010487ffa990a9c268df5a25579e7291bcdrbb More examination and analysis is required.
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard Status: This has also been reported on Cygwin.
0bff2f28ef945280c17099c142126178a78e1e54manoj Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
0bff2f28ef945280c17099c142126178a78e1e54manoj Aaron says: I spent some time disecting this and have come to
1e585ba09ea32272e63c4c39c35491e975d21d98stoddard the conclusion that it is not a problem in the worker MPM
0bff2f28ef945280c17099c142126178a78e1e54manoj (or at least, it is not isolated to a problem in worker).
35330e0d79ceb8027223bbb8330a381b1f989d6etrawick I'll list some of the problems I'm seeing in case someone
0bff2f28ef945280c17099c142126178a78e1e54manoj else wants to pick up where I've left off:
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard - Delivery of just about any signal to one of the child
ff849e4163ed879288f0df15f78b6c9d278ec804fanf processes will send it into an infinite loop as well.
ff849e4163ed879288f0df15f78b6c9d278ec804fanf - Even though the parent is spinning out of control,
447c6ce3ff08073c44f6785d5256271fcb877512wrowe at first the child or children will appear to work
447c6ce3ff08073c44f6785d5256271fcb877512wrowe properly. At times it is possible to get it into a state,
447c6ce3ff08073c44f6785d5256271fcb877512wrowe however, where a request will hang until another concurrent
447c6ce3ff08073c44f6785d5256271fcb877512wrowe request "kicks" the first, at which point the second will
447c6ce3ff08073c44f6785d5256271fcb877512wrowe hang. My theory is that this has to do with the
7fe18c15b669db9d191859695901dc4fcf3829dawrowe pthread_cond_*() implementation in FreeBSD, but it's still
7fe18c15b669db9d191859695901dc4fcf3829dawrowe possible that it is in APR.
7fe18c15b669db9d191859695901dc4fcf3829dawrowe Justin adds: Oh, FreeBSD threads are implemented entirely with
7fe18c15b669db9d191859695901dc4fcf3829dawrowe select()/poll()/longjmp(). Welcome to the nightmare.
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein So, that means a ktrace output also has the thread
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein scheduling internals in it (since it is all the same to
3bb28269556842ebf8888208fd0c7a7f3e343186jerenkrantz the kernel). Which makes it hard to distinguish between
3bb28269556842ebf8888208fd0c7a7f3e343186jerenkrantz our select() calls and their select() calls.
3bb28269556842ebf8888208fd0c7a7f3e343186jerenkrantz *bangs head on wall repeatedly* But, some of the libc_r
20db975063c58c8fadf72656a8cbd869554e6bfbwrowe files have a DBG_MSG #define. This is moderately helpful
20db975063c58c8fadf72656a8cbd869554e6bfbwrowe when used with -DNO_DETACH. The kernel scheduler isn't
20db975063c58c8fadf72656a8cbd869554e6bfbwrowe waking up the threads on a select(). Yum. And, I bet
20db975063c58c8fadf72656a8cbd869554e6bfbwrowe those decrementing select calls have to do with the
20db975063c58c8fadf72656a8cbd869554e6bfbwrowe scheduler. Time to brush up on our OS fundamentals.
615618f97c8870e6d62b9ad417632c19302c08c0ianh * There is increasing demand from module writers for an API
615618f97c8870e6d62b9ad417632c19302c08c0ianh that will allow them to control the server � la apachectl.
615618f97c8870e6d62b9ad417632c19302c08c0ianh Reasons include sole-function servers that need to die if
20db975063c58c8fadf72656a8cbd869554e6bfbwrowe an external dependency (e.g., a database) fails, et cetera.
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein Perhaps something in the (ever more abused) scoreboard?
dd4713dc5b186f4d1be7b88f86608fdb84cbe5d5gstein rbb: I don't believe the scoreboard is the correct mechanism
0eb7ca6cf812d98c534661ac474e873a32bf6325gstein for this. We already have a pipe that goes between parent
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein and child for graceful shutdown events, along with an API that
8d07897b52e3b7055874501f8a499e75800db206gstein can be used to send a message down that pipe. In threaded MPMs,
8d07897b52e3b7055874501f8a499e75800db206gstein it is easy enough to make that one pipe be used for graceful
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein and graceless events, and it is also easy to open that pipe
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick to both parent and child for writing. Then we just need to
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick figure out how to do graceless on non-threaded MPMs.
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein * Allow the DocumentRoot directive within <Location > scopes? This
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein by a <Directory /somepath/foo> to become simply
6fa71a1bd8c61518b05f5798a7a1594c270e78afrbb <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
93c5cba06b623ebe8e4372e886eece12d9a80c3egstein and in-your-face.) DocumentRoot unset would be accepted [and would
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein not permit content to be served, only virtual resources such as
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein server-info or server-status.
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein This proposed change would _not_ depricate Alias.
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein striker: See the thread starting with Message-ID:
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein JLEGKKNELMHCJPNMOKHOGEEJFBAA.striker@apache.org.
823c303d33c9e637a83d82208bcbafaf5f532d7bgstein * Win32: Rotatelogs sometimes is not terminated when Apache
823c303d33c9e637a83d82208bcbafaf5f532d7bgstein goes down hard. FirstBill was looking at possibly tracking the
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanoj child's-child processes in the parent process.
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanoj stoddard: Shared scoreboard might offer a good way for the parent
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanoj to keep track of 'other child' processes and whack them if the child
281da4c02cf40c663298ded7e4e5b913a8f8b814gstein Other thoughts on walking the process chain using the NT kernel
2f728b2e8555fee1b7cc11e886488692f2575fbddougm have also been proposed on APR.
2f728b2e8555fee1b7cc11e886488692f2575fbddougm * Eliminate unnecessary creation of pipes in mod_cgid
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe * Combine log_child and piped_log_spawn. Clean up http_log.c.
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe Common logging API.
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe * Document mod_file_cache.
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe * Platforms that do not support fork (primarily Win32 and AS/400)
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe Architect start-up code that avoids initializing all the modules
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe in the parent process on platforms that do not support fork.
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe * Win32: Migrate the MPM over to use APR thread/process calls. This
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe would eliminate some code in the Win32 branch that essentially
fdff4ace2701177219fe1c444f69242372423354aaron duplicates what is in APR.
fdff4ace2701177219fe1c444f69242372423354aaron * There are still a number of places in the code where we are
fdff4ace2701177219fe1c444f69242372423354aaron losing error status (i.e. throwing away the error returned by a
fdff4ace2701177219fe1c444f69242372423354aaron system call and replacing it with a generic error code)
fdff4ace2701177219fe1c444f69242372423354aaron * Mass vhosting version of suEXEC.
1d6142cc1486017d9bf11197334f78553fcb4244trawick * All DBMs suffer from confusion in support/dbmmanage (perl script) since
1d6142cc1486017d9bf11197334f78553fcb4244trawick the dbmmanage employs the first-matched dbm format. This is not
3aa695e9167454052468be6add86a3353bd75fbfaaron necessarily the library that Apache was built with. Aught to
8994e02113efd866944bcc476b86fb88685f07a5jwoolley rewrite dbmmanage upon installation to bin/ with the proper library
1d6142cc1486017d9bf11197334f78553fcb4244trawick for predictable mod_auth_dbm administration.
27757f6699a924d4b493a1b6cceb27df27a43287dreid Questions; htdbm exists, time to kill dbmmanage, or does it remain
27757f6699a924d4b493a1b6cceb27df27a43287dreid useful as a perl dbm management example? If we keep it,
27757f6699a924d4b493a1b6cceb27df27a43287dreid do we address the issue above?
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * Integrate mod_dav.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar Some additional items remaining:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar - case_preserved_filename stuff
64ad864fa0f4493eebb181e393b40a8a90beccb9coar (use the new canonical name stuff?)
28d1da9ca818f831ea491f110dafcc10f7f07050coar - find a new home for ap_text(_header)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar - is it possible to remove the DAV: namespace stuff from util_xml?
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
28d1da9ca818f831ea491f110dafcc10f7f07050coar are a bit wonky. The function should probably be exposed as a utility
64ad864fa0f4493eebb181e393b40a8a90beccb9coar function (such as ap_translate_url2fs() or ap_validate_fs_url() or
64ad864fa0f4493eebb181e393b40a8a90beccb9coar something). Another approach would be a new hook phase after
64ad864fa0f4493eebb181e393b40a8a90beccb9coar "translate" which would allow the module to munge what the
28d1da9ca818f831ea491f110dafcc10f7f07050coar translation has decided to do.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar Status: Greg +1 (volunteers), Ryan +1
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * Explore use of a post-config hook for the code in http_main.c which
64ad864fa0f4493eebb181e393b40a8a90beccb9coar calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
28d1da9ca818f831ea491f110dafcc10f7f07050coar ap_sort_hooks() [to reduce the logic in main()]
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * read the config tree just once, and process N times (as necessary)
28d1da9ca818f831ea491f110dafcc10f7f07050coar * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
64ad864fa0f4493eebb181e393b40a8a90beccb9coar into a VirtualHost container) to 2.0.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * shift stuff to mod_core.h
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * callers of ap_run_create_request() should check the return value
28d1da9ca818f831ea491f110dafcc10f7f07050coar for failure (Doug volunteers)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * Win32: Get Apache working on Windows 95/98. The following work
64ad864fa0f4493eebb181e393b40a8a90beccb9coar (at least) needs to be done:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar - Document warning that OSR2 is required (for Crypt functions, in
28d1da9ca818f831ea491f110dafcc10f7f07050coar rand.c, at least.) This could be resolved with an SSL library, or
64ad864fa0f4493eebb181e393b40a8a90beccb9coar randomization in APR itself.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
64ad864fa0f4493eebb181e393b40a8a90beccb9coar actually works) and add in a splash of Win9x service code.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * Fix the worker MPM to use POD to kill child processes instead
64ad864fa0f4493eebb181e393b40a8a90beccb9coar of ap_os_killpg, regardless of how they should die. (Ryan Bloom)
28d1da9ca818f831ea491f110dafcc10f7f07050coar * Scoreboard structures could be changed in the future such that
64ad864fa0f4493eebb181e393b40a8a90beccb9coar proper alignment is not maintained, leading to segfaults on
64ad864fa0f4493eebb181e393b40a8a90beccb9coar some systems. Cliff posted a patch to deal with this issue but
64ad864fa0f4493eebb181e393b40a8a90beccb9coar later recanted. See this message to dev@apr.apache.org:
28d1da9ca818f831ea491f110dafcc10f7f07050coar Message-ID: <Pine.LNX.4.44.0203011354090.16457-200000@deepthought
64ad864fa0f4493eebb181e393b40a8a90beccb9coarTODO ISSUES REMAINING IN MOD_SSL:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * In order to use a DSO version of mod_ssl we have to link with
64ad864fa0f4493eebb181e393b40a8a90beccb9coar -lssl and -lcrypto. A workaround is in place right now where the
64ad864fa0f4493eebb181e393b40a8a90beccb9coar entire EXTRA_LIBS macro is being appended to the objects list, but
28d1da9ca818f831ea491f110dafcc10f7f07050coar this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
64ad864fa0f4493eebb181e393b40a8a90beccb9coar autoconf function or come up with some other autoconf checks to
64ad864fa0f4493eebb181e393b40a8a90beccb9coar search for libssl and libcrypto and properly add them to mod_ssl's
64ad864fa0f4493eebb181e393b40a8a90beccb9coar link flags.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * SSL renegotiations in combination with POST request
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * Port or dispose all code inside #if 0...#endif blocks that remain
28d1da9ca818f831ea491f110dafcc10f7f07050coar from the porting effort.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * Do we need SSL_set_read_ahead()?
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * the ssl_expr api is NOT THREAD SAFE. race conditions exist:
28d1da9ca818f831ea491f110dafcc10f7f07050coar -in ssl_expr_comp() if SSLRequire is used in .htaccess
64ad864fa0f4493eebb181e393b40a8a90beccb9coar (ssl_expr_info is global)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar -is ssl_expr_eval() if there is an error
64ad864fa0f4493eebb181e393b40a8a90beccb9coar (ssl_expr_error is global)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * SSLRequire directive (parsing of) leaks memory
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * Diffie-Hellman-Parameters for temporary keys are hardcoded in
28d1da9ca818f831ea491f110dafcc10f7f07050coar ssl_engine_dh.c, while the comment in ssl_engine_kernel.c says:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar "it is suggested that keys be changed daily or every 500
64ad864fa0f4493eebb181e393b40a8a90beccb9coar transactions, and more often if possible."
28d1da9ca818f831ea491f110dafcc10f7f07050coar * ssl_var_lookup could be rewritten to be MUCH faster
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * CRL callback should be pluggable
28d1da9ca818f831ea491f110dafcc10f7f07050coar * session cache store should be pluggable
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * init functions should return status code rather than ssl_die()
28d1da9ca818f831ea491f110dafcc10f7f07050coar * ssl_engine_pphrase.c needs to be reworked so it is generic enough
64ad864fa0f4493eebb181e393b40a8a90beccb9coar to also decrypt proxy keys
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * the shmcb code should just align its memory segment rather than
28d1da9ca818f831ea491f110dafcc10f7f07050coar jumping through all the "safe" memcpy and memset hoops
64ad864fa0f4493eebb181e393b40a8a90beccb9coarEXPERIMENTAL MODULES:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar Experimental modules should eventually be be promoted to fully supported
64ad864fa0f4493eebb181e393b40a8a90beccb9coar status or removed from the repository entirely (ie, the
64ad864fa0f4493eebb181e393b40a8a90beccb9coar 'experiment' failed). This section tracks what needs to happen to
28d1da9ca818f831ea491f110dafcc10f7f07050coar get the modules promoted to fully supported status.
28d1da9ca818f831ea491f110dafcc10f7f07050coar * mod_cache: handle cache_control: no_cache "field_name" to enable
64ad864fa0f4493eebb181e393b40a8a90beccb9coar cacheing the response w/o header "field_name"
64ad864fa0f4493eebb181e393b40a8a90beccb9coar See RFC2616 section 14.9.1
28d1da9ca818f831ea491f110dafcc10f7f07050coar * mod_cache: CacheEnable/CacheDisable should accept regular expressions.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_cache: Fix dependency on ATOMIC operators. Need
64ad864fa0f4493eebb181e393b40a8a90beccb9coar APR_HAS_ATOMIC_* feature macros.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_disk_cache: Implement garbage collection
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_mem_cache/mod_disk_cache: Need to be able to query cache
28d1da9ca818f831ea491f110dafcc10f7f07050coar status (num of entries, cache object properties, etc.).
64ad864fa0f4493eebb181e393b40a8a90beccb9coar mod_status could be extended to query optional hooks defined
64ad864fa0f4493eebb181e393b40a8a90beccb9coar by modules for the purpose of reporting module status.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar mod_cache (et. al.) could define optional hooks that are called
28d1da9ca818f831ea491f110dafcc10f7f07050coar to collect status. Status should be queryable by
64ad864fa0f4493eebb181e393b40a8a90beccb9coar HTTP or SNMP?
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_mem_cache: garbage collection. One strategy is to simply
28d1da9ca818f831ea491f110dafcc10f7f07050coar remove stale entries as we attempt to serve them. Another
64ad864fa0f4493eebb181e393b40a8a90beccb9coar strategy is to kick off a GC thread that traverses the cache
64ad864fa0f4493eebb181e393b40a8a90beccb9coar and preemptively remove stale entries. How to manage a
64ad864fa0f4493eebb181e393b40a8a90beccb9coar cache that is full? Do LRU GC? Other? Bueller?
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_mem_cache/mod_disk_cache: Complete implementing config
6694e265e9a71ceaedbe1f1aa4db4d9ba42fb866wrowe directives.
28d1da9ca818f831ea491f110dafcc10f7f07050coar * Sample config for mod_cache/mod_mem_cache/mod_disk_cache for
64ad864fa0f4493eebb181e393b40a8a90beccb9coar inclusion into httpd.conf.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_cache/mod_mem_cache/mod_disk_cache: Documentation.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * implement cross-platform/cross-library TLS support
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * General stabilization and testing
28d1da9ca818f831ea491f110dafcc10f7f07050coarPRs that have been suspended forever waiting for someone to
64ad864fa0f4493eebb181e393b40a8a90beccb9coarput them into 'the next release':
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * documentation and Q&A
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#2221: Make online documentation search link back to my installation
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#2906: Propose that Apache recommend $UNIQUE_ID for all "session id"
28d1da9ca818f831ea491f110dafcc10f7f07050coar algorithms
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#2793: When will Apache support P3P? Any Plans?
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#2113: HTTP Server Rebuild Line Needs Changing for the better
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#2421: problem specifying ndbm library for build ?with autoconfigure
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#76: missing call to "setlocale();"
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#628: Request of "Options SymLinksIfGroupMatch"
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#793: RLimitCPU and RLimitMEM don't apply to all children like they should
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#922: it is useful to allow specifiction that root-owned symlinks
28d1da9ca818f831ea491f110dafcc10f7f07050coar should always be followed
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1028: DoS attacks involving memory consumption
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1191: setlogin() is not called, causing problems with e.g. identd
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1204: regerror() exists, use it
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#2284: Can not POST to ErrorDocument - Apache/1.3b6
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#2396: Proposal for TimeZone directive
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#2446: AllowOverride FileInfo is too coarse
28d1da9ca818f831ea491f110dafcc10f7f07050coar PR#2760: [PATCH] User/Group for <Directory> and <Location> i.e. not only
64ad864fa0f4493eebb181e393b40a8a90beccb9coar in global and <Virtual>.
28d1da9ca818f831ea491f110dafcc10f7f07050coar PR#2907: suggestion: power up your Include directive :)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#3018: cannot limit some HTTP methods
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#3677: New ErrorDocumentMatch directive
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#4244: "Files" and "FilesMatch" regexp does not recognize bang as
64ad864fa0f4493eebb181e393b40a8a90beccb9coar negation operator
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#5993: AllowOverride should have a 'CheckNone' and 'AllowNone' argument
64ad864fa0f4493eebb181e393b40a8a90beccb9coar instead of only 'None'
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_access
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#537: mod_access syntax allows hosts that should be restricted
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1287: add allow,deny/deny,allow warning to mod_access
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#2512: <IfDenied> directive wanted
28d1da9ca818f831ea491f110dafcc10f7f07050coar * mod_auth-any
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#557: ~UserHome directories are not honored in absolute pathname
64ad864fa0f4493eebb181e393b40a8a90beccb9coar requests (.htaccess)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1117: Using NIS passwd.byname dbm files with AuthDBMUserFile
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1809: Suggestion for improving authentication modules and core source
64ad864fa0f4493eebb181e393b40a8a90beccb9coar code, problem with 401 and ErrorDocument
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_autoindex
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1263: Add frame-safe anchor attribute to mod_autoindex links
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_cgi (and suexec)
28d1da9ca818f831ea491f110dafcc10f7f07050coar PR#921: suexec Uses cwd before filling it in, doesn't use syslog
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1176: Apache cannot handle continuation line in headers
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1120: suexec does not parse arguments to #exec cmd
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1268: CGI scripts running as Apache user: security (suexec etc.)
28d1da9ca818f831ea491f110dafcc10f7f07050coar PR#1285: Error messages could be easier to spot in cgi.log file for suexec.c
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1905: suexec - Allow modules to set user:group for execution.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#2360: suexec for general access of user content?
28d1da9ca818f831ea491f110dafcc10f7f07050coar PR#2460: TimeOut applies to output of CGI scripts
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#2573: CGI's for general use still have to be run as another user
28d1da9ca818f831ea491f110dafcc10f7f07050coar with suExec
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#4241: Need to be able to override shebang line to make CGI scripts
64ad864fa0f4493eebb181e393b40a8a90beccb9coar more portable.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#4490: mod_cgi prevents handling of OPTIONS requests
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#370: Modified PATH environemnt variable is not passed, instead
28d1da9ca818f831ea491f110dafcc10f7f07050coar system's is used
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_headers
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1383: I make mod_headers to modify request headers as well as
64ad864fa0f4493eebb181e393b40a8a90beccb9coar response ones.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1677: mod_headers should allow mod_log_config-style formats in
64ad864fa0f4493eebb181e393b40a8a90beccb9coar header values
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_imap
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#759: imap should read <MAP><AREA>*</MAP> too!
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_include
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#78: Additional status for XBitHack directive
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#623: A smarter "Last Modified" value for SSI documents (see PR number 600)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1145: mod_include
64ad864fa0f4493eebb181e393b40a8a90beccb9coar Allow for Last-Modified: without resorting to XBitHack
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1803: patches to mod_include to allow for file tests
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#4459: Suggestion for better handling of Last-modified headers
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_info
28d1da9ca818f831ea491f110dafcc10f7f07050coar PR#2415: /server-info doesn't check for the virtual host to list the info
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_log-any
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#1050: Logging of virtual server to error_log as well
28d1da9ca818f831ea491f110dafcc10f7f07050coar PR#1358: Selective url-encode of log fields (or maybe a pseudo
64ad864fa0f4493eebb181e393b40a8a90beccb9coar log_rewrite module?)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#2073: pipelined connections are not logged correctly
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#4448: Please allow CGI env variables (QUERY_STRING, ...) to be logged
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_negotiation
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#3191: no way to set global quality-of-source (qs) coneg values
64ad864fa0f4493eebb181e393b40a8a90beccb9coar with multiviews
64ad864fa0f4493eebb181e393b40a8a90beccb9coar * mod_proxy
28d1da9ca818f831ea491f110dafcc10f7f07050coar PR#362: Mod_proxy doesn't allow change of error pages
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#440: Proxy doesn't deliver documents if not connected
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#534: proxy converts ~name to %7Ename when name starts with a dot (.)
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#612: Proxy FTP Authentication Fails
64ad864fa0f4493eebb181e393b40a8a90beccb9coar PR#700: Proxy doesn't do links right for OpenVMS files through ftp:
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj PR#980: Controlling Access to Remote Proxies would be nice...
d5defd5a0c5cdbaf74b85939484dc2b6c8317d19manoj PR#994: Adding authentication "on the fly" through the proxy module
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj PR#1085: ProxyRemote make a dead cycle.
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj PR#1166: ``nph-'' not honored (no buffering) for ProxyRemote mapping
0bff2f28ef945280c17099c142126178a78e1e54manoj PR#1290: Need to know "hit-rate" on proxy cache
ec0315cdf832eac2b78e50ad636af84fe4c9118cgstein PR#1532: Proxy transfer logging
ec0315cdf832eac2b78e50ad636af84fe4c9118cgstein PR#1547: No HTTP_X_FORWARDED_FOR set...
ec0315cdf832eac2b78e50ad636af84fe4c9118cgstein PR#1567: ProxyRemote proxy requests fail authentication by firewall
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj PR#1702: mod_proxy to support persistent conns?
40a5b7189dbbb28e107bf008ee625f2f0142c2ccdgaudet PR#1878: listing of proxy cache content
dbf0c7bef06259486cd2748a2d0e82f27e099d6efielding PR#2314: patterns in ProxyRemote
3e17185356213124b2e18ecaf1678a676f8e9ba5rbb PR#2648: Cache file names in Proxy module
3e17185356213124b2e18ecaf1678a676f8e9ba5rbb PR#3568: Accessing URL through proxy server corrupts data.
863ec32e13d6c9619414c48b51109f3dca99cbc6wrowe PR#3605: Some anonymous FTP URLs ask for authentication
863ec32e13d6c9619414c48b51109f3dca99cbc6wrowe * mod_rewrite
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj PR#1582: mod_rewrite forms REQUEST_URI different than mod_cgi does
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj PR#2074: mod_rewrite doesn't pass Proxy Throughput on internal subrequests
ae6907470ddf23ab7c6b506e6407cc5372f9c0dftrawick * mod_status
ef7ff29d74b8684761de5758423f1cc5a49f48e3rbb PR#2138: mod_status always displays 256 possible connection slots
ef7ff29d74b8684761de5758423f1cc5a49f48e3rbb PR#2343: Status module averages are for entire uptime
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj * apache-api
PR#2873: Feedback/Comment on APACI
PR#2431: A small addition to rotatelogs.c to improve program functionality.
PR#2889: Inclusion of RPM spec file in CVS/distributions
* orig_ct in the byterange/multipart handling may not be