STATUS revision 19de12b460b45549814b3212712ec303c44e03b5
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgAPACHE 2.1 STATUS: -*-text-*-
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgLast modified at [$Date$]
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgThe current version of this file can be found at:
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * http://svn.apache.org/repos/asf/httpd/httpd/trunk/STATUS
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgDocumentation status is maintained seperately and can be found at:
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * docs/STATUS in this source tree, or
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/STATUS
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgConsult the following STATUS files for information on related projects:
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * http://svn.apache.org/repos/asf/apr/apr/trunk/STATUS
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * http://svn.apache.org/repos/asf/apr/apr-util/trunk/STATUS
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgPatches considered for backport are noted in their branches' STATUS:
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x/STATUS
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x/STATUS
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgRelease history:
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg [NOTE that only Alpha/Beta releases occur in 2.1 development]
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.1.9 : in development
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.1.8 : Released on 1/10/2005 as beta.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.1.7 : Released on 12/09/2005 as beta.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.1.6 : Released on 6/27/2005 as alpha.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.1.5 : Tagged on 6/17/2005.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.1.4 : not released.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.1.3 : Released on 2/22/2005 as alpha.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.1.2 : Released on 12/08/2004 as alpha.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.1.1 : Released on 11/19/2004 as alpha.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.1.0 : not released.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesContributors looking for a mission:
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * Just do an egrep on "TODO" or "XXX" in the source.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Review the bug database at: http://issues.apache.org/bugzilla/
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Review the "PatchAvailable" bugs in the bug database:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2.0&keywords=PatchAvailable
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes After testing, you can append a comment saying "Reviewed and tested".
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Open bugs in the bug database.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesCURRENT RELEASE NOTES:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesRELEASE SHOWSTOPPERS:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Handling of non-trailing / config by non-default handler is broken
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105451701628081&w=2
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes jerenkrantz asks: Why should this block a release?
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes wsanchez agrees: this may be a change in behavior, but isn't
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes clearly wrong, and even if so, it doesn't seem like a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes showstopper.
f300a833b20ab4dee4839f186ebb01a488c59752fuankg * the edge connection filter cannot be removed
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105366252619530&w=2
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes jerenkrantz asks: Why should this block a release?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes stas replies: because it requires a rewrite of the filters stack
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes implementation (you have suggested that) and once 2.2 is
9e64e5fdfddfa4b0aa678180f2d28fe1fb808b5ffuankg released you can't do that anymore.
bfd312b5e6b4bf7113ef8f655b044f93f5c18f28fuankgCURRENT VOTES:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes a) httpd-std.conf should be tailored by install (from src or
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes binbuild) even if user has existing httpd.conf
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: trawick, slive, gregames, ianh, Ken, wrowe, jwoolley, jim, nd,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes wrowe - prefer httpd.default.conf to avoid ambiguity with cvs
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes b) tailored httpd-std.conf should be copied by install to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes c) tailored httpd-std.conf should be installed to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: slive, trawick, Ken, nd (prefer the latter), erikabele
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: wsanchez (propose sysconfdir/examples/<version> for diffiness)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes d) Installing a set of default config files when upgrading a server
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes doesn't make ANY sense at all.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: ianh - medium/big sites don't use 'standard config' anyway, as it
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes usually needs major customizations
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes -1: Ken, wrowe, jwoolley, jim, nd, erikabele
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes wrowe - diff is wonderful when comparing old/new default configs,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes even for customized sites that ianh mentions
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes jim - ... assuming that the default configs have been updated
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes with the required inline docs to explain the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * If the parent process dies, should the remaining child processes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes "gracefully" self-terminate. Or maybe we should make it a runtime
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes option, or have a concept of 2 parent processes (one being a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes "hot spare").
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Self-destruct: Ken, Martin, Lars
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg Not self-destruct: BrianP, Ian, Cliff, BillS
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Make it runtime configurable: Aaron, jim, Justin, wrowe, rederpj, nd
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes /* The below was a concept on *how* to handle the problem */
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Have 2 parents: +1: jim
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes -1: Justin, wrowe, rederpj, nd
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +0: Lars, Martin (while standing by, could it do
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes something useful?)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Make the worker MPM the default MPM for threaded Unix boxes.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: Justin, Ian, Cliff, BillS, striker, wrowe, nd
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +0: BrianP, Aaron (mutex contention is looking better with the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes latest code, let's continue tuning and testing), rederpj, jim
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes pquerna: Do we want to change this for 2.2?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Patches submitted to the bug database:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2.0&keywords=PatchAvailable
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Filter stacks and subrequests, redirects and fast redirects.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes There's at least one PR that suffers from the current unclean behaviour
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (which lets the server send garbage): PR 17629
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes nd says: Every subrequest should get its own filter stack with the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes subreq_core filter as bottom-most. That filter does two things:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - swallow EOS buckets
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - redirect the data stream to the upper request's (rr->main)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes filter chain directly after the subrequest's starting
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Once we have a clean solution, we can try to optimize
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes it, so that the server won't be slow down too much.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * RFC 2616 violations.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg Closed PRs: 15857.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Open PRs: 15852, 15859, 15861, 15864, 15865, 15866, 15868, 15869,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 15870, 16120, 16125, 16126, 16133, 16135, 16136, 16137,
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg 16138, 16139, 16140, 16142, 16518, 16520, 16521,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes jerenkrantz says: need to decide how many we need to backport and/or
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes if these rise to showstopper status.
6c080a25f5991f40225209541c989d7e76c4a39dbnicholes wrowe suggests: it would be nice to see "MUST" v.s. "SHOULD" v.s. "MAY"
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes out of this list, without reviewing them individually.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * There is a bug in how we sort some hooks, at least the pre-config
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes hook. The first time we call the hooks, they are in the correct
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes order, but the second time, we don't sort them correctly. Currently,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the modules/http/config.m4 file has been renamed to
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes modules/http/config2.m4 to work around this problem, it should moved
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes back when this is fixed.
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes OtherBill offers that this is a SERIOUS problem. We do not sort
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes correctly by the ordering arguments passed to the register hook
036436f4f4cdcd76186c0058891216545967043bbnicholes functions. This was proven when I reordered the open_logs hook
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes to attempt to open the error logs prior to the access logs. Possibly
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes the entire sorting code needs to be refactored.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * pipes deadlock on all platforms with limited pipe buffers (e.g. both
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Linux and Win32, as opposed to only Win32 on 1.3). The right solution
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes is either GStein's proposal for a "CGI Brigade", or OtherBill's proposal
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg for "Poll Buckets" for "Polling Filter Chains". Or maybe both :-)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * All handlers should always send content down even if r->header_only
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes is set. If not, it means that the HEAD requests don't generate the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes same headers as a GET which is wrong.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * exec cmd and suexec arg-passing enhancements
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Status: Patches proposed
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <20020526041748.A29148@prodigy.Redbrick.DCU.IE>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (see the "proc.patch" and "suexec-shell.patch" links in this message)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * The 2.0.36 worker MPM graceless shutdown changes work but are
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes a bit clunky on some platforms; eg, on Linux, the loop to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes join each worker thread seems to hang, and the parent ends up
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes killing off the child with SIGKILL. But at least it shuts down.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * --enable-mods-shared="foo1 foo2" is busted on Darwin. Pier
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes posted a patch (Message-ID: <B8DBBE8D.575A%pier@betaversion.org>).
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * We do not properly substitute the prefix-variables in the configuration
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes scripts or generated-configs. (i.e. if sysconfdir is etc,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes httpd-std.conf points to conf.)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * If any request gets through ap_process_request_internal() and is
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes scheduled to be served by the core handler, without a flag that this
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes r->filename was tested by dir/file_walk, we need to 500 at the very
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg end of the ap_process_request_internal() processing so sub_req-esters
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes know this request cannot be run. This provides authors of older
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes modules better compatibility, while still improving the security and
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg robustness of 2.0.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Status: still need to decide where this goes, OtherBill comments...
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg [Deleted comments regarding the ap_run_handler phase, as irrelevant
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes as BillS points out that "common case will be caught in
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes default_handler already (with the r->finfo.filetype == 0 check)"
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes and the issue is detecting this -before- we try to run the req.]
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes gregames says: can this happen somehow without a broken module
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes being involved? If not, why waste cycles trying to defend against
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes potential broken modules? It seems futile.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes wrowe counters: no, it shouldn't happen unless the module is broken.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes But the right answer is to fail the request up-front in dir/file
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes walk if the path was entirely invalid; and we can't do that either
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes UNTIL 2.1 or we break modules that haven't hooked map_to_storage.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes how the Perchild MPM should be re-written. It hasn't worked
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes correctly since filters were added because it wasn't possible to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes get the content that had already been written and the socket at
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the same time. This mode lets us do that, so the MPM can be
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Can a static httpd be built reliably?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <20020207142751.T31582@clove.org>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz removed if possible.
286fed73f9d1474652034465d4048247c6e7341fbnicholes Message-ID: <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
be88e49281c5becee364ab9c6a0576f9b9844e0fbnicholes Jeff wonders if we still care about this. It is no longer an
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes API issue but simply an extra trip through the brigade.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Get perchild to work on platforms other than Linux. This
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes will require a portable mechanism to pass data and file/socket
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz descriptors between vhost child groups. An API was proposed
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz Message-ID: <20020111115006.K1529@clove.org>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Try to get libtool inter-library dependency code working on AIX.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
f7d723f1ad88ed006c6caf4c2c6604b7c59dd172bnicholes Justin says: If we get it working on AIX, we can enable this
f7d723f1ad88ed006c6caf4c2c6604b7c59dd172bnicholes on all platforms and clean up our build system
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Jeff says: I thought I tested a patch for you sometime in
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes January that you were going to commit within a few
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Handling of %2f in URIs. Currently both 1.3 and 2.0
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes completely disallow %2f in the request URI path (see
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ap_unescape_url() in util.c). It's permitted and passed
e961abd49ab1b184b356f63591d37083a5651451bnicholes through in the query string, however. Roy says the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes original reason for disallowing it, from five years ago,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes was to protect CGI scripts that applied PATH_INFO to
5f2aaa2483c4526d7930df4a0e5844c1b7b6c9c0fuankg a filesystem location and which might be tricked by
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ..%2f..%2f(...). We *should* allow path-info of the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes form 'http://foo.com/index.cgi/path/to/path%2finfo'.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Since we've revamped a lot of our processing of path
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes segments, it would be nice to allow this, or at least
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes allow it conditionally with a directive.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes OtherBill adds that %2f as the SECOND character of a multibyte
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes sequence causes the request to fail! This happens notably in
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the ja-jis encoding.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * FreeBSD, threads, and worker MPM. All seems to work fine
4a59e9d628fb857a45d516ad1cdc2a3499427e97fuankg if you only have one worker process with many threads. Add
6f2fa094a76c27135a9825ca9492f9db0a1a3bc9bnicholes a second worker process and the accept lock seems to be
78a20a6e7ad3a0229900ee54c7d11a65f647b663niq lost. This might be an APR issue with how it deals with
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the child_init hook (i.e. the fcntl lock needs to be resynced).
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes More examination and analysis is required.
91f672664302529bb620e3265cccd861661d258cbnicholes Status: Works with FreeBSD 5.3. Does not work in previous versions.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes This has also been reported on Cygwin.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * There is increasing demand from module writers for an API
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes that will allow them to control the server � la apachectl.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Reasons include sole-function servers that need to die if
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes an external dependency (e.g., a database) fails, et cetera.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Perhaps something in the (ever more abused) scoreboard?
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes On the other hand, we already have a pipe that goes between parent
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes and child for graceful shutdown events, along with an API that
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes can be used to send a message down that pipe. In threaded MPMs,
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg it is easy enough to make that one pipe be used for graceful
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes and graceless events, and it is also easy to open that pipe
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes to both parent and child for writing. Then we just need to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes figure out how to do graceless on non-threaded MPMs.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Allow the DocumentRoot directive within <Location > scopes? This
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes by a <Directory /somepath/foo> to become simply
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes and in-your-face.) DocumentRoot unset would be accepted [and would
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes not permit content to be served, only virtual resources such as
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes server-info or server-status.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes This proposed change would _not_ depricate Alias.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes striker: See the thread starting with Message-ID:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes JLEGKKNELMHCJPNMOKHOGEEJFBAA.striker@apache.org.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Win32: Rotatelogs sometimes is not terminated when Apache
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes goes down hard. FirstBill was looking at possibly tracking the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes child's-child processes in the parent process.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes stoddard: Shared scoreboard might offer a good way for the parent
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes to keep track of 'other child' processes and whack them if the child
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Other thoughts on walking the process chain using the NT kernel
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes have also been proposed on APR.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Eliminate unnecessary creation of pipes in mod_cgid
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Combine log_child and piped_log_spawn. Clean up http_log.c.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Common logging API.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Platforms that do not support fork (primarily Win32 and AS/400)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Architect start-up code that avoids initializing all the modules
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes in the parent process on platforms that do not support fork.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * There are still a number of places in the code where we are
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes losing error status (i.e. throwing away the error returned by a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes system call and replacing it with a generic error code)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Mass vhosting version of suEXEC.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * All DBMs suffer from confusion in support/dbmmanage (perl script) since
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the dbmmanage employs the first-matched dbm format. This is not
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes necessarily the library that Apache was built with. Aught to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes rewrite dbmmanage upon installation to bin/ with the proper library
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes for predictable mod_auth_dbm administration.
e76fdcdfb8994ad70776526f50fa013b3e9a6033bnicholes Questions; htdbm exists, time to kill dbmmanage, or does it remain
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes useful as a perl dbm management example? If we keep it,
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes do we address the issue above?
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes * Integrate mod_dav.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg Some additional items remaining:
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg - case_preserved_filename stuff
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (use the new canonical name stuff?)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - find a new home for ap_text(_header)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - is it possible to remove the DAV: namespace stuff from util_xml?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg are a bit wonky. The function should probably be exposed as a utility
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg function (such as ap_translate_url2fs() or ap_validate_fs_url() or
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes something). Another approach would be a new hook phase after
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes "translate" which would allow the module to munge what the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes translation has decided to do.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Status: Greg +1 (volunteers)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Explore use of a post-config hook for the code in http_main.c which
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ap_sort_hooks() [to reduce the logic in main()]
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * read the config tree just once, and process N times (as necessary)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes into a VirtualHost container) to 2.0.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * shift stuff to mod_core.h
25b3aa26ee94824bb1e9ff2631aa1588b37e5f72fuankg * callers of ap_run_create_request() should check the return value
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes for failure (Doug volunteers)
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes * Win32: Get Apache working on Windows 95/98. The following work
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes (at least) needs to be done:
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes - Document warning that OSR2 is required (for Crypt functions, in
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes rand.c, at least.) This could be resolved with an SSL library, or
03ff116275bf4439816b8af6ea3ddabd469f8365fuankg randomization in APR itself.
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes actually works) and add in a splash of Win9x service code.
4883fd339815130dbe680e816ef00256e10b844ffuankg * Fix the worker MPM to use POD to kill child processes instead
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes of ap_os_killpg, regardless of how they should die.
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg * Scoreboard structures could be changed in the future such that
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg proper alignment is not maintained, leading to segfaults on
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg some systems. Cliff posted a patch to deal with this issue but
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg later recanted. See this message to dev@apr.apache.org:
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg Message-ID: <Pine.LNX.4.44.0203011354090.16457-200000@deepthought
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg * APXS either needs to be fixed completely for use when apr is out of tree,
4883fd339815130dbe680e816ef00256e10b844ffuankg or it should drop query mode altogether, and we just grow an
4883fd339815130dbe680e816ef00256e10b844ffuankg httpd-config or similar arrangement.
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes To quote a discussion in STATUS earlier:
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes thommay: this doesn't fix all the problems with apxs and out of
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes tree apr/apr-util, but it's a good start. There's still the
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg query cases; but I'm beginning to think that in these cases
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg the app should be querying ap{r,u}-config directly
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg gstein: agreed. apxs should deprecate the -q flag
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg pquerna: I vote for a httpd-config, and to deprecate the -q flag.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg minfrin: +1 for httpd-config, and to deprecate -q.
f2f3f241c00a7a4bd597e57a19023940e072918abnicholesTODO ISSUES REMAINING IN MOD_SSL:
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes * In order to use a DSO version of mod_ssl we have to link with
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes -lssl and -lcrypto. A workaround is in place right now where the
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes entire EXTRA_LIBS macro is being appended to the objects list, but
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes autoconf function or come up with some other autoconf checks to
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg search for libssl and libcrypto and properly add them to mod_ssl's
bfd312b5e6b4bf7113ef8f655b044f93f5c18f28fuankg * SSL renegotiations in combination with POST request
273e1eccdc9e5b94f1e3e13e3ffca7360b6f461fbnicholes * Port or dispose all code inside #if 0...#endif blocks that remain
bfd312b5e6b4bf7113ef8f655b044f93f5c18f28fuankg from the porting effort.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Do we need SSL_set_read_ahead()?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * the ssl_expr api is NOT THREAD SAFE. race conditions exist:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes -in ssl_expr_comp() if SSLRequire is used in .htaccess
8410c53aaf5e0372a19d5f4d2bc696b9c609ce3cbnicholes (ssl_expr_info is global)
8410c53aaf5e0372a19d5f4d2bc696b9c609ce3cbnicholes -is ssl_expr_eval() if there is an error
bfd312b5e6b4bf7113ef8f655b044f93f5c18f28fuankg (ssl_expr_error is global)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * SSLRequire directive (parsing of) leaks memory
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Diffie-Hellman-Parameters for temporary keys are hardcoded in
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ssl_engine_dh.c, while the comment in ssl_engine_kernel.c says:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes "it is suggested that keys be changed daily or every 500
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes transactions, and more often if possible."
25b3aa26ee94824bb1e9ff2631aa1588b37e5f72fuankg * ssl_var_lookup could be rewritten to be MUCH faster
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * CRL callback should be pluggable
* ssl_engine_pphrase.c needs to be reworked so it is generic enough
-if- we want to cache page fragements). Today, mod_cache/mod_mem_cache
* mod_cache: CacheEnable/CacheDisable should accept regular expressions.
* mod_mem_cache/mod_disk_cache: Need to be able to query cache
* orig_ct in the byterange/multipart handling may not be