APACHE 2.0 STATUS: -*-text-*-
-Last modified at [$Date: 2002/02/06 22:17:47 $]
+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
CURRENT RELEASE NOTES:
- * 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. Add item in release notes:
- +1: Justin, Cliff, Aaron, BillS, Jim, trawick
- +0:
- -1:
-
- * 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
-
- * anon shared memory not allocating enough
- (fix is apr/shm/unix/shm.c 1.14)
-
- * other BETA possibilities
- 31 + fixes for all non-cosmetic problems seen on daedalus
- See: http://www.apache.org/~jerenkrantz/httpd-2.0.jre.patch
- http://www.apache.org/~gregames/
- +1: trawick, Justin
- +0:
- -1:
+
+ * 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
+ * API changes planned for 2.0 that should happen before the
+ GA release:
+ * Free lists for bucket allocation
+
+ * 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 [support*] binaries statically unless otherwise
+ indicated?
+ Message-ID: <20020129210006.B23512@Lithium.MeepZor.Com>
+
+ +1: Ken, *wrowe [they are PITAs on OSX]
+ -1: Justin, Ian
+
+ * If the parent process dies, should the remaining child processes
+ "gracefully" self-terminate. Or maybe we should make it a runtime
+ option, or have a concept of 2 parent processes (one being a
+ "hot spare").
+ See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
+
+ Self-destruct: Ken, Martin
+ Not self-destruct: BrianP, Ian, Cliff, BillS
+ Make it runtime configurable: Aaron, Jim, Justin
+ Have 2 parents: +1: Jim
+ -1: Justin, wrowe [for 2.0]
+ +0: Martin (while standing by, could it do
+ something useful?)
+
+ * Make the worker MPM the default MPM for threaded Unix boxes.
+ +1: Justin, Ian, Cliff
+ -0: Aaron (premature decision, needs more discussion), Lars
+
+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. This provides
- authors of older modules better compatibility, while still improving
- the security and robustness of 2.0.
+ 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>
- 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.
+ [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 (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"
+ 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
think it's a perl or a httpd-test problem."
Not a showstopper: Justin
- * [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.
-
-RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
-
* 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>
Not a showstopper: justin, wrowe, trawick, stoddard, Jim, Ian, Aaron,
gregames
- * Should we always build binaries statically unless otherwise
- indicated?
- Message-ID: <20020129210006.B23512@Lithium.MeepZor.Com>
-
- +1: Ken
- -1: Justin, Ian
-
- * If the parent process dies, should the remaining child processes
- "gracefully" self-terminate. Or maybe we should make it a runtime
- option, or have a concept of 2 parent processes (one being a
- "hot spare").
- See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
-
- Self-destruct: Ken, Martin
- Not self-destruct: BrianP, Ian, Cliff, BillS
- Make it runtime configurable: Aaron, Jim, Justin
- Have 2 parents: +1: Jim
- -1: Justin
- +0: Martin (while standing by, could it do
- something useful?)
- look at accept() error handling first: 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>
- Vote: Is a non-portable perchild going to hold up a GA release?
- Yes:
- No: Aaron, Justin, trawick, stoddard, Jim, Ian, BrianP, gregames,
- Ken
-
- * 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()
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>
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
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
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
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.
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
* 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.
search for libssl and libcrypto and properly add them to mod_ssl's
link flags.
- * Make the worker MPM the default MPM for threaded Unix boxes.
- +1: Justin, Jeff, Ian
- -0: Aaron (premature decision, needs more discussion), Lars
- -0: Cliff (I think the default config should be the safest possible)
-
* 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':