STATUS revision 8cae0813c034b2ea4f01dd52c5bfbebe52f0e610
bcb4e51a409d94ae670de96afb8483a4f7855294Stephan BoschAPACHE 2.0 STATUS: -*-text-*-
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo SirainenLast modified at [$Date: 2002/06/19 03:23:22 $]
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo SirainenRelease:
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0.40 : in development.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0.39 : rolled June 17, 2002.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0.38 : rolled June 16, 2002. not released.
72f67d7d7681934bb3d4baaea1d88f79521dee3dTimo Sirainen 2.0.37 : rolled June 11, 2002. not released.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0.36 : released May 6, 2002 as GA.
1358e2c58ce29231485a5cfa454756d429ad3d2cTimo Sirainen 2.0.35 : released April 5, 2002 as GA.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0.34 : tagged March 26, 2002.
42cb779853b1814d7ab052436b0b6d1f507c742bAki Tuomi 2.0.33 : tagged March 6, 2002. not released.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0.32 : released Feburary 16, 2002 as beta.
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen 2.0.31 : rolled Feburary 1, 2002. not released.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0.30 : tagged January 8, 2002. not rolled.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0.29 : tagged November 27, 2001. not rolled.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0.28 : released November 13, 2001 as beta.
678d0463849ba777106eb7875f27db07a5d8e3dfTimo Sirainen 2.0.27 : rolled November 6, 2001
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen 2.0.26 : tagged October 16, 2001. not rolled.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0.25 : rolled August 29, 2001
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0.24 : rolled August 18, 2001
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0.23 : rolled August 9, 2001
50fe5e053d565b40b0ed2cc7a64b6b98971c0305Timo Sirainen 2.0.22 : rolled July 29, 2001
633a3da9d3e9a5befd3405f6651043a6bdd327cbTimo Sirainen 2.0.21 : rolled July 20, 2001
50fe5e053d565b40b0ed2cc7a64b6b98971c0305Timo Sirainen 2.0.20 : rolled July 8, 2001
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen 2.0.19 : rolled June 27, 2001
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen 2.0.18 : rolled May 18, 2001
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen 2.0.17 : rolled April 17, 2001
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen 2.0.16 : rolled April 4, 2001
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen 2.0.15 : rolled March 21, 2001
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0.14 : rolled March 7, 2001
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen 2.0a9 : released December 12, 2000
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen 2.0a8 : released November 20, 2000
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen 2.0a7 : released October 8, 2000
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen 2.0a6 : released August 18, 2000
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen 2.0a5 : released August 4, 2000
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen 2.0a4 : released June 7, 2000
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen 2.0a3 : released April 28, 2000
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen 2.0a2 : released March 31, 2000
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen 2.0a1 : released March 10, 2000
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo SirainenPlease consult the following STATUS files for information
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainenon related projects:
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen * srclib/apr/STATUS
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen * srclib/apr-util/STATUS
47a5a7e8296f3b8f2fac9a0659d4de3f2723ba4aMartti Rannanjärvi * docs/STATUS
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo SirainenCURRENT RELEASE NOTES:
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo SirainenRELEASE SHOWSTOPPERS:
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo SirainenCURRENT VOTES:
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen * apachectl should revert to just being an init script and
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen httpd.sh should be the wrapper for httpd which sources envvars
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen and allows any options to be passed through
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen +1: trawick
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen * Should we always build [support*] binaries statically unless otherwise
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen indicated?
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen Message-ID: <20020129210006.B23512@Lithium.MeepZor.Com>
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen +1: Ken, *wrowe [they are PITAs on OSX]
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen -1: Justin, Ian
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen * If the parent process dies, should the remaining child processes
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen "gracefully" self-terminate. Or maybe we should make it a runtime
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen option, or have a concept of 2 parent processes (one being a
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen "hot spare").
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen Self-destruct: Ken, Martin
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen Not self-destruct: BrianP, Ian, Cliff, BillS
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen Make it runtime configurable: Aaron, Jim, Justin
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen Have 2 parents: +1: Jim
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen -1: Justin, wrowe [for 2.0]
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen +0: Martin (while standing by, could it do
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen something useful?)
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen * Make the worker MPM the default MPM for threaded Unix boxes.
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen +1: Justin, Ian, Cliff, BillS
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen +0: BrianP, Aaron (mutex contention is looking better with the
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen latest code, let's continue tuning and testing)
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen -0: Lars
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo SirainenRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen * All handlers should always send content down even if r->header_only
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen is set. If not, it means that the HEAD requests don't generate the
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen same headers as a GET which is wrong.
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen Is this a showstopper?
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen +1: Justin
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen -1: Aaron
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen * 500 returned instead of 501 if a handler other than default_handler
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen is invoked on a method with M_INVALID.
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen Message-ID: <20020613001913.J22524@apache.org>
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen Proposed patch: <20020613111913.S22524@apache.org>
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen Is this a showstopper?
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen +1: Justin
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen -1: Cliff, Aaron
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen * Returning invalid 304 errors when filters are present. [PR 9673]
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen Message-ID: <Pine.GSO.4.44.0206061713320.3848-100000@lab26.lacfas.hec.ca>
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen <20020607135121.G19485@apache.org>
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen <20020610204425.B19018@lyra.org>
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen Proposed patch: <20020607214725.K19485@apache.org>
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen Status: We should set r->no_local_copy, but where can we set it?
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen We must set it before the handlers are run so that the
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen appropriate handler can call ap_meets_conditions() before
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen generating the data. Greg has reservations about Justin's
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen proposed patch. Consensus needed.
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen Is this a showstopper?
ca7e608c21bdfd7b6a2e7fcb2678ade4c1c1972cTimo Sirainen +1: Justin
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen -1: Cliff, Aaron
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen * server pushed CGI's not working. (Is this a showstopper??)
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen PR: 8482
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen Message-ID: <3CE15B85.2FF45121@apache.org>
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen * HP/UX 10.20: compile breakage in APR. Looks like it should be easy
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen to fix, probably just some extraneous #include's that are fouling
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen things up.
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen PR: 9457
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen Jeff: See my reply and patch in the PR (and previous commit to
3ba70a3fa363850cc513d3cf28d1916e2469b90fTimo Sirainen stop using "pipe" as a field name). If patch is committed, we
009217abb57a24a4076092e8e4e165545747839eStephan Bosch should be okay. I'll wait to see if the user tests the patch.
009217abb57a24a4076092e8e4e165545747839eStephan Bosch
009217abb57a24a4076092e8e4e165545747839eStephan Bosch * exec cmd and suexec arg-passing enhancements
009217abb57a24a4076092e8e4e165545747839eStephan Bosch Status: Patches proposed
009217abb57a24a4076092e8e4e165545747839eStephan Bosch Message-ID: <20020526041748.A29148@prodigy.Redbrick.DCU.IE>
009217abb57a24a4076092e8e4e165545747839eStephan Bosch (see the "proc.patch" and "suexec-shell.patch" links in this message)
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen * Get mod_cache/mod_mem_cache out of experimental (still some
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen work items left to complete)
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen * The 2.0.36 worker MPM graceless shutdown changes work but are
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen a bit clunky on some platforms; eg, on Linux, the loop to
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen join each worker thread seems to hang, and the parent ends up
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen killing off the child with SIGKILL. But at least it shuts down.
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen * --enable-mods-shared="foo1 foo2" is busted on Darwin. Pier
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen posted a patch (Message-ID: <B8DBBE8D.575A%pier@betaversion.org>).
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen * We do not properly substitute the prefix-variables in the configuration
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen scripts or generated-configs. (i.e. if sysconfdir is etc,
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen httpd-std.conf points to conf.)
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen * If any request gets through ap_process_request_internal() and is
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen scheduled to be served by the core handler, without a flag that this
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen r->filename was tested by dir/file_walk, we need to 500 at the very
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen end of the ap_process_request_internal() processing so sub_req-esters
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen know this request cannot be run. This provides authors of older
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen modules better compatibility, while still improving the security and
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen robustness of 2.0.
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen Status: still need to decide where this goes, OtherBill comments...
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen [Deleted comments regarding the ap_run_handler phase, as irrelevant
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen as BillS points out that "common case will be caught in
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen default_handler already (with the r->finfo.filetype == 0 check)"
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen and the issue is detecting this -before- we try to run the req.]
2ac5f36aa7c2e7a07ba8815d43a6d7483f62e74cTimo Sirainen
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen gregames says: can this happen somehow without a broken module
b879ed8dd4b5850987e6b89a92f794d87c6be7d7Timo Sirainen being involved? If not, why waste cycles trying to defend against
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen potential broken modules? It seems futile.
b879ed8dd4b5850987e6b89a92f794d87c6be7d7Timo Sirainen wrowe counters: no, it shouldn't happen unless the module is broken.
b879ed8dd4b5850987e6b89a92f794d87c6be7d7Timo Sirainen But the right answer is to fail the request up-front in dir/file
b879ed8dd4b5850987e6b89a92f794d87c6be7d7Timo Sirainen walk if the path was entirely invalid; and we can't do that either
b879ed8dd4b5850987e6b89a92f794d87c6be7d7Timo Sirainen or we break modules that are unwilling to hook map_to_storage.
b879ed8dd4b5850987e6b89a92f794d87c6be7d7Timo Sirainen
b879ed8dd4b5850987e6b89a92f794d87c6be7d7Timo Sirainen * Rewrite core_output_filter. It is nearly impossible to support
b879ed8dd4b5850987e6b89a92f794d87c6be7d7Timo Sirainen it with predictable results as it is implemented now.
b879ed8dd4b5850987e6b89a92f794d87c6be7d7Timo Sirainen
b879ed8dd4b5850987e6b89a92f794d87c6be7d7Timo Sirainen * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen how the Perchild MPM should be re-written. It hasn't worked
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen correctly since filters were added because it wasn't possible to
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen get the content that had already been written and the socket at
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen the same time. This mode lets us do that, so the MPM can be
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen fixed.
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen * htpasswd blindly processes the file you give it, and does no
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen sanity checking before totally corrupting whatever file it was
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen you thought you had. It should check the input file and bail
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen if it finds non-comment lines that do not contain exactly 1
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen ':' character.
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen Message-ID: <20020217150457.A31632@clove.org>
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen * Can a static httpd be built reliably?
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen Message-ID: <20020207142751.T31582@clove.org>
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen * [Ken] Test suite failures:
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen o worker is also failing some of the 'cgi' subtests
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen (see <URL:http://Source-Zone.Org/Apache/regression/>):
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen Justin says: "Worker should be fine and passes httpd-test here.
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen If you can provide evidence that it can be reproduced
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen outside of httpd-test, then it's a showstopper. I
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen think it's a perl or a httpd-test problem."
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen Not a showstopper: Justin
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen removed if possible.
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen Message-ID: <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen * There is a bug in how we sort some hooks, at least the pre-config
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen hook. The first time we call the hooks, they are in the correct
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen order, but the second time, we don't sort them correctly. Currently,
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen the modules/http/config.m4 file has been renamed to
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen modules/http/config2.m4 to work around this problem, it should moved
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen back when this is fixed. rbb
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen Justin says: "Is this really a showstopper? This has been here
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen forever. What's wrong? Does this have to do with
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen autoconf or m4?"
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen Not a showstopper: Justin, BrianP, trawick, gregames
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen
25f959d63f5379702f44f5ae125eb3b70a6a47d7Timo Sirainen * The Add...Filter and Set...Filter directives do not allow the
2ac5f36aa7c2e7a07ba8815d43a6d7483f62e74cTimo Sirainen administrator to order filters, beyond the order of filename (mime)
2ac5f36aa7c2e7a07ba8815d43a6d7483f62e74cTimo Sirainen extensions. It isn't clear if Set...Filter(s) should be inserted
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen before or after the Add...Filter(s) which are ordered by sequence of
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen filename extensions. At minimum, some sort of +-[0-10] syntax seems
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen like the quickest fix for a 2.0 gold release.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen Justin says: "Could we delay this for a point release or 2.1?"
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen Not a showstopper: justin, wrowe, trawick, stoddard, Jim, Ian, Aaron,
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen gregames
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen * Get perchild to work on platforms other than Linux. This
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen will require a portable mechanism to pass data and file/socket
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen descriptors between vhost child groups. An API was proposed
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen on dev@apr:
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen Message-ID: <20020111115006.K1529@clove.org>
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen * Try to get libtool inter-library dependency code working on AIX.
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen Justin says: If we get it working on AIX, we can enable this
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen on all platforms and clean up our build system
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen somewhat.
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen Jeff says: I thought I tested a patch for you sometime in
50fe5e053d565b40b0ed2cc7a64b6b98971c0305Timo Sirainen January that you were going to commit within a few
50fe5e053d565b40b0ed2cc7a64b6b98971c0305Timo Sirainen days.
50fe5e053d565b40b0ed2cc7a64b6b98971c0305Timo Sirainen
50fe5e053d565b40b0ed2cc7a64b6b98971c0305Timo Sirainen * Handling of %2f in URIs. Currently both 1.3 and 2.0
50fe5e053d565b40b0ed2cc7a64b6b98971c0305Timo Sirainen completely disallow %2f in the request URI path (see
6899af0c40f5e1ef80bd18961cea3a192134a4a4Timo Sirainen ap_unescape_url() in util.c). It's permitted and passed
6899af0c40f5e1ef80bd18961cea3a192134a4a4Timo Sirainen through in the query string, however. Roy says the
6899af0c40f5e1ef80bd18961cea3a192134a4a4Timo Sirainen original reason for disallowing it, from five years ago,
6899af0c40f5e1ef80bd18961cea3a192134a4a4Timo Sirainen was to protect CGI scripts that applied PATH_INFO to
50fe5e053d565b40b0ed2cc7a64b6b98971c0305Timo Sirainen a filesystem location and which might be tricked by
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen ..%2f..%2f(...). We *should* allow path-info of the
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen form 'http://foo.com/index.cgi/path/to/path%2finfo'.
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen Since we've revamped a lot of our processing of path
6899af0c40f5e1ef80bd18961cea3a192134a4a4Timo Sirainen segments, it would be nice to allow this, or at least
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen allow it conditionally with a directive.
396999508030c8498cb538eb8943e6b61394994cTimo Sirainen
25f959d63f5379702f44f5ae125eb3b70a6a47d7Timo Sirainen * FreeBSD, threads, and worker MPM. All seems to work fine
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen if you only have one worker process with many threads. Add
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen a second worker process and the accept lock seems to be
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen lost. This might be an APR issue with how it deals with
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen the child_init hook (i.e. the fcntl lock needs to be resynced).
50e20db49f29917fe9adcf1b56b11badf28bd0e4Timo Sirainen More examination and analysis is required.
57fc30eb8669d1a564372a2ca9842da4f118663fTimo Sirainen Status: This has also been reported on Cygwin.
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
2ed05ea827dc49e715a4859a2ca485dc1934f1a3Timo Sirainen
009217abb57a24a4076092e8e4e165545747839eStephan Bosch Justin says: So, FreeBSD-CURRENT and Cywin have the same
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen problem. Yum. If another platform has this
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen with worker, this becomes a showstopper.
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen Aaron says: I spent some time disecting this and have come to
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen the conclusion that it is not a problem in the worker MPM
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen (or at least, it is not isolated to a problem in worker).
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen I'll list some of the problems I'm seeing in case someone
7a5e2e937f0f388465c2938645ee971b4fd01bf1Timo Sirainen else wants to pick up where I've left off:
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen - Delivery of just about any signal to one of the child
4b94ae3dcbace4781b64e87aea00ec0bc03a0d8aTimo Sirainen processes will send it into an infinite loop as well.
4b94ae3dcbace4781b64e87aea00ec0bc03a0d8aTimo Sirainen - Even though the parent is spinning out of control,
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen at first the child or children will appear to work
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen properly. At times it is possible to get it into a state,
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen however, where a request will hang until another concurrent
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen request "kicks" the first, at which point the second will
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen hang. My theory is that this has to do with the
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen pthread_cond_*() implementation in FreeBSD, but it's still
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen possible that it is in APR.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen Justin adds: Oh, FreeBSD threads are implemented entirely with
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen select()/poll()/longjmp(). Welcome to the nightmare.
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen So, that means a ktrace output also has the thread
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen scheduling internals in it (since it is all the same to
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen the kernel). Which makes it hard to distinguish between
56439f2879ad690d9ac637e2b90b612760d2f219Timo Sirainen our select() calls and their select() calls.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen *bangs head on wall repeatedly* But, some of the libc_r
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen files have a DBG_MSG #define. This is moderately helpful
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen when used with -DNO_DETACH. The kernel scheduler isn't
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen waking up the threads on a select(). Yum. And, I bet
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen those decrementing select calls have to do with the
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen scheduler. Time to brush up on our OS fundamentals.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen * There is increasing demand from module writers for an API
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen that will allow them to control the server � la apachectl.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen Reasons include sole-function servers that need to die if
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen an external dependency (e.g., a database) fails, et cetera.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen Perhaps something in the (ever more abused) scoreboard?
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen rbb: I don't believe the scoreboard is the correct mechanism
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen for this. We already have a pipe that goes between parent
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen and child for graceful shutdown events, along with an API that
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen can be used to send a message down that pipe. In threaded MPMs,
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen it is easy enough to make that one pipe be used for graceful
c84c0d4cb7f16aedbcb3d5db6b2d41851cc572c9Timo Sirainen and graceless events, and it is also easy to open that pipe
c84c0d4cb7f16aedbcb3d5db6b2d41851cc572c9Timo Sirainen to both parent and child for writing. Then we just need to
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen figure out how to do graceless on non-threaded MPMs.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen * Allow the DocumentRoot directive within <Location > scopes? This
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
6851806b0d2e134d52757147e3fc242557ce8b4dTimo Sirainen by a <Directory /somepath/foo> to become simply
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen and in-your-face.) DocumentRoot unset would be accepted [and would
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen not permit content to be served, only virtual resources such as
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen server-info or server-status.
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen This proposed change would _not_ depricate Alias.
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen * Win32: Rotatelogs sometimes is not terminated when Apache
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen goes down hard. FirstBill was looking at possibly tracking the
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen child's-child processes in the parent process.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen OtherBill asks, wasn't this fixed?
ff561236f26a203378f5bc1682dda406c78822ccTimo Sirainen stoddard: Not fixed. Shared scoreboard might offer a good
ff561236f26a203378f5bc1682dda406c78822ccTimo Sirainen way for the parent to keep track of 'other child' processes
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen and whack them if the child goes down.
396999508030c8498cb538eb8943e6b61394994cTimo Sirainen Other thoughts on walking the process chain using the NT kernel
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen have also been proposed on APR.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen * Win32: Add a simple hold console open patch (wait for close or
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen the ESC key, with a nice message) if the server died a bad
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen death (non-zero exit code) in console mode.
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen Resolution: bring forward same ugly hacks from 1.3.13-.20
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen This is not so simple. Any exit() from APR or other libraries
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen can't be caught unless we add some sort of apr_exit(rv) with
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen registered apr_atexit() fn's that have the return code as an
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen argument to the registered fn.
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen * Eliminate unnecessary creation of pipes in mod_cgid
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen
4b94ae3dcbace4781b64e87aea00ec0bc03a0d8aTimo Sirainen * Combine log_child and piped_log_spawn. Clean up http_log.c.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen Common logging API.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen * Document mod_file_cache.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen
25f959d63f5379702f44f5ae125eb3b70a6a47d7Timo Sirainen * Platforms that do not support fork (primarily Win32 and AS/400)
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen Architect start-up code that avoids initializing all the modules
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen in the parent process on platforms that do not support fork.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen * Win32: Migrate the MPM over to use APR thread/process calls. This
d1d425c3ed541dde4ae11e88291a0044e6c55f88Timo Sirainen would eliminate some code in the Win32 branch that essentially
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen duplicates what is in APR.
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen * There are still a number of places in the code where we are
d84c270231a617298088f597474a73f4a14921aeTimo Sirainen losing error status (i.e. throwing away the error returned by a
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen system call and replacing it with a generic error code)
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen * Mass vhosting version of suEXEC.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen * All DBMs suffer from confusion in support/dbmmanage (perl script) since
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen the dbmmanage employs the first-matched dbm format. This is not
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen necessarily the library that Apache was built with. Aught to
633a3da9d3e9a5befd3405f6651043a6bdd327cbTimo Sirainen rewrite dbmmanage upon installation to bin/ with the proper library
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen for predictable mod_auth_dbm administration.
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen Questions; htdbm exists, time to kill dbmmanage, or does it remain
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen useful as a perl dbm management example? If we keep it,
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen do we address the issue above?
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen * Integrate mod_dav.
acb0236a7a1242f567cec83480c1efc9fc352f63Timo Sirainen Some additional items remaining:
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen - case_preserved_filename stuff
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen (use the new canonical name stuff?)
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen - find a new home for ap_text(_header)
3b3a70990ab21c97140fcc2d1e3eb84c17d90388Timo Sirainen - is it possible to remove the DAV: namespace stuff from util_xml?
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen are a bit wonky. The function should probably be exposed as a utility
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen function (such as ap_translate_url2fs() or ap_validate_fs_url() or
33bd898e7756b289e65f43133312d9637afc1371Timo Sirainen something). Another approach would be a new hook phase after
33bd898e7756b289e65f43133312d9637afc1371Timo Sirainen "translate" which would allow the module to munge what the
678d0463849ba777106eb7875f27db07a5d8e3dfTimo Sirainen translation has decided to do.
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen Status: Greg +1 (volunteers), Ryan +1
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen * Explore use of a post-config hook for the code in http_main.c which
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen ap_sort_hooks() [to reduce the logic in main()]
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen * read the config tree just once, and process N times (as necessary)
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen
194755bdfb97c07ca8b9df071099f68947b971e3Timo Sirainen * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
633a3da9d3e9a5befd3405f6651043a6bdd327cbTimo Sirainen
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen into a VirtualHost container) to 2.0.
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen * shift stuff to mod_core.h
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen * callers of ap_run_create_request() should check the return value
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen for failure (Doug volunteers)
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen * Win32: Get Apache working on Windows 95/98. The following work
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen (at least) needs to be done:
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen - Document warning that OSR2 is required (for Crypt functions, in
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen rand.c, at least.) This could be resolved with an SSL library, or
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen randomization in APR itself.
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen actually works) and add in a splash of Win9x service code.
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen * Fix the worker MPM to use POD to kill child processes instead
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen of ap_os_killpg, regardless of how they should die. (Ryan Bloom)
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen * Scoreboard structures could be changed in the future such that
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen proper alignment is not maintained, leading to segfaults on
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen some systems. Cliff posted a patch to deal with this issue but
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen later recanted. See this message to dev@apr.apache.org:
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen Message-ID: <Pine.LNX.4.44.0203011354090.16457-200000@deepthought
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen .cs.virginia.edu>
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo SirainenTODO ISSUES REMAINING IN MOD_SSL:
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen * In order to use a DSO version of mod_ssl we have to link with
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen -lssl and -lcrypto. A workaround is in place right now where the
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen entire EXTRA_LIBS macro is being appended to the objects list, but
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen autoconf function or come up with some other autoconf checks to
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen search for libssl and libcrypto and properly add them to mod_ssl's
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen link flags.
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen * SSL renegotiations in combination with POST request
4ecee121e141083faf1db165f0ee3bc0cd232d7eTimo Sirainen
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen * Port or dispose all code inside #if 0...#endif blocks that remain
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen from the porting effort.
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen * Do we need SSL_set_read_ahead()?
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen * the ssl_expr api is NOT THREAD SAFE. race conditions exist:
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen -in ssl_expr_comp() if SSLRequire is used in .htaccess
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen (ssl_expr_info is global)
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen -is ssl_expr_eval() if there is an error
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen (ssl_expr_error is global)
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen
c0787d6ab19f4a17ec08699d0bbc77f13a9b02a9Timo Sirainen * SSLRequire directive (parsing of) leaks memory
637ec4c33b4715737a41f7e58c9b6d1f693c27e2Timo Sirainen
6ed1e82824590b514201d9db84ba96bdfc832dd5Timo Sirainen * Diffie-Hellman-Parameters for temporary keys are hardcoded in
637ec4c33b4715737a41f7e58c9b6d1f693c27e2Timo Sirainen ssl_engine_dh.c, while the comment in ssl_engine_kernel.c says:
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen "it is suggested that keys be changed daily or every 500
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen transactions, and more often if possible."
637ec4c33b4715737a41f7e58c9b6d1f693c27e2Timo Sirainen
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen * ssl_var_lookup could be rewritten to be MUCH faster
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen
637ec4c33b4715737a41f7e58c9b6d1f693c27e2Timo Sirainen
637ec4c33b4715737a41f7e58c9b6d1f693c27e2Timo Sirainen * CRL callback should be pluggable
637ec4c33b4715737a41f7e58c9b6d1f693c27e2Timo Sirainen
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen * session cache store should be pluggable
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen
633a3da9d3e9a5befd3405f6651043a6bdd327cbTimo Sirainen * init functions should return status code rather than ssl_die()
633a3da9d3e9a5befd3405f6651043a6bdd327cbTimo Sirainen
637ec4c33b4715737a41f7e58c9b6d1f693c27e2Timo Sirainen * ssl_engine_pphrase.c needs to be reworked so it is generic enough
637ec4c33b4715737a41f7e58c9b6d1f693c27e2Timo Sirainen to also decrypt proxy keys
33bd898e7756b289e65f43133312d9637afc1371Timo Sirainen
de4869f239d3cae00f4ddab43edb01f8b0223f7dAki Tuomi * the shmcb code should just align its memory segment rather than
de4869f239d3cae00f4ddab43edb01f8b0223f7dAki Tuomi jumping through all the "safe" memcpy and memset hoops
de4869f239d3cae00f4ddab43edb01f8b0223f7dAki Tuomi
63e9db4f938bec812ec1b2b447c7de45183a4f43Aki Tuomi
a70d867d1fe3584149811c65eb6213deb72be824Aki TuomiEXPERIMENTAL MODULES:
de4869f239d3cae00f4ddab43edb01f8b0223f7dAki Tuomi Experimental modules should eventually be be promoted to fully supported
de4869f239d3cae00f4ddab43edb01f8b0223f7dAki Tuomi status or removed from the repository entirely (ie, the
42cb779853b1814d7ab052436b0b6d1f507c742bAki Tuomi 'experiment' failed). This section tracks what needs to happen to
42cb779853b1814d7ab052436b0b6d1f507c742bAki Tuomi get the modules promoted to fully supported status.
de4869f239d3cae00f4ddab43edb01f8b0223f7dAki Tuomi
42cb779853b1814d7ab052436b0b6d1f507c742bAki Tuomi mod_cache/mod_mem_cache/mod_disk_cache:
42cb779853b1814d7ab052436b0b6d1f507c742bAki Tuomi * mod_cache: handle cache_control: no_cache "field_name" to enable
551f3b2ebd588ca125c01f49b54c4103fbd5b2c5Aki Tuomi cacheing the response w/o header "field_name"
551f3b2ebd588ca125c01f49b54c4103fbd5b2c5Aki Tuomi See RFC2616 section 14.9.1
42cb779853b1814d7ab052436b0b6d1f507c742bAki Tuomi
42cb779853b1814d7ab052436b0b6d1f507c742bAki Tuomi * mod_cache: CacheEnable/CacheDisable should accept regular expressions.
42cb779853b1814d7ab052436b0b6d1f507c742bAki Tuomi
42cb779853b1814d7ab052436b0b6d1f507c742bAki Tuomi * mod_cache: Fix dependency on ATOMIC operators. Need
42cb779853b1814d7ab052436b0b6d1f507c742bAki Tuomi APR_HAS_ATOMIC_* feature macros.
42cb779853b1814d7ab052436b0b6d1f507c742bAki Tuomi
33bd898e7756b289e65f43133312d9637afc1371Timo Sirainen * mod_disk_cache: Implement garbage collection
33bd898e7756b289e65f43133312d9637afc1371Timo Sirainen
33bd898e7756b289e65f43133312d9637afc1371Timo Sirainen * mod_mem_cache/mod_disk_cache: Need to be able to query cache
33bd898e7756b289e65f43133312d9637afc1371Timo Sirainen status (num of entries, cache object properties, etc.).
637ec4c33b4715737a41f7e58c9b6d1f693c27e2Timo Sirainen mod_status could be extended to query optional hooks defined
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen by modules for the purpose of reporting module status.
df6551ce47053de2c366f490bef60803207beaa4Timo Sirainen mod_cache (et. al.) could define optional hooks that are called
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen to collect status. Status should be queryable by
637ec4c33b4715737a41f7e58c9b6d1f693c27e2Timo Sirainen HTTP or SNMP?
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen * mod_mem_cache: garbage collection. One strategy is to simply
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen remove stale entries as we attempt to serve them. Another
4383941ed43d004f34f77334a06ad14e6a305607Timo Sirainen strategy is to kick off a GC thread that traverses the cache
4383941ed43d004f34f77334a06ad14e6a305607Timo Sirainen and preemptively remove stale entries. How to manage a
4383941ed43d004f34f77334a06ad14e6a305607Timo Sirainen cache that is full? Do LRU GC? Other? Bueller?
4383941ed43d004f34f77334a06ad14e6a305607Timo Sirainen
4383941ed43d004f34f77334a06ad14e6a305607Timo Sirainen * mod_mem_cache/mod_disk_cache: Complete implementing config
637ec4c33b4715737a41f7e58c9b6d1f693c27e2Timo Sirainen directives.
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen * Sample config for mod_cache/mod_mem_cache/mod_disk_cache for
5d03d9f439e41c90215a3c938ffebe4c2a8ae257Timo Sirainen inclusion into httpd.conf.
637ec4c33b4715737a41f7e58c9b6d1f693c27e2Timo Sirainen
e9e5e84ffb2ce2e606a24ce6d930580367562ff0Timo Sirainen * mod_cache/mod_mem_cache/mod_disk_cache: Documentation.
PRs that have been suspended forever waiting for someone to
put them into 'the next release':
* documentation and Q&A
PR#2221: Make online documentation search link back to my installation
Status:
PR#2906: Propose that Apache recommend $UNIQUE_ID for all "session id"
algorithms
Status:
PR#2793: When will Apache support P3P? Any Plans?
Status:
* build
PR#2113: HTTP Server Rebuild Line Needs Changing for the better
Status:
PR#2421: problem specifying ndbm library for build ?with autoconfigure
Status:
* config
PR#76: missing call to "setlocale();"
Status:
PR#628: Request of "Options SymLinksIfGroupMatch"
Status:
PR#793: RLimitCPU and RLimitMEM don't apply to all children like they should
Status:
PR#922: it is useful to allow specifiction that root-owned symlinks
should always be followed
Status:
PR#1028: DoS attacks involving memory consumption
Status:
PR#1191: setlogin() is not called, causing problems with e.g. identd
Status:
PR#1204: regerror() exists, use it
Status:
PR#2284: Can not POST to ErrorDocument - Apache/1.3b6
Status:
PR#2396: Proposal for TimeZone directive
Status:
PR#2446: AllowOverride FileInfo is too coarse
Status:
PR#2760: [PATCH] User/Group for <Directory> and <Location> i.e. not only
in global and <Virtual>.
Status:
PR#2907: suggestion: power up your Include directive :)
Status:
PR#3018: cannot limit some HTTP methods
Status:
PR#3677: New ErrorDocumentMatch directive
Status:
PR#4244: "Files" and "FilesMatch" regexp does not recognize bang as
negation operator
Status:
PR#5993: AllowOverride should have a 'CheckNone' and 'AllowNone' argument
instead of only 'None'
Status:
* mod_access
PR#537: mod_access syntax allows hosts that should be restricted
Status:
PR#1287: add allow,deny/deny,allow warning to mod_access
Status:
PR#2512: <IfDenied> directive wanted
Status:
* mod_auth-any
PR#557: ~UserHome directories are not honored in absolute pathname
requests (.htaccess)
Status:
PR#1117: Using NIS passwd.byname dbm files with AuthDBMUserFile
Status:
PR#1809: Suggestion for improving authentication modules and core source
code, problem with 401 and ErrorDocument
Status:
* mod_autoindex
PR#1263: Add frame-safe anchor attribute to mod_autoindex links
Status:
* mod_cgi (and suexec)
PR#921: suexec Uses cwd before filling it in, doesn't use syslog
Status:
PR#1176: Apache cannot handle continuation line in headers
Status:
PR#1120: suexec does not parse arguments to #exec cmd
Status:
PR#1268: CGI scripts running as Apache user: security (suexec etc.)
Status:
PR#1285: Error messages could be easier to spot in cgi.log file for suexec.c
Status:
PR#1905: suexec - Allow modules to set user:group for execution.
Status:
PR#2360: suexec for general access of user content?
Status:
PR#2460: TimeOut applies to output of CGI scripts
Status:
PR#2573: CGI's for general use still have to be run as another user
with suExec
Status:
PR#4241: Need to be able to override shebang line to make CGI scripts
more portable.
Status:
PR#4490: mod_cgi prevents handling of OPTIONS requests
Status:
* mod_env
PR#370: Modified PATH environemnt variable is not passed, instead
system's is used
Status:
* mod_headers
PR#1383: I make mod_headers to modify request headers as well as
response ones.
Status:
PR#1677: mod_headers should allow mod_log_config-style formats in
header values
Status:
* mod_imap
PR#759: imap should read <MAP><AREA>*</MAP> too!
Status:
* mod_include
PR#78: Additional status for XBitHack directive
Status:
PR#623: A smarter "Last Modified" value for SSI documents (see PR number 600)
Status:
PR#1145: mod_include
Allow for Last-Modified: without resorting to XBitHack
Status:
PR#1803: patches to mod_include to allow for file tests
Status:
PR#4459: Suggestion for better handling of Last-modified headers
Status:
* mod_info
PR#2415: /server-info doesn't check for the virtual host to list the info
Status:
* mod_log-any
PR#1050: Logging of virtual server to error_log as well
Status:
PR#1358: Selective url-encode of log fields (or maybe a pseudo
log_rewrite module?)
Status:
PR#2073: pipelined connections are not logged correctly
Status:
PR#4448: Please allow CGI env variables (QUERY_STRING, ...) to be logged
with %{}e
Status:
* mod_negotiation
PR#3191: no way to set global quality-of-source (qs) coneg values
with multiviews
Status:
* mod_proxy
PR#362: Mod_proxy doesn't allow change of error pages
Status:
PR#440: Proxy doesn't deliver documents if not connected
Status:
PR#534: proxy converts ~name to %7Ename when name starts with a dot (.)
Status:
PR#612: Proxy FTP Authentication Fails
Status:
PR#700: Proxy doesn't do links right for OpenVMS files through ftp:
Status:
PR#980: Controlling Access to Remote Proxies would be nice...
Status:
PR#994: Adding authentication "on the fly" through the proxy module
Status:
PR#1085: ProxyRemote make a dead cycle.
Status:
PR#1166: ``nph-'' not honored (no buffering) for ProxyRemote mapping
Status:
PR#1290: Need to know "hit-rate" on proxy cache
Status:
PR#1532: Proxy transfer logging
Status:
PR#1547: No HTTP_X_FORWARDED_FOR set...
Status:
PR#1567: ProxyRemote proxy requests fail authentication by firewall
Status:
PR#1702: mod_proxy to support persistent conns?
Status:
PR#1878: listing of proxy cache content
Status:
PR#2314: patterns in ProxyRemote
Status:
PR#2648: Cache file names in Proxy module
Status:
PR#3568: Accessing URL through proxy server corrupts data.
Status:
PR#3605: Some anonymous FTP URLs ask for authentication
Status:
* mod_rewrite
PR#1582: mod_rewrite forms REQUEST_URI different than mod_cgi does
Status:
PR#2074: mod_rewrite doesn't pass Proxy Throughput on internal subrequests
Status:
* mod_status
PR#2138: mod_status always displays 256 possible connection slots
Status:
PR#2343: Status module averages are for entire uptime
Status:
* apache-api
PR#1004: request_config field in request_rec is moderately bogus
Status:
PR#1158: improvements to child spawning API
Status:
PR#1233: there is no way to keep per-connection per-module state
Status:
PR#2024: adding auth_why to conn_rec
Status:
PR#2873: Feedback/Comment on APACI
Status:
PR#3143: No module specific data hook for per-connection data
Status:
* generally odds and ends
PR#2431: A small addition to rotatelogs.c to improve program functionality.
Status:
PR#2763: mailto tags and bundling bug report script
Status:
PR#2785: os-aix Support for System Resource Controller
Status:
PR#2889: Inclusion of RPM spec file in CVS/distributions
Status:
PR#5713: os-windows [PATCH] install as win32 service with domain account
Status: Cannot accept password-as-arg, we should prompt the
user when -k install/-k config with a user argument.
Other bugs that need fixing:
* ap_discard_request should be converted to use the bucket API
directly rather than waste cycles copying buffers with the old API.
* MaxRequestsPerChild measures connections, not requests.
Until someone has a better way, we'll probably just rename it
"MaxConnectionsPerChild".
* Regex containers don't work in an intutive way
Status: No one has come up with an efficient way to fix this
behavior. Dean has suggested getting rid of regex containers
completely.
OtherBill suggests: We at least seem to agree on eliminating
the <Container ~ foo> forms, and using only
<ContainerMatch foo> semantics.
* SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
sigwaiting thread. We need to work around this, perhaps unless
there is hope soon for a fixed glibc.
* orig_ct in the byterange/multipart handling may not be
needed. Apache 1.3 just never stashed "multipart" into
r->content_type. We should probably follow suit since the
byterange stuff doesn't want the rest of the code to see the
multipart content-type; the other code should still think it is
dealing with the <orig_ct> stuff.
Status: Greg volunteers to investigate (esp. since he was most
likely the one to break it :-)
Binaries (2.0.39):
Platform Avail. Volunteer
------------------------------------------------------------------
AIX 4.3.3 no Bill Stoddard
Mandrake 8.1 no Ryan Bloom
FreeBSD 4.1 no Ryan Bloom
i386-unknown-freebsd4.5 no Aaron Bannert
powerpc-apple-darwin5.5 yes Aaron Bannert
Solaris 8.x/sparc no Jim Jagielski
i686-pc-linux-gnu yes Aaron Bannert
i386-pc-solaris2.8 yes Aaron Bannert
powerpc-unknown-linux-gnu no Graham Leggett
NetWare no Brad Nicholes
Win32-x86 no William Rowe
OS/2 yes Brian Havard
Other features that need writing:
* Finish infrastructure in core for async MPMs
Status: post 2.0
* TODO in source -- just do an egrep on "TODO" and see what's there
Available Patches:
* Martin Sojka <msojka@gmx.de>'s patch to add error reporting for failed
htpasswd actions due to a full /tmp volume (other programs may have
similar problems?)
PR: 6475
Status:
* Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
performance
Status: These were written for 1.3, and are awaiting a port to
2.0
* Jim Winstead's <jimw@trainedmonkey.com> patch to add CookieDomain and
other small mod_usertrack features
* Dan Rench's <drench@xnet.com> patch to add allow the errmsg and timefmt
of SSI's to be modified in the config file. Patch is available in
PR6193