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