STATUS revision 820e91baab4f9a45001d668698d2fae3501cb4b0
f743002678eb67b99bbc29fee116b65d9530fec0wroweAPACHE 2.3 STATUS: -*-text-*-
80833bb9a1bf25dcf19e814438a4b311d2e1f4cffuankgLast modified at [$Date$]
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluemThe current version of this file can be found at:
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem * http://svn.apache.org/repos/asf/httpd/httpd/trunk/STATUS
42a8abda4b0bc756bc72fb178a2d1553a8d4489dylavic
42a8abda4b0bc756bc72fb178a2d1553a8d4489dylavicDocumentation status is maintained seperately and can be found at:
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem
06b8f183140c8e02e0974e938a05078b511d1603covener * docs/STATUS in this source tree, or
06b8f183140c8e02e0974e938a05078b511d1603covener * http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/STATUS
06b8f183140c8e02e0974e938a05078b511d1603covener
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluemConsult the following STATUS files for information on related projects:
259878293a997ff49f5ddfc53d3739cbdc25444ecovener
259878293a997ff49f5ddfc53d3739cbdc25444ecovener * http://svn.apache.org/repos/asf/apr/apr/trunk/STATUS
259878293a997ff49f5ddfc53d3739cbdc25444ecovener * http://svn.apache.org/repos/asf/apr/apr-util/trunk/STATUS
259878293a997ff49f5ddfc53d3739cbdc25444ecovener
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluemPatches considered for backport are noted in their branches' STATUS:
3de33669d2bd0862b25ac686f8f154c25b775ebbtrawick
3de33669d2bd0862b25ac686f8f154c25b775ebbtrawick * http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x/STATUS
3de33669d2bd0862b25ac686f8f154c25b775ebbtrawick * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x/STATUS
504e825ce06ccae8d0a3640a52a79f6a3b38ac04trawick * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x/STATUS
504e825ce06ccae8d0a3640a52a79f6a3b38ac04trawick
bb6412ca241e73336374d5f04e56ff01ac880b57ylavic
42a8abda4b0bc756bc72fb178a2d1553a8d4489dylavicRelease history:
bb6412ca241e73336374d5f04e56ff01ac880b57ylavic [NOTE that x.{odd}.z versions are strictly Alpha/Beta releases,
d17bebbb5c628fb8e232a171fd51e3d066052fc4ylavic while x.{even}.z versions are Stable/GA releases.]
42a8abda4b0bc756bc72fb178a2d1553a8d4489dylavic
d17bebbb5c628fb8e232a171fd51e3d066052fc4ylavic 2.3.6 : In development
c322925cadc8258ece6d8262d1811118ca5ff9b1ylavic 2.3.5 : Released on January 26, 2010.
c322925cadc8258ece6d8262d1811118ca5ff9b1ylavic 2.3.4 : Released on December 8, 2009.
c322925cadc8258ece6d8262d1811118ca5ff9b1ylavic 2.3.3 : Tagged on November 11, 2009, not released.
c322925cadc8258ece6d8262d1811118ca5ff9b1ylavic 2.3.2 : Tagged on March 23, 2009, not released.
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin 2.3.1 : Tagged on January 2, 2009, not released.
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin 2.3.0 : Tagged on December 6, 2008, not released.
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin
65967d05f839dbf27cf91d91fa79585eeae19660minfrinContributors looking for a mission:
65967d05f839dbf27cf91d91fa79585eeae19660minfrin
65967d05f839dbf27cf91d91fa79585eeae19660minfrin * Just do an egrep on "TODO" or "XXX" in the source.
65967d05f839dbf27cf91d91fa79585eeae19660minfrin
8152945ae46857b170cb227e79bb799f4fc7710dminfrin * Review the bug database at: http://issues.apache.org/bugzilla/
8152945ae46857b170cb227e79bb799f4fc7710dminfrin
8152945ae46857b170cb227e79bb799f4fc7710dminfrin * Review the "PatchAvailable" bugs in the bug database:
8152945ae46857b170cb227e79bb799f4fc7710dminfrin
75f5c2db254c0167a0e396254460de09b775d203trawick https://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2&keywords=PatchAvailable
75f5c2db254c0167a0e396254460de09b775d203trawick
75f5c2db254c0167a0e396254460de09b775d203trawick After testing, you can append a comment saying "Reviewed and tested".
11f1871b90149f8af3bf4e884dcc404436686967ylavic
11f1871b90149f8af3bf4e884dcc404436686967ylavic * Open bugs in the bug database.
11f1871b90149f8af3bf4e884dcc404436686967ylavic
11f1871b90149f8af3bf4e884dcc404436686967ylavic
11aca81b7631c2d33b1fc87741e6be5559c913e9ylavicCURRENT RELEASE NOTES:
11aca81b7631c2d33b1fc87741e6be5559c913e9ylavic
11aca81b7631c2d33b1fc87741e6be5559c913e9ylavic
11aca81b7631c2d33b1fc87741e6be5559c913e9ylavicRELEASE SHOWSTOPPERS:
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph FOR GA:
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick FOR BETA:
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick * Modules without documentation need to be moved to experimental or be
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick removed.
54d750a84a175d8e338880514d440773eb986b50covener
54d750a84a175d8e338880514d440773eb986b50covener * There is no working equivalent to 'Satisfy any' to authorize by
54d750a84a175d8e338880514d440773eb986b50covener user _or_ IP address:
54d750a84a175d8e338880514d440773eb986b50covener http://mail-archives.apache.org/mod_mbox/httpd-dev/200912.mbox/<4B28E73C.4050209%40kippdata.de>
54d750a84a175d8e338880514d440773eb986b50covener
54d750a84a175d8e338880514d440773eb986b50covener * Not all MPMs are updated to set conn_rec::current_thread correctly.
54d750a84a175d8e338880514d440773eb986b50covener (Prefork, Worker, Event, Simple are updated).
54d750a84a175d8e338880514d440773eb986b50covener
7a3aa12f0eda24793ee26d6a179bd53132e9dae8covener * Running the log_transaction hook from pool cleanup is fubar:
54d750a84a175d8e338880514d440773eb986b50covener
54d750a84a175d8e338880514d440773eb986b50covener http://marc.info/?l=apache-httpd-dev&m=123910381908293&w=1
83b50288fa7d306324bba68832011ea08f5c7832covener
4e30ef014533a7e93c92d88306291f5e49c9692ftrawick FOR NEXT ALPHA:
83b50288fa7d306324bba68832011ea08f5c7832covener
ac95effcd4bcdf02e41becbec4e9f2d3c577e7fdcovener
ac95effcd4bcdf02e41becbec4e9f2d3c577e7fdcovener OLD ISSUES THAT WERE THOUGHT TO BE SHOWSTOPPERS FOR 2.2 BUT OBVIOUSLY WEREN'T:
ac95effcd4bcdf02e41becbec4e9f2d3c577e7fdcovener
ac95effcd4bcdf02e41becbec4e9f2d3c577e7fdcovener * Handling of non-trailing / config by non-default handler is broken
f628b0e7cb9bf51de44af6b4355bc520fda84f4ecovener http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105451701628081&w=2
f628b0e7cb9bf51de44af6b4355bc520fda84f4ecovener jerenkrantz asks: Why should this block a release?
f628b0e7cb9bf51de44af6b4355bc520fda84f4ecovener wsanchez agrees: this may be a change in behavior, but isn't
f628b0e7cb9bf51de44af6b4355bc520fda84f4ecovener clearly wrong, and even if so, it doesn't seem like a
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick showstopper.
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick * the edge connection filter cannot be removed
2e15620d724fb8e3a5be183b917359a2fd6e9468covener http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105366252619530&w=2
2e15620d724fb8e3a5be183b917359a2fd6e9468covener
2e15620d724fb8e3a5be183b917359a2fd6e9468covener jerenkrantz asks: Why should this block a release?
2e15620d724fb8e3a5be183b917359a2fd6e9468covener
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener stas replies: because it requires a rewrite of the filters stack
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener implementation (you have suggested that) and once 2.2 is
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener released you can't do that anymore.
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovener pgollucci: this affects mod_perl I'm pretty sure.
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovener
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovenerCURRENT VOTES:
c12b284247f00b5696adabb0b855ce0669465764ylavic
c12b284247f00b5696adabb0b855ce0669465764ylavic * If the parent process dies, should the remaining child processes
c12b284247f00b5696adabb0b855ce0669465764ylavic "gracefully" self-terminate. Or maybe we should make it a runtime
c12b284247f00b5696adabb0b855ce0669465764ylavic option, or have a concept of 2 parent processes (one being a
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd "hot spare").
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd
179565be4043d7e5f9161aa75271fa0a001866d9covener Self-destruct: Ken, Martin, Lars
179565be4043d7e5f9161aa75271fa0a001866d9covener Not self-destruct: BrianP, Ian, Cliff, BillS
179565be4043d7e5f9161aa75271fa0a001866d9covener Make it runtime configurable: Aaron, jim, Justin, wrowe, rederpj, nd, pgollucci
111436a32ba1254291e4883292fb116d15fe8f64covener
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener /* The below was a concept on *how* to handle the problem */
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener Have 2 parents: +1: jim
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener -1: Justin, wrowe, rederpj, nd, pgollucci
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener +0: Lars, Martin (while standing by, could it do
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick something useful?)
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick * Make the worker MPM the default MPM for threaded Unix boxes.
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz +1: Justin, Ian, Cliff, BillS, striker, wrowe, nd, pgollucci
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz +0: BrianP, Aaron (mutex contention is looking better with the
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz latest code, let's continue tuning and testing), rederpj, jim
d522f82d7ada07a0cedb8dc6b71eacf3477d7188trawick -0: Lars
d522f82d7ada07a0cedb8dc6b71eacf3477d7188trawick
d522f82d7ada07a0cedb8dc6b71eacf3477d7188trawick pquerna: Do we want to change this for *2.4*?
1e1539a1e7d64b1af92636b81aac5aa50ee3163bminfrin wrowe: Replies "yes"
1e1539a1e7d64b1af92636b81aac5aa50ee3163bminfrin
1e1539a1e7d64b1af92636b81aac5aa50ee3163bminfrin * Name the Server (version 2.4 or 3.0, depending on the final call)
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza Recent discussion indicates we should designate a (short name).
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza This is not yet a [Vote] - Your nominations please:
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza * Apache HTTP Server (httpd)
efe780dcf13b2b95effabf897d694d8f23feac74trawick
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrinRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrin
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrin * Patches submitted to the bug database:
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2&keywords=PatchAvailable
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza * Filter stacks and subrequests, redirects and fast redirects.
ba050a6f942b9fa0e81ed73437588005c569655ccovener There's at least one PR that suffers from the current unclean behaviour
ba050a6f942b9fa0e81ed73437588005c569655ccovener (which lets the server send garbage): PR 17629
ba050a6f942b9fa0e81ed73437588005c569655ccovener nd says: Every subrequest should get its own filter stack with the
ba050a6f942b9fa0e81ed73437588005c569655ccovener subreq_core filter as bottom-most. That filter does two things:
ba050a6f942b9fa0e81ed73437588005c569655ccovener - swallow EOS buckets
ba050a6f942b9fa0e81ed73437588005c569655ccovener - redirect the data stream to the upper request's (rr->main)
ba050a6f942b9fa0e81ed73437588005c569655ccovener filter chain directly after the subrequest's starting
135ddda3a989215d2bedbcf1529bfb269c3eda23niq point.
135ddda3a989215d2bedbcf1529bfb269c3eda23niq Once we have a clean solution, we can try to optimize
135ddda3a989215d2bedbcf1529bfb269c3eda23niq it, so that the server won't be slow down too much.
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh * RFC 2616 violations.
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh Closed PRs: 15857.
efe780dcf13b2b95effabf897d694d8f23feac74trawick Open PRs: 15852, 15859, 15861, 15864, 15865, 15866, 15868, 15869,
793214f67dede32edfd9ee96c664ead04d175cbbjfclere 15870, 16120, 16125, 16126, 16133, 16135, 16136, 16137,
cc5a4a08dc9783fcbc52ce86f11e01c281a43810minfrin 16138, 16139, 16140, 16142, 16518, 16520, 16521,
33124689065ade0dfc8c54d8ebb734f9439cb89btrawick jerenkrantz says: need to decide how many we need to backport and/or
33124689065ade0dfc8c54d8ebb734f9439cb89btrawick if these rise to showstopper status.
33124689065ade0dfc8c54d8ebb734f9439cb89btrawick wrowe suggests: it would be nice to see "MUST" v.s. "SHOULD" v.s. "MAY"
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovener out of this list, without reviewing them individually.
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovener
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovener * There is a bug in how we sort some hooks, at least the pre-config
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza hook. The first time we call the hooks, they are in the correct
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza order, but the second time, we don't sort them correctly. Currently,
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza the modules/http/config.m4 file has been renamed to
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza modules/http/config2.m4 to work around this problem, it should moved
56589be3d7a3e9343370df240010c6928cc78b39jkaluza back when this is fixed.
56589be3d7a3e9343370df240010c6928cc78b39jkaluza
56589be3d7a3e9343370df240010c6928cc78b39jkaluza OtherBill offers that this is a SERIOUS problem. We do not sort
652bacc79dd7f980249784cc8c4838e8f1de7e8acovener correctly by the ordering arguments passed to the register hook
652bacc79dd7f980249784cc8c4838e8f1de7e8acovener functions. This was proven when I reordered the open_logs hook
652bacc79dd7f980249784cc8c4838e8f1de7e8acovener to attempt to open the error logs prior to the access logs. Possibly
652bacc79dd7f980249784cc8c4838e8f1de7e8acovener the entire sorting code needs to be refactored.
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc * pipes deadlock on all platforms with limited pipe buffers (e.g. both
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc Linux and Win32, as opposed to only Win32 on 1.3). The right solution
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc is either GStein's proposal for a "CGI Brigade", or OtherBill's proposal
f87299dab99bc04b51a6b8cad51b6795db862c0atrawick for "Poll Buckets" for "Polling Filter Chains". Or maybe both :-)
f87299dab99bc04b51a6b8cad51b6795db862c0atrawick
f87299dab99bc04b51a6b8cad51b6795db862c0atrawick * All handlers should always send content down even if r->header_only
4d12805e6c18253040223ea637acd6b3b3c18f60jorton is set. If not, it means that the HEAD requests don't generate the
4d12805e6c18253040223ea637acd6b3b3c18f60jorton same headers as a GET which is wrong.
4d12805e6c18253040223ea637acd6b3b3c18f60jorton
4d12805e6c18253040223ea637acd6b3b3c18f60jorton * exec cmd and suexec arg-passing enhancements
4d12805e6c18253040223ea637acd6b3b3c18f60jorton Status: Patches proposed
e5d909f2b06bd880fb3675cd49363df981caa631trawick Message-ID: <20020526041748.A29148@prodigy.Redbrick.DCU.IE>
a4df2cd1e1391575a327c2a90ba4315f805a0a78covener (see the "proc.patch" and "suexec-shell.patch" links in this message)
a4df2cd1e1391575a327c2a90ba4315f805a0a78covener
a4df2cd1e1391575a327c2a90ba4315f805a0a78covener * The 2.0.36 worker MPM graceless shutdown changes work but are
cb666b29f81df1d11d65002250153353568021fccovener a bit clunky on some platforms; eg, on Linux, the loop to
cb666b29f81df1d11d65002250153353568021fccovener join each worker thread seems to hang, and the parent ends up
cb666b29f81df1d11d65002250153353568021fccovener killing off the child with SIGKILL. But at least it shuts down.
6a80c3c6f4b8ea7ba5e89402b8b779b09ce020e0covener
1c2cab00d988fc48cbe59032cf76cc0bab20d6f7covener chrisd: Has this been fixed by the changes for PR 38737?
6a80c3c6f4b8ea7ba5e89402b8b779b09ce020e0covener
75a230a728338d84dcfe81edd375352f34de22d0covener * We do not properly substitute the prefix-variables in the configuration
75a230a728338d84dcfe81edd375352f34de22d0covener scripts or generated-configs. (i.e. if sysconfdir is etc,
75a230a728338d84dcfe81edd375352f34de22d0covener httpd-std.conf points to conf.)
1f50dc34ae069adeed20b2986e5ffdefa5c410e0covener
1f50dc34ae069adeed20b2986e5ffdefa5c410e0covener * If any request gets through ap_process_request_internal() and is
1f50dc34ae069adeed20b2986e5ffdefa5c410e0covener scheduled to be served by the core handler, without a flag that this
63a5ea80bddcc84a462e40f402b4f330e0e05411covener r->filename was tested by dir/file_walk, we need to 500 at the very
63a5ea80bddcc84a462e40f402b4f330e0e05411covener end of the ap_process_request_internal() processing so sub_req-esters
63a5ea80bddcc84a462e40f402b4f330e0e05411covener know this request cannot be run. This provides authors of older
63a5ea80bddcc84a462e40f402b4f330e0e05411covener modules better compatibility, while still improving the security and
986f3ea2c314d4d4b3b937149853a0f23f6119aaminfrin robustness of 2.0.
986f3ea2c314d4d4b3b937149853a0f23f6119aaminfrin
986f3ea2c314d4d4b3b937149853a0f23f6119aaminfrin Status: still need to decide where this goes, OtherBill comments...
65a4e663b82f8bce28ac22ab2edfd7502de36998sf Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
65a4e663b82f8bce28ac22ab2edfd7502de36998sf [Deleted comments regarding the ap_run_handler phase, as irrelevant
65a4e663b82f8bce28ac22ab2edfd7502de36998sf as BillS points out that "common case will be caught in
65a4e663b82f8bce28ac22ab2edfd7502de36998sf default_handler already (with the r->finfo.filetype == 0 check)"
c7de1955eb0eaeabf7042902476397692672d549sf and the issue is detecting this -before- we try to run the req.]
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrin
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrin gregames says: can this happen somehow without a broken module
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrin being involved? If not, why waste cycles trying to defend against
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrin potential broken modules? It seems futile.
a511a29faf2ff7ead3b67680154a624effb31aafminfrin wrowe counters: no, it shouldn't happen unless the module is broken.
a511a29faf2ff7ead3b67680154a624effb31aafminfrin But the right answer is to fail the request up-front in dir/file
a511a29faf2ff7ead3b67680154a624effb31aafminfrin walk if the path was entirely invalid; and we can't do that either
a511a29faf2ff7ead3b67680154a624effb31aafminfrin UNTIL 2.1 or we break modules that haven't hooked map_to_storage.
a511a29faf2ff7ead3b67680154a624effb31aafminfrin
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrin * Can a static httpd be built reliably?
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrin Message-ID: <20020207142751.T31582@clove.org>
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrin
deec48c67d4786bc77112ffbf3a4e70b931097edminfrin * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrin removed if possible.
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrin Message-ID:
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrin <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrin Jeff wonders if we still care about this. It is no longer an
4c02bab56a528a180bbe394d8b6e6fd9c1a3ac1esf API issue but simply an extra trip through the brigade.
4c02bab56a528a180bbe394d8b6e6fd9c1a3ac1esf
4c02bab56a528a180bbe394d8b6e6fd9c1a3ac1esf * Try to get libtool inter-library dependency code working on AIX.
4c02bab56a528a180bbe394d8b6e6fd9c1a3ac1esf Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
2c487ac43b583db869e743772a7a10b278aa2bcfminfrin
684e0cfc200f66287a93bbd1708d1dd8a92a7eefcovener Justin says: If we get it working on AIX, we can enable this
684e0cfc200f66287a93bbd1708d1dd8a92a7eefcovener on all platforms and clean up our build system somewhat.
5c43d2fb853f84497b5ece2d414ef9484aa87e5fsf Jeff says: I thought I tested a patch for you sometime in
05a5a9c3e16f21566e1b61f4bd68025ce1b741ccjoes January that you were going to commit within a few days.
05a5a9c3e16f21566e1b61f4bd68025ce1b741ccjoes
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq * Handling of %2f in URIs. Currently both 1.3 and 2.0
26c5829347f6a355c00f1ba0301d575056b69536niq completely disallow %2f in the request URI path (see
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq ap_unescape_url() in util.c). It's permitted and passed
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq through in the query string, however. Roy says the
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq original reason for disallowing it, from five years ago,
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq was to protect CGI scripts that applied PATH_INFO to
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq a filesystem location and which might be tricked by
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq ..%2f..%2f(...). We *should* allow path-info of the
413ee814748f37be168ff12407fa6dba0ceeabe6trawick form 'http://foo.com/index.cgi/path/to/path%2finfo'.
c12917da693bae4028a1d5a5e8224bceed8c739dsf Since we've revamped a lot of our processing of path
c12917da693bae4028a1d5a5e8224bceed8c739dsf segments, it would be nice to allow this, or at least
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf allow it conditionally with a directive.
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf OtherBill adds that %2f as the SECOND character of a multibyte
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf sequence causes the request to fail! This happens notably in
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf the ja-jis encoding.
d7ffd2da16d58b1a0de212e4d56f7aebb72bef26sf
d7ffd2da16d58b1a0de212e4d56f7aebb72bef26sf * There is increasing demand from module writers for an API
d7ffd2da16d58b1a0de212e4d56f7aebb72bef26sf that will allow them to control the server � la apachectl.
4576c1a9ef54cd1e5555ee07d016a7f559f80338sf Reasons include sole-function servers that need to die if
4576c1a9ef54cd1e5555ee07d016a7f559f80338sf an external dependency (e.g., a database) fails, et cetera.
4576c1a9ef54cd1e5555ee07d016a7f559f80338sf Perhaps something in the (ever more abused) scoreboard?
9811aed12bbc71783d2e544ccb5fecd193843eadsf
9811aed12bbc71783d2e544ccb5fecd193843eadsf On the other hand, we already have a pipe that goes between parent
9811aed12bbc71783d2e544ccb5fecd193843eadsf and child for graceful shutdown events, along with an API that
88fac54d9d64f85bbdab5d7010816f4377f95bd7rjung can be used to send a message down that pipe. In threaded MPMs,
88fac54d9d64f85bbdab5d7010816f4377f95bd7rjung it is easy enough to make that one pipe be used for graceful
bd3f5647b96d378d9c75c954e3f13582af32c643sf and graceless events, and it is also easy to open that pipe
bd3f5647b96d378d9c75c954e3f13582af32c643sf to both parent and child for writing. Then we just need to
bd3f5647b96d378d9c75c954e3f13582af32c643sf figure out how to do graceless on non-threaded MPMs.
bd3f5647b96d378d9c75c954e3f13582af32c643sf
bd3f5647b96d378d9c75c954e3f13582af32c643sf * Allow the DocumentRoot directive within <Location > scopes? This
2a7beea91d46beb41f043a84eaad060047ee04aafabien allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
2a7beea91d46beb41f043a84eaad060047ee04aafabien by a <Directory /somepath/foo> to become simply
2a7beea91d46beb41f043a84eaad060047ee04aafabien <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
2a7beea91d46beb41f043a84eaad060047ee04aafabien and in-your-face.) DocumentRoot unset would be accepted [and would
584a85dd4047e38d3ed3a29b6662fcc9d100ae4csf not permit content to be served, only virtual resources such as
584a85dd4047e38d3ed3a29b6662fcc9d100ae4csf server-info or server-status.
584a85dd4047e38d3ed3a29b6662fcc9d100ae4csf This proposed change would _not_ depricate Alias.
f21e9e3d0bfb7a507ecc5bc963f2159d693503d1sf striker: See the thread starting with Message-ID:
f21e9e3d0bfb7a507ecc5bc963f2159d693503d1sf JLEGKKNELMHCJPNMOKHOGEEJFBAA.striker@apache.org.
f21e9e3d0bfb7a507ecc5bc963f2159d693503d1sf
f6b9c755a0b793e8a3a3aebd327ca20a86478117sf * Win32: Rotatelogs sometimes is not terminated when Apache
f6b9c755a0b793e8a3a3aebd327ca20a86478117sf goes down hard. FirstBill was looking at possibly tracking the
f6b9c755a0b793e8a3a3aebd327ca20a86478117sf child's-child processes in the parent process.
132ee6ac1c26d6e8953836316ba50734eefab47bsf stoddard: Shared scoreboard might offer a good way for the parent
132ee6ac1c26d6e8953836316ba50734eefab47bsf to keep track of 'other child' processes and whack them if the child
132ee6ac1c26d6e8953836316ba50734eefab47bsf goes down.
85eacfc96a04547ef25aabbc06440039715084c2jorton Other thoughts on walking the process chain using the NT kernel
85eacfc96a04547ef25aabbc06440039715084c2jorton have also been proposed on APR.
85eacfc96a04547ef25aabbc06440039715084c2jorton
536d2e7cd1fdec1255b8c3bdf41fdc714c506a54trawick * Eliminate unnecessary creation of pipes in mod_cgid
536d2e7cd1fdec1255b8c3bdf41fdc714c506a54trawick
536d2e7cd1fdec1255b8c3bdf41fdc714c506a54trawick * Combine log_child and piped_log_spawn. Clean up http_log.c.
536d2e7cd1fdec1255b8c3bdf41fdc714c506a54trawick Common logging API.
79c5787b92ac5f0e1cc82393816c77a006399316trawick
79c5787b92ac5f0e1cc82393816c77a006399316trawick * Platforms that do not support fork (primarily Win32 and AS/400)
79c5787b92ac5f0e1cc82393816c77a006399316trawick Architect start-up code that avoids initializing all the modules
79c5787b92ac5f0e1cc82393816c77a006399316trawick in the parent process on platforms that do not support fork.
c967bf3bc89e8aa60dbd30d9da388e448ddc1cc4trawick
79c5787b92ac5f0e1cc82393816c77a006399316trawick * There are still a number of places in the code where we are
79c5787b92ac5f0e1cc82393816c77a006399316trawick losing error status (i.e. throwing away the error returned by a
79c5787b92ac5f0e1cc82393816c77a006399316trawick system call and replacing it with a generic error code)
79c5787b92ac5f0e1cc82393816c77a006399316trawick
79c5787b92ac5f0e1cc82393816c77a006399316trawick * Mass vhosting version of suEXEC.
7b395e4e878c28a4784919cfd2e704ddd14a3390jorton
7b395e4e878c28a4784919cfd2e704ddd14a3390jorton * All DBMs suffer from confusion in support/dbmmanage (perl script) since
7b395e4e878c28a4784919cfd2e704ddd14a3390jorton the dbmmanage employs the first-matched dbm format. This is not
7b395e4e878c28a4784919cfd2e704ddd14a3390jorton necessarily the library that Apache was built with. Aught to
536e48c08d674acac5d44929318f2ad928edc361jorton rewrite dbmmanage upon installation to bin/ with the proper library
536e48c08d674acac5d44929318f2ad928edc361jorton for predictable mod_auth_dbm administration.
e81785da447b469da66f218b3f0244aab507958djorton Questions; htdbm exists, time to kill dbmmanage, or does it remain
e81785da447b469da66f218b3f0244aab507958djorton useful as a perl dbm management example? If we keep it,
3e4e54d4e3fc0123c63d57aa84ac7ad7a8c73ff8jorton do we address the issue above?
3e4e54d4e3fc0123c63d57aa84ac7ad7a8c73ff8jorton
3e4e54d4e3fc0123c63d57aa84ac7ad7a8c73ff8jorton * Integrate mod_dav.
53e9b27aba029b18be814df40bcf6f0428771d1efuankg Some additional items remaining:
53e9b27aba029b18be814df40bcf6f0428771d1efuankg - case_preserved_filename stuff
53e9b27aba029b18be814df40bcf6f0428771d1efuankg (use the new canonical name stuff?)
53e9b27aba029b18be814df40bcf6f0428771d1efuankg - find a new home for ap_text(_header)
53e9b27aba029b18be814df40bcf6f0428771d1efuankg - is it possible to remove the DAV: namespace stuff from util_xml?
6bb524f1895f30265a1431afc460977d391cb36bsf
6bb524f1895f30265a1431afc460977d391cb36bsf * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
ca61ccd0c306c2c72df153688ba1b49f3eceed80sf are a bit wonky. The function should probably be exposed as a utility
6bb524f1895f30265a1431afc460977d391cb36bsf function (such as ap_translate_url2fs() or ap_validate_fs_url() or
e6dd71992459d05a676b98b7963423dc5dc1e24aminfrin something). Another approach would be a new hook phase after
e6dd71992459d05a676b98b7963423dc5dc1e24aminfrin "translate" which would allow the module to munge what the
e6dd71992459d05a676b98b7963423dc5dc1e24aminfrin translation has decided to do.
e6dd71992459d05a676b98b7963423dc5dc1e24aminfrin Status: Greg +1 (volunteers)
23f1535d6a60817d2846bac0aea230ea475d7dccminfrin
23f1535d6a60817d2846bac0aea230ea475d7dccminfrin * Explore use of a post-config hook for the code in http_main.c which
23f1535d6a60817d2846bac0aea230ea475d7dccminfrin calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
23f1535d6a60817d2846bac0aea230ea475d7dccminfrin ap_sort_hooks() [to reduce the logic in main()]
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung * read the config tree just once, and process N times (as necessary)
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung into a VirtualHost container) to 2.0.
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung
6249dfa569d3b4f1f539665b979a80c6e335d93etrawick * shift stuff to mod_core.h
6249dfa569d3b4f1f539665b979a80c6e335d93etrawick
0827cb14e550f6f65018431c22c2c913631c8f25kbrand * callers of ap_run_create_request() should check the return value
6249dfa569d3b4f1f539665b979a80c6e335d93etrawick for failure (Doug volunteers)
ae600ca541efc686b34f8b1f21bd3d0741d37674covener
6249dfa569d3b4f1f539665b979a80c6e335d93etrawick * Fix the worker MPM to use POD to kill child processes instead
cfa64348224b66dd1c9979b809406c4d15b1c137fielding of ap_os_killpg, regardless of how they should die.
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim
cfa64348224b66dd1c9979b809406c4d15b1c137fielding chrisd: Is this done, by any chance? See r92598 and r93358.
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim
cfa64348224b66dd1c9979b809406c4d15b1c137fielding * Scoreboard structures could be changed in the future such that
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim proper alignment is not maintained, leading to segfaults on
cfa64348224b66dd1c9979b809406c4d15b1c137fielding some systems. Cliff posted a patch to deal with this issue but
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim later recanted. See this message to dev@apr.apache.org:
cfa64348224b66dd1c9979b809406c4d15b1c137fielding Message-ID:
<Pine.LNX.4.44.0203011354090.16457-200000@deepthought.cs.virginia.edu>
* APXS either needs to be fixed completely for use when apr is out of tree,
or it should drop query mode altogether, and we just grow an
httpd-config or similar arrangement.
To quote a discussion in STATUS earlier:
thommay: this doesn't fix all the problems with apxs and out of
tree apr/apr-util, but it's a good start. There's still the
query cases; but I'm beginning to think that in these cases
the app should be querying ap{r,u}-config directly
deprecate -q: add htpd-config: gstein, pquerna, minfrin, pgollucci
other:
TODO ISSUES REMAINING IN MOD_SSL:
* Do we need SSL_set_read_ahead()?
* the ssl_expr api is NOT THREAD SAFE. race conditions exist:
-in ssl_expr_comp() if SSLRequire is used in .htaccess
(ssl_expr_info is global)
-is ssl_expr_eval() if there is an error
(ssl_expr_error is global)
* SSLRequire directive (parsing of) leaks memory
* Diffie-Hellman-Parameters for temporary keys are hardcoded in
ssl_engine_dh.c, while the comment in ssl_engine_kernel.c says:
"it is suggested that keys be changed daily or every 500
transactions, and more often if possible."
* ssl_var_lookup could be rewritten to be MUCH faster
* CRL callback should be pluggable
* session cache store should be pluggable
* init functions should return status code rather than ssl_die()
* ssl_engine_pphrase.c needs to be reworked so it is generic enough
to also decrypt proxy keys
* output warning when allowing SSL v2.0 ? its so old
WISH LIST
* mod_proxy: Ability to run SSL over proxy gateway connections,
encrypting (or reencrypting) at the proxy.
* mod_cache: Handle ESI tags.
* mod_cache: Resolve issue of how to cache page fragments (or perhaps
-if- we want to cache page fragments). Today, mod_cache/mod_mem_cache
will cache #include 'virtual' requests (but not #include 'file'
requests). This was accomplished by making CACHE_IN a
CONTENT_SET-1 filter to force it to run before the SUBREQ_CORE
filter. But now responses cannot be cached that include the
effects of having been run through CONTENT_SET filters
(mod_deflate, mod_expires, etc). We could rerun all the
CONTENT_SET filters on the cached response, but this will not
work in all cases. For example, mod_expires relies on installing
the EXPIRATION filter during fixups. Contents served out of
mod_cache (out of the quick_handler) bypass -all- the request
line server hooks (Ryan really hated this. It is great for
performance, but bad because of the complications listed above).
mod_cache/mod_mem_cache/mod_disk_cache:
* mod_mem_cache: Consider adding a RevalidateTimeout directive to
specify time at which local cached content is to be revalidated
(ie, underlying file stat'ed to see if it has changed).
* mod_cache: CacheEnable/CacheDisable should accept regular expressions.
jerenkrantz says: Too slow. Get regexs away from speedy caches by
default. Introduce a new CacheEnableRegex if you want.
* mod_mem_cache/mod_disk_cache: Need to be able to query cache
status (num of entries, cache object properties, etc.).
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?
jerenkrantz says: Yawn. Who cares.
* 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.
* 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 :-)
EXPERIMENTAL MODULES:
Experimental modules should eventually be be promoted to fully supported
status or removed from the repository entirely (ie, the
'experiment' failed). This section tracks what needs to happen to
get the modules promoted to fully supported status.