STATUS revision 02adcc4a00e718d4ee5f8567af789f64e713febd
d7759bdad133e1e92fe41aab75dd8c1584eda38cjimAPACHE 2.0 STATUS: -*-text-*-
d7759bdad133e1e92fe41aab75dd8c1584eda38cjimLast modified at [$Date: 2002/02/02 09:09:45 $]
f3a5934ca0fb0f0f813bd9d9d06af8937e3f401fjim 2.0.32 : in development
d7759bdad133e1e92fe41aab75dd8c1584eda38cjim 2.0.31 : tagged January 30, 2002.
d7759bdad133e1e92fe41aab75dd8c1584eda38cjim 2.0.30 : tagged January 8, 2002. not rolled.
d7759bdad133e1e92fe41aab75dd8c1584eda38cjim 2.0.29 : tagged November 27, 2001. not rolled.
d7759bdad133e1e92fe41aab75dd8c1584eda38cjim 2.0.28 : released November 13, 2001
b3155b9e3b06b20030ec6c16d98f8dabf12ead9cianh 2.0.27 : rolled November 6, 2001
b3155b9e3b06b20030ec6c16d98f8dabf12ead9cianh 2.0.26 : tagged October 16, 2001. not rolled.
b3155b9e3b06b20030ec6c16d98f8dabf12ead9cianh 2.0.25 : rolled August 29, 2001
b3155b9e3b06b20030ec6c16d98f8dabf12ead9cianh 2.0.24 : rolled August 18, 2001
b3155b9e3b06b20030ec6c16d98f8dabf12ead9cianh 2.0.23 : rolled August 9, 2001
b3155b9e3b06b20030ec6c16d98f8dabf12ead9cianh 2.0.22 : rolled July 29, 2001
b3155b9e3b06b20030ec6c16d98f8dabf12ead9cianh 2.0.21 : rolled July 20, 2001
b3155b9e3b06b20030ec6c16d98f8dabf12ead9cianh 2.0.20 : rolled July 8, 2001
ff1234e45aca1b8171d711ecb87f58b9d9100a99ianh 2.0.19 : rolled June 27, 2001
ff1234e45aca1b8171d711ecb87f58b9d9100a99ianh 2.0.18 : rolled May 18, 2001
ff1234e45aca1b8171d711ecb87f58b9d9100a99ianh 2.0.17 : rolled April 17, 2001
ff1234e45aca1b8171d711ecb87f58b9d9100a99ianh 2.0.16 : rolled April 4, 2001
ff1234e45aca1b8171d711ecb87f58b9d9100a99ianh 2.0.15 : rolled March 21, 2001
ff1234e45aca1b8171d711ecb87f58b9d9100a99ianh 2.0.14 : rolled March 7, 2001
ff1234e45aca1b8171d711ecb87f58b9d9100a99ianh 2.0a9 : released December 12, 2000
ff1234e45aca1b8171d711ecb87f58b9d9100a99ianh 2.0a8 : released November 20, 2000
b999f6ba2a266bf9a92687f31bb7e76021ac5891ianh 2.0a7 : released October 8, 2000
2ceedfca3a2fdfdb5ff60ca17f030ce91f6331cbwrowe 2.0a6 : released August 18, 2000
2ceedfca3a2fdfdb5ff60ca17f030ce91f6331cbwrowe 2.0a5 : released August 4, 2000
2ceedfca3a2fdfdb5ff60ca17f030ce91f6331cbwrowe 2.0a4 : released June 7, 2000
2ceedfca3a2fdfdb5ff60ca17f030ce91f6331cbwrowe 2.0a3 : released April 28, 2000
2ceedfca3a2fdfdb5ff60ca17f030ce91f6331cbwrowe 2.0a2 : released March 31, 2000
2ceedfca3a2fdfdb5ff60ca17f030ce91f6331cbwrowe 2.0a1 : released March 10, 2000
2ceedfca3a2fdfdb5ff60ca17f030ce91f6331cbwrowePlease consult the following STATUS files for information
b999f6ba2a266bf9a92687f31bb7e76021ac5891ianhon related projects:
b9b69856aec9ea58ea1b1e5aff669e8eaf2ebce4rbbRELEASE SHOWSTOPPERS:
1f3a44f2fd7f9fee00b80c7ddcf1028ea145f91drbb * Runtime startup failures don't reliably set the exit status.
1f3a44f2fd7f9fee00b80c7ddcf1028ea145f91drbb For instance, try listening to port 80 and starting as non-root;
1f3a44f2fd7f9fee00b80c7ddcf1028ea145f91drbb server fails with make_sock and 'no listening sockets' errors
7d7931c1f4d46b041ad2ad6fdb9499289063611eianh but exits with 0 status. Even with -DONE_PROCESS -DNO_DETACH.
1f3a44f2fd7f9fee00b80c7ddcf1028ea145f91drbb Justin says: "Is this really a showstopper? Most people won't
68bcde9c52e9e749482df2800dbdff09559115e0chuck be using -DNO_DETACH and will look at the error
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck logs anyway."
43ea154f46345c9722c2b25b2b9f5086ec79eaeeorlikowski Ken says: "Yes, it's a showstopper -- because it exits with
43ea154f46345c9722c2b25b2b9f5086ec79eaeeorlikowski a 0 status on startup failure, whether it spawns
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck or not, before doing any work. A script will
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck incorrectly think it successfully daemonised."
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck Showstopper: Ken
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck Not a showstopper: trawick, stoddard, Jim, Justin
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck * ap_directory_walk skips some per-dir config merge functions
68bcde9c52e9e749482df2800dbdff09559115e0chuck if there is no "<Directory />" block in the configuration
53c2eb831bfe47860e3f5ec9190b15cb92f15181chuck Message-ID: <m3itbdiijq.fsf@rdu163-40-092.nc.rr.com>
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck * That is very unlikely, merges are additive. Much more likely,
53c2eb831bfe47860e3f5ec9190b15cb92f15181chuck the default SetOutputFilter default or merge is borked.
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski Unless it's the code that permits 'null' merges, per module.
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski Still, it's probably in SetOutputFilter's behavior.
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski * Test suite failures:
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski o worker is also failing some of the 'cgi' subtests
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski (see <URL:http://Source-Zone.Org/Apache/regression/>):
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski Justin says: "Worker should be fine and passes httpd-test here."
4f7dd0949d92462a8adc31eee8aff266eea55204chuck * If any request gets to the core handler, without a flag that this
4f7dd0949d92462a8adc31eee8aff266eea55204chuck r->filename was tested by dir/file_walk, we need to 500 at the very
4f7dd0949d92462a8adc31eee8aff266eea55204chuck end of the ap_process_request_internal() processing. This provides
4f7dd0949d92462a8adc31eee8aff266eea55204chuck authors of older modules better compatibility, while still improving
75b3ed55173b29dbdf9e2fb6ec5462bfceee21aechuck the security and robustness of 2.0.
75b3ed55173b29dbdf9e2fb6ec5462bfceee21aechuck Status: still need to decide where this goes, OtherBill comments...
75b3ed55173b29dbdf9e2fb6ec5462bfceee21aechuck Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
4f7dd0949d92462a8adc31eee8aff266eea55204chuck we need to look at halting this in the 'default handler' case,
75b3ed55173b29dbdf9e2fb6ec5462bfceee21aechuck and that implies pushing the 'handler election' into the request
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck internal processing phase from the run request phase.
68bcde9c52e9e749482df2800dbdff09559115e0chuck * There is a bug in how we sort some hooks, at least the pre-config
68bcde9c52e9e749482df2800dbdff09559115e0chuck hook. The first time we call the hooks, they are in the correct
68bcde9c52e9e749482df2800dbdff09559115e0chuck order, but the second time, we don't sort them correctly. Currently,
68bcde9c52e9e749482df2800dbdff09559115e0chuck the modules/http/config.m4 file has been renamed to
68bcde9c52e9e749482df2800dbdff09559115e0chuck modules/http/config2.m4 to work around this problem, it should moved
68bcde9c52e9e749482df2800dbdff09559115e0chuck back when this is fixed. rbb
68bcde9c52e9e749482df2800dbdff09559115e0chuck Justin says: "Is this really a showstopper? This has been here
68bcde9c52e9e749482df2800dbdff09559115e0chuck forever. What's wrong? Does this have to do with
68bcde9c52e9e749482df2800dbdff09559115e0chuck autoconf or m4?"
68bcde9c52e9e749482df2800dbdff09559115e0chuck * The Add...Filter and Set...Filter directives do not allow the
68bcde9c52e9e749482df2800dbdff09559115e0chuck administrator to order filters, beyond the order of filename (mime)
68bcde9c52e9e749482df2800dbdff09559115e0chuck extensions. It isn't clear if Set...Filter(s) should be inserted
68bcde9c52e9e749482df2800dbdff09559115e0chuck before or after the Add...Filter(s) which are ordered by sequence of
68bcde9c52e9e749482df2800dbdff09559115e0chuck filename extensions. At minimum, some sort of +-[0-10] syntax seems
68bcde9c52e9e749482df2800dbdff09559115e0chuck like the quickest fix for a 2.0 gold release.
68bcde9c52e9e749482df2800dbdff09559115e0chuck Justin says: "Could we delay this for a point release or 2.1?"
68bcde9c52e9e749482df2800dbdff09559115e0chuck Not a showstopper: justin, wrowe, trawick, stoddard, Jim
68bcde9c52e9e749482df2800dbdff09559115e0chuck * Convert all instances of the old apr_lock_t type to the new
68bcde9c52e9e749482df2800dbdff09559115e0chuck types (once they are fully supported in APR).
68bcde9c52e9e749482df2800dbdff09559115e0chuck Status: Aaron is working on converting INTRAPROCESS
68bcde9c52e9e749482df2800dbdff09559115e0chuck to apr_thread_mutex_t types. Full replacements for
68bcde9c52e9e749482df2800dbdff09559115e0chuck LOCKALL and CROSS_PROCESS are not yet complete on all
68bcde9c52e9e749482df2800dbdff09559115e0chuck platforms, and should only be used in MPMs like worker
68bcde9c52e9e749482df2800dbdff09559115e0chuck with limited OS exposure.
68bcde9c52e9e749482df2800dbdff09559115e0chuck * A binbuild installation picks up the right libraries when
68bcde9c52e9e749482df2800dbdff09559115e0chuck running apachectl because we set the appropriate environment
68bcde9c52e9e749482df2800dbdff09559115e0chuck variable, but ab, htpasswd, etc. don't know how to pick up apr,
68bcde9c52e9e749482df2800dbdff09559115e0chuck apr-util, etc.
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck Message-ID: <20020116000226.GA15991@ebuilt.com>
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck Justin says: "You could always build all of the binaries
68bcde9c52e9e749482df2800dbdff09559115e0chuck statically if you don't want to let libtool
68bcde9c52e9e749482df2800dbdff09559115e0chuck handle it. At most, I don't consider this a
68bcde9c52e9e749482df2800dbdff09559115e0chuck a release showstopper as it is a packaging issue."
68bcde9c52e9e749482df2800dbdff09559115e0chuck Ken sez: "Showstopper because, until it's the default, it
68bcde9c52e9e749482df2800dbdff09559115e0chuck violates the P of LA. Binaries will give strange
68bcde9c52e9e749482df2800dbdff09559115e0chuck errors and not run if moved."
68bcde9c52e9e749482df2800dbdff09559115e0chuck Status: Aaron volunteers: I'll commit a patch to allow all
68bcde9c52e9e749482df2800dbdff09559115e0chuck the support binaries to be built statically against
68bcde9c52e9e749482df2800dbdff09559115e0chuck libapr/libaprutil/etc and then enable it in binbuild.
68bcde9c52e9e749482df2800dbdff09559115e0chuckRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
68bcde9c52e9e749482df2800dbdff09559115e0chuck * Should we always build binaries statically unless otherwise
68bcde9c52e9e749482df2800dbdff09559115e0chuck Message-ID: <20020129210006.B23512@Lithium.MeepZor.Com>
68bcde9c52e9e749482df2800dbdff09559115e0chuck * If the parent process dies, should the remaining child processes
68bcde9c52e9e749482df2800dbdff09559115e0chuck "gracefully" self-terminate.
68bcde9c52e9e749482df2800dbdff09559115e0chuck Message-ID: <3C58232C.FE91F19F@Golux.Com>
68bcde9c52e9e749482df2800dbdff09559115e0chuck +1: Jim, Justin, Ken
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck * Make some modifications to the scoreboard creation routines,
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck prefer anonymous shared memory, and allow a configuration
68bcde9c52e9e749482df2800dbdff09559115e0chuck directive to override the defaults.
68bcde9c52e9e749482df2800dbdff09559115e0chuck Message-ID: <20020130080804.C16977@clove.org>
68bcde9c52e9e749482df2800dbdff09559115e0chuck Status: Aaron volunteers
68bcde9c52e9e749482df2800dbdff09559115e0chuck * Get perchild to work on platforms other than Linux. This
68bcde9c52e9e749482df2800dbdff09559115e0chuck will require a portable mechanism to pass data and file/socket
68bcde9c52e9e749482df2800dbdff09559115e0chuck descriptors between vhost child groups. An API was proposed
68bcde9c52e9e749482df2800dbdff09559115e0chuck on dev@apr:
68bcde9c52e9e749482df2800dbdff09559115e0chuck Message-ID: <20020111115006.K1529@clove.org>
68bcde9c52e9e749482df2800dbdff09559115e0chuck Vote: Is a non-portable perchild going to hold up a GA release?
68bcde9c52e9e749482df2800dbdff09559115e0chuck No: Aaron, Justin, trawick, stoddard, Jim
68bcde9c52e9e749482df2800dbdff09559115e0chuck * Recent changes to ap_rgetline may have broken EBCDIC boxes.
68bcde9c52e9e749482df2800dbdff09559115e0chuck Message-ID: <20020122072605.GF28051@ebuilt.com>
68bcde9c52e9e749482df2800dbdff09559115e0chuck Justin says: "I don't have an EBCDIC box to test on. A potential
68bcde9c52e9e749482df2800dbdff09559115e0chuck solution is to split out ap_rgetline into two
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck functions as described in this message."
68bcde9c52e9e749482df2800dbdff09559115e0chuck * Modify the worker MPM so that it doesn't need to create and
68bcde9c52e9e749482df2800dbdff09559115e0chuck destroy a pool for each request--possibly by adopting a
68bcde9c52e9e749482df2800dbdff09559115e0chuck leader/follower model in which each worker owns a persistent
68bcde9c52e9e749482df2800dbdff09559115e0chuck ptrans pool (like the prefork MPM) and the workers take
68bcde9c52e9e749482df2800dbdff09559115e0chuck turns acting as listeners...this approach might also help
68bcde9c52e9e749482df2800dbdff09559115e0chuck reduce context-switching
68bcde9c52e9e749482df2800dbdff09559115e0chuck * CGI single-byte reads
68bcde9c52e9e749482df2800dbdff09559115e0chuck BrianP suggests that this is caused by the ap_scan_script_header_err()
68bcde9c52e9e749482df2800dbdff09559115e0chuck routine, which will do single-byte reads until it finds the end
68bcde9c52e9e749482df2800dbdff09559115e0chuck of the header, at which point it constructs a pipe-bucket (buffered)
68bcde9c52e9e749482df2800dbdff09559115e0chuck to read from.
68bcde9c52e9e749482df2800dbdff09559115e0chuck Proposed solution in:
68bcde9c52e9e749482df2800dbdff09559115e0chuck Message-ID: <3C36ADAF.60601@cnet.com>
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck * Try to get libtool inter-library dependency code working on AIX.
68bcde9c52e9e749482df2800dbdff09559115e0chuck Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
68bcde9c52e9e749482df2800dbdff09559115e0chuck Justin says: If we get it working on AIX, we can enable this
68bcde9c52e9e749482df2800dbdff09559115e0chuck on all platforms and clean up our build system
68bcde9c52e9e749482df2800dbdff09559115e0chuck * Handling of %2f in URIs. Currently both 1.3 and 2.0
68bcde9c52e9e749482df2800dbdff09559115e0chuck completely disallow %2f in the request URI path (see
68bcde9c52e9e749482df2800dbdff09559115e0chuck ap_unescape_url() in util.c). It's permitted and passed
68bcde9c52e9e749482df2800dbdff09559115e0chuck through in the query string, however. Roy says the
68bcde9c52e9e749482df2800dbdff09559115e0chuck original reason for disallowing it, from five years ago,
68bcde9c52e9e749482df2800dbdff09559115e0chuck was to protect CGI scripts that applied PATH_INFO to
68bcde9c52e9e749482df2800dbdff09559115e0chuck a filesystem location and which might be tricked by
68bcde9c52e9e749482df2800dbdff09559115e0chuck ..%2f..%2f(...). We *should* allow path-info of the
68bcde9c52e9e749482df2800dbdff09559115e0chuck Since we've revamped a lot of our processing of path
68bcde9c52e9e749482df2800dbdff09559115e0chuck segments, it would be nice to allow this, or at least
68bcde9c52e9e749482df2800dbdff09559115e0chuck allow it conditionally with a directive.
68bcde9c52e9e749482df2800dbdff09559115e0chuck * FreeBSD, threads, and worker MPM. All seems to work fine
68bcde9c52e9e749482df2800dbdff09559115e0chuck if you only have one worker process with many threads. Add
68bcde9c52e9e749482df2800dbdff09559115e0chuck a second worker process and the accept lock seems to be
68bcde9c52e9e749482df2800dbdff09559115e0chuck lost. This might be an APR issue with how it deals with
68bcde9c52e9e749482df2800dbdff09559115e0chuck the child_init hook (i.e. the fcntl lock needs to be resynced).
68bcde9c52e9e749482df2800dbdff09559115e0chuck More examination and analysis is required.
68bcde9c52e9e749482df2800dbdff09559115e0chuck Status: This has also been reported on Cygwin.
68bcde9c52e9e749482df2800dbdff09559115e0chuck Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
68bcde9c52e9e749482df2800dbdff09559115e0chuck Justin says: So, FreeBSD-CURRENT and Cywin have the same
68bcde9c52e9e749482df2800dbdff09559115e0chuck problem. Yum. If another platform has this
68bcde9c52e9e749482df2800dbdff09559115e0chuck with worker, this becomes a showstopper.
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck Aaron says: I spent some time disecting this and have come to
68bcde9c52e9e749482df2800dbdff09559115e0chuck the conclusion that it is not a problem in the worker MPM
68bcde9c52e9e749482df2800dbdff09559115e0chuck (or at least, it is not isolated to a problem in worker).
4f7dd0949d92462a8adc31eee8aff266eea55204chuck I'll list some of the problems I'm seeing in case someone
4f7dd0949d92462a8adc31eee8aff266eea55204chuck else wants to pick up where I've left off:
68bcde9c52e9e749482df2800dbdff09559115e0chuck - Delivery of just about any signal to one of the child
4f7dd0949d92462a8adc31eee8aff266eea55204chuck processes will send it into an infinite loop as well.
4f7dd0949d92462a8adc31eee8aff266eea55204chuck - Even though the parent is spinning out of control,
68bcde9c52e9e749482df2800dbdff09559115e0chuck at first the child or children will appear to work
4f7dd0949d92462a8adc31eee8aff266eea55204chuck properly. At times it is possible to get it into a state,
4f7dd0949d92462a8adc31eee8aff266eea55204chuck however, where a request will hang until another concurrent
68bcde9c52e9e749482df2800dbdff09559115e0chuck request "kicks" the first, at which point the second will
an external dependency (e.g., a database) fails, et cetera.
ap_getline. many messages (plus their threads) (Apr/May):
- further work with combining/tweaking the builtin filters:
allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
by a <Directory /somepath/foo> to become simply
<Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
The current porting state is summarized in modules/ssl/README. The
(1) stablizing/optimizing the SSL filter logic
shared memory another way that is much cleaner (i.e.
malloc/free calls in the bucket brigade code. Need some
have something to look at/compare with.
"Apache" layout from config.layout, and each variable settable
* Combine log_child and piped_log_spawn. Clean up http_log.c.
* Win32: Migrate the MPM over to use APR thread/process calls. This
losing error status (i.e. throwing away the error returned by a
* All DBMs suffer from confusion in support/dbmmanage (perl script) since
builds/machines, etc. The use-multiple database schema
* Explore use of a post-config hook for the code in http_main.c which
* (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
* shift stuff to mod_core.h
rand.c, at least.) This could be resolved with an SSL library, or
- Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
Using NIS passwd.byname dbm files with AuthDBMUserFile
setlogin() is not called, causing problems with e.g. identd
add allow,deny/deny,allow warning to mod_access
A small addition to rotatelogs.c to improve program functionality.
Feedback/Comment on APACI
Inclusion of RPM spec file in CVS/distributions
* orig_ct in the byterange/multipart handling may not be