STATUS revision 5221a7188270ea10c4f0f8ad0a4367638894f9fb
43b4c41fbb07705c9df321221ab9cb9832460407Christian MaederAPACHE 2.0 STATUS: -*-text-*-
c63ebf815c8a874525cf18670ad74847f7fc7b26Christian MaederLast modified at [$Date: 2002/06/02 22:44:11 $]
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder 2.0.37 : in development.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder 2.0.36 : released May 6, 2002 as GA.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder 2.0.35 : released April 5, 2002 as GA.
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder 2.0.34 : tagged March 26, 2002.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder 2.0.33 : tagged March 6, 2002. not released.
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder 2.0.32 : released Feburary 16, 2002 as beta.
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder 2.0.31 : rolled Feburary 1, 2002. not released.
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maeder 2.0.30 : tagged January 8, 2002. not rolled.
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maeder 2.0.29 : tagged November 27, 2001. not rolled.
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder 2.0.28 : released November 13, 2001 as beta.
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder 2.0.27 : rolled November 6, 2001
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder 2.0.26 : tagged October 16, 2001. not rolled.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder 2.0.25 : rolled August 29, 2001
a1ed34933c266ce85066acb0d7b20c90cb8eb213Christian Maeder 2.0.24 : rolled August 18, 2001
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder 2.0.23 : rolled August 9, 2001
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich 2.0.22 : rolled July 29, 2001
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder 2.0.21 : rolled July 20, 2001
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder 2.0.20 : rolled July 8, 2001
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich 2.0.19 : rolled June 27, 2001
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder 2.0.18 : rolled May 18, 2001
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder 2.0.17 : rolled April 17, 2001
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian Maeder 2.0.16 : rolled April 4, 2001
ef9e8535c168d3f774d9e74368a2317a9eda5826Christian Maeder 2.0.15 : rolled March 21, 2001
bab2d88d650448628730ed3b65c9f99c52500e8cChristian Maeder 2.0.14 : rolled March 7, 2001
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian Maeder 2.0a9 : released December 12, 2000
ef9e8535c168d3f774d9e74368a2317a9eda5826Christian Maeder 2.0a8 : released November 20, 2000
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder 2.0a7 : released October 8, 2000
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder 2.0a6 : released August 18, 2000
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder 2.0a5 : released August 4, 2000
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder 2.0a4 : released June 7, 2000
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder 2.0a3 : released April 28, 2000
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder 2.0a2 : released March 31, 2000
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder 2.0a1 : released March 10, 2000
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian MaederPlease consult the following STATUS files for information
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maederon related projects:
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian MaederCURRENT RELEASE NOTES:
014dc30f64ec25e4790cca987d4d1e6635430510Christian Maeder * 37 status: Cliff tagged JCW_PRE2_2037 on Wednesday. Some
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus Luettich showstoppers remain, so there will be a PRE3 as well, probably
6aea82c63ba1d2efc0329bc784a14e521469ec20Christian Maeder Friday. Just wanted an intermediate milestone.
feca1d35123d8c31aee238c9ce79947b0bf65494Christian MaederRELEASE SHOWSTOPPERS:
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder * Reverse proxy broken
f5c0884429b01e74c6e658ded921fb2e16dfb478Christian Maeder Message-ID: <3CFA9315.4030003@apache.org>
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder * HP/UX 10.20: compile breakage in APR. Looks like it should be easy
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder to fix, probably just some extraneous #include's that are fouling
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder * Win32: httpd won't start. There was a command line args problem
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder that got fixed, but now something else is wrong.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder Status: one problem here might be a "" argument being returned from
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder the rewrite_args hook getting caught by Jeff's patch to check
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder args more strictly.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder Message-ID: <5.1.0.14.2.20020525222410.02a629d0@pop3.rowe-clan.net>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder <00ca01c2033e$f1c54c10$a6271b09@sashimi>
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder <5.1.0.14.2.20020524115533.02785e28@pop3.rowe-clan.net>
a3c6d8e0670bf2aa71bc8e2a3b1f45d56dd65e4cChristian Maeder Message-ID: <5.1.0.14.2.20020524115533.02785e28@pop3.rowe-clan.net>
dc679edd4ca027663212afdf00926ae2ce19b555Christian Maeder <COEELENBBCHBFEPPGDOPCEPPGPAA.ake@meepzor.com>
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder * Find a better name for ap_signal_server()
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder Message-ID: <m37kltilb3.fsf@rdu88-251-253.nc.rr.com>
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder BrianP says: how about "ap_apachectl()"?
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder Justin says to BrianP: "Eww."
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder * server pushed CGI's not working. (Is this a showstopper??)
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder Message-ID: <3CE15B85.2FF45121@apache.org>
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder * Chunked trailer support is broken.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder Message-ID: <20020531142047.W19485@apache.org>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder Justin says: Without Ryan's commit that breaks trailers, we need a
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder way to enforce that ap_discard_request_body can not be
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder called twice. I have some rough patches in my tree
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder that attempt to resolve this by relocating the discard
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder calls to the latest possible place for all handlers, but
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder they don't yet pass all httpd-test cases. More work is
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder needed, and it won't fix third-party modules that are
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder written incorrectly. Another potential solution is to add
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder r->eos_received to request_rec and HTTP_IN can set this
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder whenever it returns EOS and if it receives another call
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder after returning EOS, it can return EOS again. However,
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder where possible, I'd prefer to remove duplicate calls to
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder ap_discard_request_body. So, maybe both strategies are
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCURRENT VOTES:
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder * apachectl should revert to just being an init script and
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder httpd.sh should be the wrapper for httpd which sources envvars
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian Maeder and allows any options to be passed through
e6d5dbbc3308f05197868806e0b860f4f53875f1Christian Maeder * Should we always build [support*] binaries statically unless otherwise
e4f4d096e5e6d60dd91c746d0e833d0ac7a29c50Christian Maeder Message-ID: <20020129210006.B23512@Lithium.MeepZor.Com>
eb74267cf39e4e95f9eeb5c765f4c8dac33971b4Christian Maeder +1: Ken, *wrowe [they are PITAs on OSX]
e4f4d096e5e6d60dd91c746d0e833d0ac7a29c50Christian Maeder -1: Justin, Ian
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder * If the parent process dies, should the remaining child processes
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder "gracefully" self-terminate. Or maybe we should make it a runtime
8d178ae08a52d61379e6b8074f61646499bc88bbChristian Maeder option, or have a concept of 2 parent processes (one being a
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder "hot spare").
6cd33d6101fb1b93baa6d86fac158af18a115108Christian Maeder See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
6cd33d6101fb1b93baa6d86fac158af18a115108Christian Maeder Self-destruct: Ken, Martin
6cd33d6101fb1b93baa6d86fac158af18a115108Christian Maeder Not self-destruct: BrianP, Ian, Cliff, BillS
6cd33d6101fb1b93baa6d86fac158af18a115108Christian Maeder Make it runtime configurable: Aaron, Jim, Justin
b2ac5a92cf36382e8deea5661c1964566caf72b3Christian Maeder Have 2 parents: +1: Jim
59138b404f12352d103eeffbeaeb3957b90e75fdChristian Maeder -1: Justin, wrowe [for 2.0]
b2ac5a92cf36382e8deea5661c1964566caf72b3Christian Maeder +0: Martin (while standing by, could it do
b2ac5a92cf36382e8deea5661c1964566caf72b3Christian Maeder something useful?)
7d0ee72ee91ec305408688b969c43f07b9667c80Christian Maeder * Make the worker MPM the default MPM for threaded Unix boxes.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder +1: Justin, Ian, Cliff, BillS
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder +0: BrianP, Aaron (mutex contention is looking better with the
0e5b095a19790411e5352fa7cf57cb0388e70472Christian Maeder latest code, let's continue tuning and testing)
f1a913f880e409e7327b5deae95738b5448379a1Christian MaederRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
f1a913f880e409e7327b5deae95738b5448379a1Christian Maeder * "apxs -g" support is broken in a binbuild (tested 2.0.36 on
f1a913f880e409e7327b5deae95738b5448379a1Christian Maeder Solaris). At least the following is necessary to make the
14c56dc499da4bbeaeebeb558ceb755150ae341cChristian Maeder generated Makefile work:
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder 1) copy more of the .mk files to the build directory (only
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder config_vars.mk was copied initially); rules.mk and special.mk
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder are definitely needed
93f5b72fdb9ee734caa750b43dd79bbb590dcd73Christian Maeder 2) edit the path to LIBTOOL in config_vars.mk to reflect the
93f5b72fdb9ee734caa750b43dd79bbb590dcd73Christian Maeder place where it was actually installed
93f5b72fdb9ee734caa750b43dd79bbb590dcd73Christian Maeder * exec cmd and suexec arg-passing enhancements
328a85c807f2a95c3f147d10b05927eaf862ebebChristian Maeder Status: Patches proposed
308834907a120fd8771e18292ed2ca9cd767c12dChristian Maeder Message-ID: <20020526041748.A29148@prodigy.Redbrick.DCU.IE>
06dd4e7c29f33f6122a910719e3bd9062256e397Andy Gimblett (see the "proc.patch" and "suexec-shell.patch" links in this message)
4ba08bfca0cc8d9da65397b8dfd2654fdb4c0e62Christian Maeder * Get mod_cache/mod_mem_cache out of experimental (still some
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder work items left to complete)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers * The 2.0.36 worker MPM graceless shutdown changes work but are
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder a bit clunky on some platforms; eg, on Linux, the loop to
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maeder join each worker thread seems to hang, and the parent ends up
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder killing off the child with SIGKILL. But at least it shuts down.
140287998aa8592c9c403bd9e308e447ba92ae11Christian Maeder * --enable-mods-shared="foo1 foo2" is busted on Darwin. Pier
c208973c890b8f993297720fd0247bc7481d4304Christian Maeder posted a patch (Message-ID: <B8DBBE8D.575A%pier@betaversion.org>).
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder * We do not properly substitute the prefix-variables in the configuration
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian Maeder scripts or generated-configs. (i.e. if sysconfdir is etc,
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers httpd-std.conf points to conf.)
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder * If any request gets through ap_process_request_internal() and is
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder scheduled to be served by the core handler, without a flag that this
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder r->filename was tested by dir/file_walk, we need to 500 at the very
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder end of the ap_process_request_internal() processing so sub_req-esters
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder know this request cannot be run. This provides authors of older
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder modules better compatibility, while still improving the security and
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder robustness of 2.0.
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder Status: still need to decide where this goes, OtherBill comments...
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder [Deleted comments regarding the ap_run_handler phase, as irrelevant
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder as BillS points out that "common case will be caught in
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder default_handler already (with the r->finfo.filetype == 0 check)"
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder and the issue is detecting this -before- we try to run the req.]
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder gregames says: can this happen somehow without a broken module
a14767aeac3e78ed100f5b75e210ba563ee10dbaChristian Maeder being involved? If not, why waste cycles trying to defend against
a14767aeac3e78ed100f5b75e210ba563ee10dbaChristian Maeder potential broken modules? It seems futile.
a14767aeac3e78ed100f5b75e210ba563ee10dbaChristian Maeder wrowe counters: no, it shouldn't happen unless the module is broken.
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder But the right answer is to fail the request up-front in dir/file
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder walk if the path was entirely invalid; and we can't do that either
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder or we break modules that are unwilling to hook map_to_storage.
54ea981a0503c396c2923a1c06421c6235baf27fChristian Maeder * Rewrite core_output_filter. It is nearly impossible to support
54ea981a0503c396c2923a1c06421c6235baf27fChristian Maeder it with predictable results as it is implemented now.
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
697e63e30aa3c309a1ef1f9357745111f8dfc5a9Christian Maeder how the Perchild MPM should be re-written. It hasn't worked
f9e0b18852b238ddb649d341194e05d7200d1bbeChristian Maeder correctly since filters were added because it wasn't possible to
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder get the content that had already been written and the socket at
f9e0b18852b238ddb649d341194e05d7200d1bbeChristian Maeder the same time. This mode lets us do that, so the MPM can be
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maeder * htpasswd blindly processes the file you give it, and does no
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder sanity checking before totally corrupting whatever file it was
254df6f22d01eacf7c57b85729e0445747b630d9Christian Maeder you thought you had. It should check the input file and bail
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder if it finds non-comment lines that do not contain exactly 1
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder ':' character.
254df6f22d01eacf7c57b85729e0445747b630d9Christian Maeder Message-ID: <20020217150457.A31632@clove.org>
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder * Can a static httpd be built reliably?
254df6f22d01eacf7c57b85729e0445747b630d9Christian Maeder Message-ID: <20020207142751.T31582@clove.org>
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder * [Ken] Test suite failures:
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder o worker is also failing some of the 'cgi' subtests
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder (see <URL:http://Source-Zone.Org/Apache/regression/>):
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder Justin says: "Worker should be fine and passes httpd-test here.
ac34194a668399bb8ef238da77c3a09e93fb253bChristian Maeder If you can provide evidence that it can be reproduced
4fc9de0da898448f1d3597ebbd8c04a066464c21Christian Maeder outside of httpd-test, then it's a showstopper. I
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder think it's a perl or a httpd-test problem."
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder Not a showstopper: Justin
c208973c890b8f993297720fd0247bc7481d4304Christian Maeder * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
c208973c890b8f993297720fd0247bc7481d4304Christian Maeder removed if possible.
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maeder Message-ID: <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maeder * There is a bug in how we sort some hooks, at least the pre-config
1842453990fed8a1bd7a5ac792d7982c1d2bfcd5Christian Maeder hook. The first time we call the hooks, they are in the correct
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maeder order, but the second time, we don't sort them correctly. Currently,
1842453990fed8a1bd7a5ac792d7982c1d2bfcd5Christian Maeder the modules/http/config.m4 file has been renamed to
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder modules/http/config2.m4 to work around this problem, it should moved
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder back when this is fixed. rbb
986d3f255182539098a97ac86da9eeee5b7a72e3Christian Maeder Justin says: "Is this really a showstopper? This has been here
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder forever. What's wrong? Does this have to do with
4561227a776bdf0ab679b19fb92f1eaaed8786f7Christian Maeder autoconf or m4?"
01e278bdd7dce13b9303ed3d79683d83c89d09f9Liam O'Reilly Not a showstopper: Justin, BrianP, trawick, gregames
5ad5dffe06818a13e1632b1119fbca7881085fc1Dominik Luecke * The Add...Filter and Set...Filter directives do not allow the
8c812cd83569e973f10cf69a342424ceabc07af9Christian Maeder administrator to order filters, beyond the order of filename (mime)
8c812cd83569e973f10cf69a342424ceabc07af9Christian Maeder extensions. It isn't clear if Set...Filter(s) should be inserted
8c812cd83569e973f10cf69a342424ceabc07af9Christian Maeder before or after the Add...Filter(s) which are ordered by sequence of
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescu filename extensions. At minimum, some sort of +-[0-10] syntax seems
31d6d9286988dc31639d105841296759aeb743e0Jonathan von Schroeder like the quickest fix for a 2.0 gold release.
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescu Justin says: "Could we delay this for a point release or 2.1?"
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder Not a showstopper: justin, wrowe, trawick, stoddard, Jim, Ian, Aaron,
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder * Get perchild to work on platforms other than Linux. This
05a206508bc898f87fe6ab6e069814df3c29d303Dominik Luecke will require a portable mechanism to pass data and file/socket
05a206508bc898f87fe6ab6e069814df3c29d303Dominik Luecke descriptors between vhost child groups. An API was proposed
d54cd08a4cfa26256c38d8ed12c343adbfe1a0e3Christian Maeder Message-ID: <20020111115006.K1529@clove.org>
d54cd08a4cfa26256c38d8ed12c343adbfe1a0e3Christian Maeder * Try to get libtool inter-library dependency code working on AIX.
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowski Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder Justin says: If we get it working on AIX, we can enable this
8c812cd83569e973f10cf69a342424ceabc07af9Christian Maeder on all platforms and clean up our build system
5afff1a0f62394414c33b06141175b3ab0b117a5Christian Maeder Jeff says: I thought I tested a patch for you sometime in
5afff1a0f62394414c33b06141175b3ab0b117a5Christian Maeder January that you were going to commit within a few
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus Luettich * Handling of %2f in URIs. Currently both 1.3 and 2.0
e39a1626bee36d6ad13a2c0014a80ef179a65bcbChristian Maeder completely disallow %2f in the request URI path (see
f8e1a1eca871a26a535a4ee7d51902ba94b1db1eChristian Maeder ap_unescape_url() in util.c). It's permitted and passed
ea3bff3e547a1ac714d4db39c5efef95e02b2e7dChristian Maeder through in the query string, however. Roy says the
dd6f22b9dcff2695181b86372e4df03d5b96e92dKristina Sojakova original reason for disallowing it, from five years ago,
005e0f0c6b0cc898003b03801158c208f3071fc5Kristina Sojakova was to protect CGI scripts that applied PATH_INFO to
abf2487c3aece95c371ea89ac64319370dcb6483Klaus Luettich a filesystem location and which might be tricked by
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder ..%2f..%2f(...). We *should* allow path-info of the
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder form 'http://foo.com/index.cgi/path/to/path%2finfo'.
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder Since we've revamped a lot of our processing of path
76b9b2974795a6fb31f242fd032de3ff66df6204Christian Maeder segments, it would be nice to allow this, or at least
76b9b2974795a6fb31f242fd032de3ff66df6204Christian Maeder allow it conditionally with a directive.
878a5ecd6acf973907e25e5be6e4a792ea19a05eEwaryst Schulz * FreeBSD, threads, and worker MPM. All seems to work fine
878a5ecd6acf973907e25e5be6e4a792ea19a05eEwaryst Schulz if you only have one worker process with many threads. Add
c2e192ace9ef7cfb0e59563f1b24477b2b65cff3Dominik Dietrich a second worker process and the accept lock seems to be
6b75c206b317eb30a08d88a8f27e0295ffeb1546Christian Maeder lost. This might be an APR issue with how it deals with
9a4b469ca0a7f44a598e551a973c75195207db58Eugen Kuksa the child_init hook (i.e. the fcntl lock needs to be resynced).
48aa0645e25883048369afc02aac3f49b14a50daChristian Maeder More examination and analysis is required.
01645eac73dbc789392674930adc5745c935f3a0Christian Maeder Status: This has also been reported on Cygwin.
01645eac73dbc789392674930adc5745c935f3a0Christian Maeder Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder Justin says: So, FreeBSD-CURRENT and Cywin have the same
7dc37844730a8b23973139e9720574382de109e7Alexis Tsogias problem. Yum. If another platform has this
b5da047a9a875dec3f968b6c0df96af326f90fa9Alexis Tsogias with worker, this becomes a showstopper.
0a03acf9fa28e6ff00f4d7c9c6acbae64cf09c56Ewaryst Schulz Aaron says: I spent some time disecting this and have come to
0a03acf9fa28e6ff00f4d7c9c6acbae64cf09c56Ewaryst Schulz the conclusion that it is not a problem in the worker MPM
a604cbad8e2202147b5c6bb9f2e06ae61162d654Felix Gabriel Mance (or at least, it is not isolated to a problem in worker).
308834907a120fd8771e18292ed2ca9cd767c12dChristian Maeder I'll list some of the problems I'm seeing in case someone
308834907a120fd8771e18292ed2ca9cd767c12dChristian Maeder else wants to pick up where I've left off:
7834a982096d93301a4626f444dd9ea5f9fe17eaChristian Maeder - Delivery of just about any signal to one of the child
ed1b8e97e72b2e3e92edaf2eb22a4b5373d705f1Felix Gabriel Mance processes will send it into an infinite loop as well.
ed1b8e97e72b2e3e92edaf2eb22a4b5373d705f1Felix Gabriel Mance - Even though the parent is spinning out of control,
bab2d88d650448628730ed3b65c9f99c52500e8cChristian Maeder at first the child or children will appear to work
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder properly. At times it is possible to get it into a state,
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder however, where a request will hang until another concurrent
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder request "kicks" the first, at which point the second will
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder hang. My theory is that this has to do with the
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder pthread_cond_*() implementation in FreeBSD, but it's still
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder possible that it is in APR.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder Justin adds: Oh, FreeBSD threads are implemented entirely with
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder select()/poll()/longjmp(). Welcome to the nightmare.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder So, that means a ktrace output also has the thread
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder scheduling internals in it (since it is all the same to
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder the kernel). Which makes it hard to distinguish between
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder our select() calls and their select() calls.
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescu *bangs head on wall repeatedly* But, some of the libc_r
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescu files have a DBG_MSG #define. This is moderately helpful
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescu when used with -DNO_DETACH. The kernel scheduler isn't
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescu waking up the threads on a select(). Yum. And, I bet
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder those decrementing select calls have to do with the
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder scheduler. Time to brush up on our OS fundamentals.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder * There is increasing demand from module writers for an API
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder that will allow them to control the server � la apachectl.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder Reasons include sole-function servers that need to die if
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder an external dependency (e.g., a database) fails, et cetera.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder Perhaps something in the (ever more abused) scoreboard?
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder rbb: I don't believe the scoreboard is the correct mechanism
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder for this. We already have a pipe that goes between parent
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder and child for graceful shutdown events, along with an API that
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder can be used to send a message down that pipe. In threaded MPMs,
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder it is easy enough to make that one pipe be used for graceful
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder and graceless events, and it is also easy to open that pipe
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder to both parent and child for writing. Then we just need to
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder figure out how to do graceless on non-threaded MPMs.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder * Allow the DocumentRoot directive within <Location > scopes? This
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder by a <Directory /somepath/foo> to become simply
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder and in-your-face.) DocumentRoot unset would be accepted [and would
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder not permit content to be served, only virtual resources such as
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder server-info or server-status.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder This proposed change would _not_ depricate Alias.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder * Win32: Rotatelogs sometimes is not terminated when Apache
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder goes down hard. FirstBill was looking at possibly tracking the
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder child's-child processes in the parent process.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder OtherBill asks, wasn't this fixed?
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder stoddard: Not fixed. Shared scoreboard might offer a good
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder way for the parent to keep track of 'other child' processes
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder and whack them if the child goes down.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder Other thoughts on walking the process chain using the NT kernel
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian Maeder have also been proposed on APR.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder * Win32: Add a simple hold console open patch (wait for close or
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder the ESC key, with a nice message) if the server died a bad
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder death (non-zero exit code) in console mode.
9f85afecbd79b3df5a0bb17bd28cd0b288dc3213Kristina Sojakova Resolution: bring forward same ugly hacks from 1.3.13-.20
48aa0645e25883048369afc02aac3f49b14a50daChristian Maeder This is not so simple. Any exit() from APR or other libraries
9f85afecbd79b3df5a0bb17bd28cd0b288dc3213Kristina Sojakova can't be caught unless we add some sort of apr_exit(rv) with
79834070d6d3c63a098e570b12fa3405c607dc70Kristina Sojakova registered apr_atexit() fn's that have the return code as an
79834070d6d3c63a098e570b12fa3405c607dc70Kristina Sojakova argument to the registered fn.
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder * Eliminate unnecessary creation of pipes in mod_cgid
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder * Combine log_child and piped_log_spawn. Clean up http_log.c.
8a78868bae2ec6838c87366c35c57e109154c51eChristian Maeder Common logging API.
8a78868bae2ec6838c87366c35c57e109154c51eChristian Maeder * Document mod_file_cache.
624e6701e0deb7ac6c03c0cba0190fbc5033cf93Ewaryst Schulz * Platforms that do not support fork (primarily Win32 and AS/400)
c2e192ace9ef7cfb0e59563f1b24477b2b65cff3Dominik Dietrich Architect start-up code that avoids initializing all the modules
7165a916d2fa1bf87c4741ec63b253413eebbf69Karl Luc in the parent process on platforms that do not support fork.
7165a916d2fa1bf87c4741ec63b253413eebbf69Karl Luc * Win32: Migrate the MPM over to use APR thread/process calls. This
01645eac73dbc789392674930adc5745c935f3a0Christian Maeder would eliminate some code in the Win32 branch that essentially
01645eac73dbc789392674930adc5745c935f3a0Christian Maeder duplicates what is in APR.
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder * There are still a number of places in the code where we are
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder losing error status (i.e. throwing away the error returned by a
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder system call and replacing it with a generic error code)
fc09e0a6af734edbd944dd8082bb51985c233b43Alexis Tsogias * Mass vhosting version of suEXEC.
0a03acf9fa28e6ff00f4d7c9c6acbae64cf09c56Ewaryst Schulz * All DBMs suffer from confusion in support/dbmmanage (perl script) since
0a03acf9fa28e6ff00f4d7c9c6acbae64cf09c56Ewaryst Schulz the dbmmanage employs the first-matched dbm format. This is not
0a03acf9fa28e6ff00f4d7c9c6acbae64cf09c56Ewaryst Schulz necessarily the library that Apache was built with. Aught to
bab2d88d650448628730ed3b65c9f99c52500e8cChristian Maeder rewrite dbmmanage upon installation to bin/ with the proper library
18d370f8341357f5d6a4068f4bb6981173ece70fFelix Gabriel Mance for predictable mod_auth_dbm administration.
7834a982096d93301a4626f444dd9ea5f9fe17eaChristian Maeder Questions; htdbm exists, time to kill dbmmanage, or does it remain
ed1b8e97e72b2e3e92edaf2eb22a4b5373d705f1Felix Gabriel Mance useful as a perl dbm management example? If we keep it,
ed1b8e97e72b2e3e92edaf2eb22a4b5373d705f1Felix Gabriel Mance do we address the issue above?
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder * Integrate mod_dav.
c70ef4c3b3a62764f715510c9fd67dde3acfe454Christian Maeder Some additional items remaining:
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder - case_preserved_filename stuff
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder (use the new canonical name stuff?)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers - find a new home for ap_text(_header)
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder - is it possible to remove the DAV: namespace stuff from util_xml?
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder are a bit wonky. The function should probably be exposed as a utility
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder function (such as ap_translate_url2fs() or ap_validate_fs_url() or
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder something). Another approach would be a new hook phase after
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder "translate" which would allow the module to munge what the
cc07a598b995acc9436651e66fd18009509047efChristian Maeder translation has decided to do.
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder Status: Greg +1 (volunteers), Ryan +1
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * Explore use of a post-config hook for the code in http_main.c which
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich ap_sort_hooks() [to reduce the logic in main()]
f443a57f2a8e0ca3daa7431b0c89a18ba52c337aChristian Maeder * read the config tree just once, and process N times (as necessary)
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
7c99e334446bb97120e30e967baeeddfdd1278deKlaus Luettich * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
f5c9b1e739228c2a2edf055ac419583412569683Christian Maeder into a VirtualHost container) to 2.0.
f5c9b1e739228c2a2edf055ac419583412569683Christian Maeder * shift stuff to mod_core.h
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder * callers of ap_run_create_request() should check the return value
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maeder for failure (Doug volunteers)
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder * Win32: Get Apache working on Windows 95/98. The following work
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder (at least) needs to be done:
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder - Document warning that OSR2 is required (for Crypt functions, in
0c355dd0b739631ee472f9a656e266be27fa4e64Christian Maeder rand.c, at least.) This could be resolved with an SSL library, or
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder randomization in APR itself.
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
c7ec85d1103173e089aa5048fd7afb2f9b505124Klaus Luettich actually works) and add in a splash of Win9x service code.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder * Fix the worker MPM to use POD to kill child processes instead
c7ec85d1103173e089aa5048fd7afb2f9b505124Klaus Luettich of ap_os_killpg, regardless of how they should die. (Ryan Bloom)
810746aea00b81c1eec27dae84d73a43599ff056Christian Maeder * Scoreboard structures could be changed in the future such that
a883cd4d01fe39d23219cf5333425f195be24d8bChristian Maeder proper alignment is not maintained, leading to segfaults on
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich some systems. Cliff posted a patch to deal with this issue but
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder later recanted. See this message to dev@apr.apache.org:
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maeder Message-ID: <Pine.LNX.4.44.0203011354090.16457-200000@deepthought
0a5571c8adeddd27548445546491725beb224dddChristian MaederTODO ISSUES REMAINING IN MOD_SSL:
0a5571c8adeddd27548445546491725beb224dddChristian Maeder * In order to use a DSO version of mod_ssl we have to link with
0a5571c8adeddd27548445546491725beb224dddChristian Maeder -lssl and -lcrypto. A workaround is in place right now where the
f38b3687c5558128515e34fb85d8b466d22dc300Christian Maeder entire EXTRA_LIBS macro is being appended to the objects list, but
e112e83352048f3db8c8f93ae104193e7338c10fChristian Maeder this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
f38b3687c5558128515e34fb85d8b466d22dc300Christian Maeder autoconf function or come up with some other autoconf checks to
f38b3687c5558128515e34fb85d8b466d22dc300Christian Maeder search for libssl and libcrypto and properly add them to mod_ssl's
f38b3687c5558128515e34fb85d8b466d22dc300Christian Maeder * SSL renegotiations in combination with POST request
ef67402074be14deb95e4ff564737d5593144130Klaus Luettich * Port or dispose all code inside #if 0...#endif blocks that remain
e112e83352048f3db8c8f93ae104193e7338c10fChristian Maeder from the porting effort.
aebb0b18fe5e6ba7dd7e4c66a16a905611ef7ba9Christian Maeder * Do we need SSL_set_read_ahead()?
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder * the ssl_expr api is NOT THREAD SAFE. race conditions exist:
aebb0b18fe5e6ba7dd7e4c66a16a905611ef7ba9Christian Maeder -in ssl_expr_comp() if SSLRequire is used in .htaccess
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder (ssl_expr_info is global)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder -is ssl_expr_eval() if there is an error
e05fd774e0181e93963d4302303b20698603a505Christian Maeder (ssl_expr_error is global)
1dfba1f850f6a43094962b459998d1ea11472461Christian Maeder * SSLRequire directive (parsing of) leaks memory
1dfba1f850f6a43094962b459998d1ea11472461Christian Maeder * Diffie-Hellman-Parameters for temporary keys are hardcoded in
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder ssl_engine_dh.c, while the comment in ssl_engine_kernel.c says:
fa0f3519d71f719d88577b716b1579776b4a2535Christian Maeder "it is suggested that keys be changed daily or every 500
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder transactions, and more often if possible."
fa0f3519d71f719d88577b716b1579776b4a2535Christian Maeder * ssl_var_lookup could be rewritten to be MUCH faster
5bb7eeaca10ea76595229375f907a5a388b7c882Christian Maeder * CRL callback should be pluggable
c59d1c38ef94b4fb1c8d9fda9573bc1e1d2801e7Christian Maeder * session cache store should be pluggable
99afa6000472f3d291fdf9193ea19d334a58658dChristian Maeder * init functions should return status code rather than ssl_die()
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder * ssl_engine_pphrase.c needs to be reworked so it is generic enough
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich to also decrypt proxy keys
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich * the shmcb code should just align its memory segment rather than
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich jumping through all the "safe" memcpy and memset hoops
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus LuettichEXPERIMENTAL MODULES:
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich Experimental modules should eventually be be promoted to fully supported
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich status or removed from the repository entirely (ie, the
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich 'experiment' failed). This section tracks what needs to happen to
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich get the modules promoted to fully supported status.
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder * mod_cache: handle cache_control: no_cache "field_name" to enable
810746aea00b81c1eec27dae84d73a43599ff056Christian Maeder cacheing the response w/o header "field_name"
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder See RFC2616 section 14.9.1
1365c420ef71be3d52796ebd369dc2defdedc822Christian Maeder * mod_cache: CacheEnable/CacheDisable should accept regular expressions.
82e29b77f0ef4cccd7ed734692c5e1e93dbbc645Christian Maeder * mod_cache: Fix dependency on ATOMIC operators. Need
a80c28bb8b7a23ccdf7e08d0fe216fc19cc97273Klaus Luettich APR_HAS_ATOMIC_* feature macros.
5f0e3e4cb7dd31033c9682cafa712d2a66b2f3bcChristian Maeder * mod_disk_cache: Implement garbage collection
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maeder * mod_mem_cache/mod_disk_cache: Need to be able to query cache
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder status (num of entries, cache object properties, etc.).
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder mod_status could be extended to query optional hooks defined
d0652648f9879c67a194f8b03baafe2700c68eb4Christian Maeder by modules for the purpose of reporting module status.
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder mod_cache (et. al.) could define optional hooks that are called
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder to collect status. Status should be queryable by
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder HTTP or SNMP?
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich * mod_mem_cache: garbage collection. One strategy is to simply
4ba08bfca0cc8d9da65397b8dfd2654fdb4c0e62Christian Maeder remove stale entries as we attempt to serve them. Another
4ba08bfca0cc8d9da65397b8dfd2654fdb4c0e62Christian Maeder strategy is to kick off a GC thread that traverses the cache
4ba08bfca0cc8d9da65397b8dfd2654fdb4c0e62Christian Maeder and preemptively remove stale entries. How to manage a
4ba08bfca0cc8d9da65397b8dfd2654fdb4c0e62Christian Maeder cache that is full? Do LRU GC? Other? Bueller?
3e61f574717499939bd8e0ff538ea9e7b72d4e2dKlaus Luettich * mod_mem_cache/mod_disk_cache: Complete implementing config
308834907a120fd8771e18292ed2ca9cd767c12dChristian Maeder * Sample config for mod_cache/mod_mem_cache/mod_disk_cache for
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettich * mod_cache/mod_mem_cache/mod_disk_cache: Documentation.
83394c6b6e6de128e71b67c9251ed7a84485d082Christian MaederPRs that have been suspended forever waiting for someone to
68d10d143f29fcff3c637ba24f90e983995ceae6Christian Maederput them into 'the next release':
cc07a598b995acc9436651e66fd18009509047efChristian Maeder * PR#76: general
cc07a598b995acc9436651e66fd18009509047efChristian Maeder missing call to "setlocale();"
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * PR#78: mod_include
b446bf54c1dc78690aa12e86aadc49cdd8585847Christian Maeder Additional status for XBitHack directive
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * PR#362: mod_proxy
2c619a4dfdc1df27573eba98e81ed1ace906941dChristian Maeder Mod_proxy doesn't allow change of error pages
e284004f10a315dbdb624c8b2522f65d485eaa48Martin Kühl * PR#370: mod_env
b446bf54c1dc78690aa12e86aadc49cdd8585847Christian Maeder Modified PATH environemnt variable is not passed, instead
e284004f10a315dbdb624c8b2522f65d485eaa48Martin Kühl system's is used
50515239e7e190f4a34ca581dd685d002148fbddChristian Maeder * PR#440: mod_proxy
50515239e7e190f4a34ca581dd685d002148fbddChristian Maeder Proxy doesn't deliver documents if not connected
0b349288edfa50fdf38fda1a14e1562d03f92574Christian Maeder * PR#534: mod_proxy
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder proxy converts ~name to %7Ename when name starts with a dot (.)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * PR#537: mod_access
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder mod_access syntax allows hosts that should be restricted
8b4c68db8b465107cabef8b9cd5b6bc216e1b156Till Mossakowski * PR#557: mod_auth-any
8b4c68db8b465107cabef8b9cd5b6bc216e1b156Till Mossakowski ~UserHome directories are not honored in absolute pathname
bcaf979d9babe6346aa343687aa7d596e2894cccPaolo Torrini requests (.htaccess)
5ce19352a9cc47d982819cc889a71cd0a61ac171Christian Maeder * PR#612: mod_proxy
5ce19352a9cc47d982819cc889a71cd0a61ac171Christian Maeder Proxy FTP Authentication Fails
23ab8855c58adfbd03a0730584b917b24c603901Christian Maeder * PR#623: mod_include
df29370ae8d8b41587957f6bcdcb43a3f1927e47Christian Maeder A smarter "Last Modified" value for SSI documents (see PR number 600)
47b0e9f3cb008cb7997f4e3bae26e4d62dcc887aChristian Maeder * PR#628: config
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder Request of "Options SymLinksIfGroupMatch"
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * PR#700: mod_proxy
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder Proxy doesn't do links right for OpenVMS files through ftp:
88318aafc287e92931dceffbb943d58a9310001dChristian Maeder * PR#759: mod_imap
d5d349836d8b1fa93ea49a59d977b106c6e9233bKlaus Luettich imap should read <MAP><AREA>*</MAP> too!
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * PR#793: general
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder RLimitCPU and RLimitMEM don't apply to all children like they should
e62d49c0dc2893da75faad896bd135e2e9a7087bKlaus Luettich * PR#921: suexec
9096f6c6aaded6cd8288656ceccd4c7b3bd0747eChristian Maeder Uses cwd before filling it in, doesn't use syslog
e112e83352048f3db8c8f93ae104193e7338c10fChristian Maeder * PR#922: config
e62d49c0dc2893da75faad896bd135e2e9a7087bKlaus Luettich it is useful to allow specifiction that root-owned symlinks
e62d49c0dc2893da75faad896bd135e2e9a7087bKlaus Luettich should always be followed
e112e83352048f3db8c8f93ae104193e7338c10fChristian Maeder * PR#980: mod_proxy
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder Controlling Access to Remote Proxies would be nice...
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * PR#994: mod_proxy
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder Adding authentication "on the fly" through the proxy module
c72c1e75a969ff4c336e77481c2a8e42603f13eeChristian Maeder * PR#1004: apache-api
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder request_config field in request_rec is moderately bogus
7767474aba4fa2dc51a6c68017d3bcef3b773001Christian Maeder * PR#1028: other
88318aafc287e92931dceffbb943d58a9310001dChristian Maeder DoS attacks involving memory consumption
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * PR#1050: mod_log-any
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich Logging of virtual server to error_log as well
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich * PR#1085: mod_proxy
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder ProxyRemote make a dead cycle.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * PR#1117: mod_auth-any
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder Using NIS passwd.byname dbm files with AuthDBMUserFile
1a6464613c59e35072b90ca296ae402cbe956144Christian Maeder * PR#1120: suexec
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder suexec does not parse arguments to #exec cmd
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder * PR#1145: mod_include
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder Allow for Last-Modified: without resorting to XBitHack
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder * PR#1158: apache-api
f78ce817f35574674d54e30ad1861a9b4ced20caChristian Maeder improvements to child spawning API
f78ce817f35574674d54e30ad1861a9b4ced20caChristian Maeder * PR#1166: mod_proxy
fd2c22348e5a69231f92fb44e35a9970b47c4e93Christian Maeder ``nph-'' not honored (no buffering) for ProxyRemote mapping
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder * PR#1176: mod_cgi
89c9d707aa817684b88036a2dad66c3437840677Heng Jiang Apache cannot handle continuation line in headers
f78ce817f35574674d54e30ad1861a9b4ced20caChristian Maeder * PR#1191: general
f041c9a6bda23de33a38490e35b831ae18d96b45Christian Maeder setlogin() is not called, causing problems with e.g. identd
bea81dabd203833818cb4a5f3758977c695728cdHeng Jiang * PR#1204: general
bf7b17b0e19362e9228672782218678cab275d1eDominik Luecke regerror() exists, use it
7834a982096d93301a4626f444dd9ea5f9fe17eaChristian Maeder * PR#1233: apache-api
7834a982096d93301a4626f444dd9ea5f9fe17eaChristian Maeder there is no way to keep per-connection per-module state
f9442174f64331ccf0bf08178632af7302ccfc96Christian Maeder * PR#1263: mod_autoexec
c802a1041ed9251f8ad79139454267e802900e2aChristian Maeder Add frame-safe anchor attribute to mod_autoindex links
bf7b17b0e19362e9228672782218678cab275d1eDominik Luecke * PR#1268: suexec
bf7b17b0e19362e9228672782218678cab275d1eDominik Luecke CGI scripts running as Apache user: security (suexec etc.)
bf7b17b0e19362e9228672782218678cab275d1eDominik Luecke * PR#1285: suexec
bf7b17b0e19362e9228672782218678cab275d1eDominik Luecke Error messages could be easier to spot in cgi.log file for suexec.c
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1287: mod_access
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu add allow,deny/deny,allow warning to mod_access
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1290: mod_proxy
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu Need to know "hit-rate" on proxy cache
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1358: mod_log-any
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu Selective url-encode of log fields (or maybe a pseudo
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu log_rewrite module?)
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1383: mod_headers
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu I make mod_headers to modify request headers as well as
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1532: mod_proxy
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu Proxy transfer logging
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1547: mod_proxy
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu No HTTP_X_FORWARDED_FOR set...
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1567: mod_proxy
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu ProxyRemote proxy requests fail authentication by firewall
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1582: mod_rewrite
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu mod_rewrite forms REQUEST_URI different than mod_cgi does
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1677: mod_headers
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu mod_headers should allow mod_log_config-style formats in
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1702: mod_proxy
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu mod_proxy to support persistent conns?
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1803: mod_include
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu patches to mod_include to allow for file tests
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1809: mod_auth-any
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu Suggestion for improving authentication modules and core source
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu code, problem with 401 and ErrorDocument
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1878: mod_proxy
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu listing of proxy cache content
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#1905: suexec
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu Allow modules to set user:group for execution.
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu * PR#2024: apache-api
ae3e4689adbf4de67f4e1cdda6db2c0e406027d0Francisc Nicolae Bungiu adding auth_why to conn_rec
b446bf54c1dc78690aa12e86aadc49cdd8585847Christian Maeder * PR#2073: mod_log-any
3b5814dc6ac813faf8a12ecddf4b727ca7b666a8Francisc Nicolae Bungiu pipelined connections are not logged correctly
A small addition to rotatelogs.c to improve program functionality.
Feedback/Comment on APACI
Inclusion of RPM spec file in CVS/distributions
* orig_ct in the byterange/multipart handling may not be
Solaris 8.x/sparc yes Jim Jagielski