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