]> granicus.if.org Git - apache/blobdiff - STATUS
de-hungarian-ize server config member names which are going to stay
[apache] / STATUS
diff --git a/STATUS b/STATUS
index 403f753bf51def2e28716cb03d8a6df65a37fd1a..2aecee2a515d9fb56ee5ece7171cff345041efd5 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -1,13 +1,15 @@
 APACHE 2.0 STATUS:                                              -*-text-*-
-Last modified at [$Date: 2002/02/06 22:30:56 $]
+Last modified at [$Date: 2002/03/26 20:35:50 $]
 
 Release:
 
-    2.0.32  : in development
-    2.0.31  : rolled Feburary 1, 2002.
+    2.0.34  : tagged March 26, 2002.
+    2.0.33  : tagged March 6, 2002.  not released.
+    2.0.32  : released Feburary 16, 2002 as beta.
+    2.0.31  : rolled Feburary 1, 2002.  not released.
     2.0.30  : tagged January 8, 2002.  not rolled.
     2.0.29  : tagged November 27, 2001.  not rolled.
-    2.0.28  : released November 13, 2001
+    2.0.28  : released November 13, 2001 as beta.
     2.0.27  : rolled November 6, 2001
     2.0.26  : tagged October 16, 2001.  not rolled.
     2.0.25  : rolled August 29, 2001
@@ -42,161 +44,30 @@ on related projects:
 
 CURRENT RELEASE NOTES:
 
-    * Proposed BETA possibilities
-      31 + fixes for all resolved problems and call it 32 (instead of HEAD)
-        See: http://www.apache.org/~jerenkrantz/httpd-2.0.jre.patch
-        +1: trawick, Justin
-        +0:
-        -1:
-
-    * 31 BETA STATUS:
-        running on Daedalus since  02-Feb-2002 7:58 PST (need 3 days)
-        Compiles on : AIX 4.3, Solaris, FreeBSD 3.4 & 4.5, Win32, 
-                      Linux 2.2 & 2.4, HPUX
-        Broken on: Win32 [no error logging within service, other bugs]
-        for beta
-            +1 : Aaron
-            +0 : Lars, Justin, trawick
-            -0 : OtherBill
-            -1 : BillS, Ian, gregames, BrianP, Jim
-        bumps since original tag:
-            * mod-dir patch
-            * scoreboard x2 : 1 to fix gracefull restarts
-                              1 to fix netware
-            * win32/locks.c : to fix mod_rewrite on win32
-
-        problems with v31:
-            * libtool/binbuild on AIX -- possible addition of patched 
-                    binbuild.sh to 31-beta roll
-                +1: Ian, Justin
-                +0:
-                -1:
-                Jeff says: We can't do anything about libtool since AIX
-                           needs a version that won't work on some
-                           platforms.  Handle this in the README.
-                           The binbuild issue isn't AIX.  It is
-                           something that could happen anywhere that
-                           the binbuild-er has their own expat.
-                           Handle this by patching binbuild.sh for a
-                           beta roll or putting a patch in the README for
-                           use by people who want to do binbuild but
-                           have expat installed locally.
-                gregames:  why can't we roll a second tarball with the
-                           appropriate libtool version?  doesn't
-                           Darwin need it as well as AIX? 
-
-            * erroneous check in an AP_DEBUG_ASSERT() call.  Only happens
-              in maintainer mode.  Fixed in modules/http/http_protocol.c
-              revision 1.391
-
-            * seg faults in core_input_filter when the client goes away
-              before any POST body bytes are received.
-                Jeff committed a fix with server/core.c revision 1.144.
-                Justin committed a fix with server/protocol.c revision 1.78
-                (server/protocol.c revision 1.81 demotes a potentially
-                 annoying error message)
-
-            * FirstBill reports problem [re]starting as-a-service, shared
-              score is suspect.  OtherBill is investigating... has found
-                 . created restart and shutdown events, only restart
-                   survived initialization on XP, although breaking into 
-                   the debugger interferes with reproducing the bug.  
-                   Perhaps in FirstBill's example _restart didn't survive.
-                 . Scoreboard appears irrelevant to the problem.
-                 . This looks like handle corruption in NT/XP
-                 . Args are not initialized correctly when the -k install
-                   is given.
-              OtherBill will not create Win32 binaries due to this bug.
-
-            * mod_auth_dbm can't open a Berkeley DB password file on Unix
-                Justin postulates that this might be related to the fact
-                that mod_auth_dbm wasn't using apr-util.  See
-                modules/aaa/mod_auth_dbm.c revision 1.42 and
-                module/aaa/config.m4 revision 1.54.  Also, FreeBSD's DB
-                variant was not properly detected.  See
-                apr-util/build/apu-conf.m4 revision 1.31 and
-                apr-util/dbm/apr_dbm_berkeleydb.c revision 1.17.
-            
-            * Madhu reports that the worker MPM doesn't shutdown nicely
-              after a stress test.
-
-            * mod_autoindex displays the wrong icon for subdirectories
-              on Unix
-                possible fix in modules/generators/mod_autoindex.c r1.93.
-
-            * anon shared memory not allocating enough 
-                (fix is apr/shm/unix/shm.c 1.14)
+    * 34 status: Let's get all API changes and showstoppers in this one.
+                 Please.
 
 FINAL RELEASE SHOWSTOPPERS:
 
-    * ap_directory_walk skips some per-dir config merge functions
-      if there is no "<Directory />" block in the configuration
-        Message-ID: <m3itbdiijq.fsf@rdu163-40-092.nc.rr.com>
-        * That is very unlikely, merges are additive.  Much more likely,
-          the default SetOutputFilter default or merge is borked.
-          Unless it's the code that permits 'null' merges, per module.
-          Still, it's probably in SetOutputFilter's behavior.
-        * BrianP notes: directory_walk's handling of trailing slashes
-          appears to be the cause: <3C1CF721.1090300@pacbell.net>
-
-    * If any request gets to the core handler, without a flag that this 
-      r->filename was tested by dir/file_walk, we need to 500 at the very 
-      end of the ap_process_request_internal() processing.  This provides
-      authors of older modules better compatibility, while still improving
-      the security and robustness of 2.0. 
-        Status: still need to decide where this goes, OtherBill comments...
-        Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
-        we need to look at halting this in the 'default handler' case,
-        and that implies pushing the 'handler election' into the request
-        internal processing phase from the run request phase.
-
-    * Convert all instances of the old apr_lock_t type to the new
-      types (once they are fully supported in APR).
-        Status: Aaron is working on converting INTRAPROCESS
-                to apr_thread_mutex_t types. Full replacements for
-                LOCKALL and CROSS_PROCESS are not yet complete on all
-                platforms, and should only be used in MPMs like worker
-                with limited OS exposure.
-        BrianP asks: "Is this really a showstopper?"
-        IanH says: "If we don't do it before we go live we will have 2
-                    different API's to support in APR"
-
-    * [Ken] Test suite failures:
-      o worker is also failing some of the 'cgi' subtests
-      (see <URL:http://Source-Zone.Org/Apache/regression/>):
-        Justin says: "Worker should be fine and passes httpd-test here.
-                      If you can provide evidence that it can be reproduced
-                      outside of httpd-test, then it's a showstopper.  I
-                      think it's a perl or a httpd-test problem."
-        Not a showstopper: Justin
+    * API changes planned for 2.0 that should happen before the
+      GA release:
+          * Free lists for bucket allocation
 
-    * [Ken] A binbuild installation picks up the right libraries when
-      running apachectl because we set the appropriate environment
-      variable, but ab, htpasswd, etc. don't know how to pick up apr,
-      apr-util, etc.
-        Message-ID: <20020116000226.GA15991@ebuilt.com>
-        Justin says: "You could always build all of the binaries
-                      statically if you don't want to let libtool
-                      handle it.  At most, I don't consider this a
-                      a release showstopper as it is a packaging issue."
-        Ken sez: "Showstopper because, until it's the default, it
-                 violates the P of LA.  Binaries will give strange
-                 errors and not run if moved."
-        Status: Aaron volunteers: I'll commit a patch to allow all
-                the support binaries to be built statically against
-                libapr/libaprutil/etc and then enable it in binbuild.
-        gregames says: what about httpd?  yeah, it works at the moment
-                       if you use apachectl.  But I've already heard
-                       complaints about not being able to execute 
-                       httpd directly.
+    * We do not properly substitute the prefix-variables in the configuration
+      scripts or generated-configs.  (i.e. if sysconfdir is etc,
+      httpd-std.conf points to conf.)
+        Aaron says: This is not a showstopper, these problems have existed
+                    for as long as I can remember. It would be nice to fix
+                    them but they are not new.
+        Not a showstopper: Jeff, Aaron, BillS, gregames
 
 CURRENT VOTES:
 
-    * Should we always build binaries statically unless otherwise
+    * Should we always build [support*] binaries statically unless otherwise
       indicated?
         Message-ID: <20020129210006.B23512@Lithium.MeepZor.Com>
 
-      +1:  Ken
+      +1:  Ken, *wrowe [they are PITAs on OSX]
       -1:  Justin, Ian
         
     * If the parent process dies, should the remaining child processes
@@ -209,18 +80,76 @@ CURRENT VOTES:
       Not self-destruct: BrianP, Ian, Cliff, BillS
       Make it runtime configurable: Aaron, Jim, Justin
       Have 2 parents: +1: Jim
-                      -1: Justin
+                      -1: Justin, wrowe [for 2.0]
                       +0: Martin (while standing by, could it do
                                   something useful?)
-      look at accept() error handling first: gregames
 
     * Make the worker MPM the default MPM for threaded Unix boxes.
-      +1:   Justin, Jeff, Ian
+      +1:   Justin, Ian, Cliff
       -0:   Aaron (premature decision, needs more discussion), Lars
-      -0:   Cliff (I think the default config should be the safest possible)
 
 RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
 
+    * If any request gets through ap_process_request_internal() and is
+      scheduled to be served by the core handler, without a flag that this 
+      r->filename was tested by dir/file_walk, we need to 500 at the very 
+      end of the ap_process_request_internal() processing so sub_req-esters
+      know this request cannot be run.  This provides authors of older 
+      modules better compatibility, while still improving the security and 
+      robustness of 2.0. 
+
+        Status: still need to decide where this goes, OtherBill comments...
+        Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
+        [Deleted comments regarding the ap_run_handler phase, as irrelevant
+            as BillS points out that "common case will be caught in
+           default_handler already (with the r->finfo.filetype == 0 check)"
+            and the issue is detecting this -before- we try to run the req.]
+
+       gregames says: can this happen somehow without a broken module
+            being involved?  If not, why waste cycles trying to defend against
+            potential broken modules?  It seems futile.
+        wrowe counters: no, it shouldn't happen unless the module is broken.
+            But the right answer is to fail the request up-front in dir/file
+            walk if the path was entirely invalid; and we can't do that either
+            or we break modules that are unwilling to hook map_to_storage.
+
+    * Rewrite core_output_filter. It is nearly impossible to support
+      it with predictable results as it is implemented now.
+
+    * Convert all instances of the old apr_lock_t type to the new
+      types.
+        Status: Aaron has converted all but the perchild MPM to
+                use the new lock API. Since perchild has been put
+                on the back burner, this is no longer a showstopper.
+                Aaron will patch perchild as soon as it becomes
+                buildable again.
+
+    * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
+      how the Perchild MPM should be re-written.  It hasn't worked
+      correctly since filters were added because it wasn't possible to
+      get the content that had already been written and the socket at
+      the same time.  This mode lets us do that, so the MPM can be
+      fixed.
+
+    * htpasswd blindly processes the file you give it, and does no
+      sanity checking before totally corrupting whatever file it was
+      you thought you had. It should check the input file and bail
+      if it finds non-comment lines that do not contain exactly 1
+      ':' character.
+        Message-ID: <20020217150457.A31632@clove.org>
+
+    * Can a static httpd be built reliably?
+        Message-ID: <20020207142751.T31582@clove.org>
+
+    * [Ken] Test suite failures:
+      o worker is also failing some of the 'cgi' subtests
+      (see <URL:http://Source-Zone.Org/Apache/regression/>):
+        Justin says: "Worker should be fine and passes httpd-test here.
+                      If you can provide evidence that it can be reproduced
+                      outside of httpd-test, then it's a showstopper.  I
+                      think it's a perl or a httpd-test problem."
+        Not a showstopper: Justin
+
     * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
       removed if possible.
         Message-ID: <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
@@ -246,34 +175,12 @@ RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
         Not a showstopper: justin, wrowe, trawick, stoddard, Jim, Ian, Aaron,
                            gregames
 
-    * Make some modifications to the scoreboard creation routines,
-      prefer anonymous shared memory, and allow a configuration
-      directive to override the defaults.
-        Message-ID: <20020130080804.C16977@clove.org>
-      Status: Aaron volunteers
-
     * Get perchild to work on platforms other than Linux. This
       will require a portable mechanism to pass data and file/socket
       descriptors between vhost child groups. An API was proposed
       on dev@apr:
         Message-ID: <20020111115006.K1529@clove.org>
 
-    * Recent changes to ap_rgetline may have broken EBCDIC boxes.
-        Message-ID: <20020122072605.GF28051@ebuilt.com>
-        Justin says: "I don't have an EBCDIC box to test on.  A potential
-                      solution is to split out ap_rgetline into two
-                      functions as described in this message."
-        gregames says: I see the breakage now, and volunteer to fix it
-                       when things calm down a little.  It looks OK when 
-                       there are complete lines and no mime continuations.
-
-    * Modify the worker MPM so that it doesn't need to create and
-      destroy a pool for each request--possibly by adopting a
-      leader/follower model in which each worker owns a persistent
-      ptrans pool (like the prefork MPM) and the workers take
-      turns acting as listeners...this approach might also help
-      reduce context-switching
-
     * CGI single-byte reads
       BrianP suggests that this is caused by the ap_scan_script_header_err()
       routine, which will do single-byte reads until it finds the end
@@ -281,6 +188,8 @@ RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
       to read from.
       Proposed solution in:
         Message-ID: <3C36ADAF.60601@cnet.com>
+      Update 3/23/2002: solution implemented for mod_cgi, mod_cgid remains
+        to be fixed
 
     * Try to get libtool inter-library dependency code working on AIX.
         Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
@@ -360,43 +269,6 @@ RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
              to both parent and child for writing.  Then we just need to
              figure out how to do graceless on non-threaded MPMs.
 
-    * revamp the input filter behavior, per discussions since
-      February (and especially at the hackathon last
-      April). Specifically, ap_get_brigade will return a brigade with
-      *up to* a specific number of bytes, or a "line" of data. The
-      read may be blocking or nonblocking. ap_getline() will be
-      refactored into apr_brigade_getline(), and then DECHUNK can use
-      f->next (ap_getline will always read "top of input stack"). Also 
-      fix the bug where request body content will end up closing the
-      connection (buggering up persistent conns).
-        Status: Justin is working on this as fast as he can.
-              The core input filters, HTTP-related filters, mod_ssl,
-              mod_proxy, and ap_[r]getline are switched to the new logic.  
-
-      - socket bucket and core input filter changes. see end of
-        message ID (Feb 27): <20010227075326.S2297@lyra.org>
-
-      - fix up ap_get_brigade() semantics, fix bug in DECHUNK /
-        ap_getline. many messages (plus their threads) (Apr/May):
-          Message-ID: <20010402101207.J27539@lyra.org>
-          Message-ID: <3AF7F921.D2EEC41A@algroup.co.uk>
-          Message-ID: <20010508190029.E18404@lyra.org>
-
-      - further work with combining/tweaking the builtin filters:
-          Message-ID: <20010509115445.D1374@lyra.org>
-
-      - thoughts on filter modes:
-          Message-ID: <021b01c14dee$09782af0$93c0b0d0@roweclan.net>
-
-      - proposal for getline rewrite:
-          Message-ID: <20011231104019.GD3904@ebuilt.com>
-
-      - patch for getline rewrite:
-          Message-ID: <20020122072605.GF28051@ebuilt.com>
-
-      - Change ap_get_brigade prototype:
-          Message-ID: <20020120115136.GI17601@ebuilt.com>
-
     * Allow the DocumentRoot directive within <Location > scopes?  This
       allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
       by a <Directory /somepath/foo> to become simply 
@@ -413,6 +285,8 @@ RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
         stoddard: Not fixed. Shared scoreboard might offer a good
         way for the parent to keep track of 'other child' processes
         and whack them if the child goes down.
+        Other thoughts on walking the process chain using the NT kernel
+        have also been proposed on APR.
 
     * Win32: Add a simple hold console open patch (wait for close or
         the ESC key, with a nice message) if the server died a bad 
@@ -424,18 +298,10 @@ RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
       The current porting state is summarized in modules/ssl/README. The
       remaining work includes:
       (1) stablizing/optimizing the SSL filter logic
-      (2) Enabling the various SSL caching mechanisms (shmcb, shmht)
-      (3) Enabling SSL extentions
-      (4) Trying to seperate the https filter logic from mod_ssl -
+      (2) Enabling SSL extentions
+      (3) Trying to seperate the https filter logic from mod_ssl -
           This is to facilitate other modules that wish to use the https
           filter or the mod_ssl logic or both as required.
-        Justin: mod_ssl filter logic is redone, so that should be fine.
-                Madhu has submitted a patch for SSL caching - however, I
-                am -0 on that patch as I *think* we could implement the
-                shared memory another way that is much cleaner (i.e.
-                treat shmem directly as a dbm via APR routines).  Justin 
-                also thinks that the https filter logic may be sufficiently
-                decoupled now, but isn't really sure.
 
     * Performance & Debug: Eliminate most (and perhaps all) of the 
       malloc/free calls in the bucket brigade code.  Need some 
@@ -455,15 +321,6 @@ RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
                   have something to look at/compare with.
 
     * Eliminate unnecessary creation of pipes in mod_cgid
-        Status: Ken asks, didn't Jeff fix this when he fixed the queue
-                overrun?
-
-    * the autoconf setup should be fixed to default to using the 
-      "Apache" layout from config.layout, and each variable settable
-      in a layout should be overridable on the command line.  Plus,
-      what we do right now just doesn't seem to fully fit into how autoconf
-      works, eg. AC_PREFIX_DEFAULT issues.
-        Message-ID: <Pine.BSF.4.20.0104031557420.20876-100000@alive.znep.com>
 
     * Combine log_child and piped_log_spawn. Clean up http_log.c.
       Common logging API.
@@ -493,21 +350,6 @@ RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
                    useful as a perl dbm management example?  If we keep it,
                    do we address the issue above?
 
-    * use apu_dbm in mod_auth_dbm
-        Status: Greg +1 (low-priority volunteer)
-        Justin says: "Seems like this is already there, so should we just 
-                      remove the other DBM code in that file?  If you want 
-                      to use gdbm, or dbm, etc, you should tell apr-util."
-        Will says: "bs - I may choose the fastest - most efficient native
-                    dbm implementation, for shared proc caches, ssl session
-                    caching, etc, but that has nothing to do with maintaining
-                    a userlist via dbm, which has to remain readable between
-                    builds/machines, etc.  The use-multiple database schema
-                    for apr-util would let us do this with just apr, though."
-        Ian says:  "multi-dbm is in, but it still has ndbm support hardcoded
-                    is this still required? isn't ndbm supported via gdbm?"
-
-
     * Integrate mod_dav.
         Some additional items remaining:
         - case_preserved_filename stuff
@@ -541,10 +383,6 @@ RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
 
     * Win32: Get Apache working on Windows 95/98. The following work
         (at least) needs to be done:
-        - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
-        specific code that is still not in NT only code paths
-        - IOL binds to APR sendfile, implemented with TransmitFile, which 
-        is not available on 95/98.
         - Document warning that OSR2 is required (for Crypt functions, in
         rand.c, at least.)  This could be resolved with an SSL library, or
         randomization in APR itself.
@@ -562,6 +400,17 @@ RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
     * Fix the worker MPM to use POD to kill child processes instead
       of ap_os_killpg, regardless of how they should die. (Ryan Bloom)
 
+    * mod_cache: handle cache_control: no_cache "field_name" to enable 
+      cacheing the response w/o header "field_name"
+      See RFC2616 section 14.9.1
+
+    * Scoreboard structures could be changed in the future such that
+      proper alignment is not maintained, leading to segfaults on 
+      some systems.  Cliff posted a patch to deal with this issue but
+      later recanted. See this message to dev@apr.apache.org:
+      Message-ID: <Pine.LNX.4.44.0203011354090.16457-200000@deepthought
+                  .cs.virginia.edu>
+     
 PRs that have been suspended forever waiting for someone to
 put them into 'the next release':