STATUS revision 1e585ba09ea32272e63c4c39c35491e975d21d98
280a8a0544b4aeb52414d20e8c6e6c5b1108562eTinderbox UserApache 2.0 STATUS:
6c2a76b3e2ccd32c35814b6e0f54da00190749d7Evan HuntLast modified at [$Date: 2000/04/12 20:20:01 $]
2fee8782a6fd57d86a67949092ab9197111af390Evan Hunt 2.0a2 : vague plans to release in April sometime.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews 2.0a2 : released March 31, 2000
969eaf7df8ac651946f76b6631ff5db568c11ef6Tinderbox User 2.0a1 : released March 10, 2000
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark AndrewsRELEASE SHOWSTOPPERS:
f4ee48be3994797a8332b86c101db4d7b54799ceTinderbox User * Re-work configuration for top level Apache. Work should start with
a2c370ca12bb0360ff7e969474ead3f788c65fffTinderbox User trying to clean the autoconf stuff. If and only if this proves
8de3f14f1c300c3e1ed99084cc03485b42c92bf1Tinderbox User impossible to do (very unlikely), autoconf should be removed and we
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews will roll our own config implementation.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews Status: Jim Jagielski is looking into this.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Put buffered file I/O back into APR. This should be done using the
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews buffering logic from the OS/2 directory. stdio FILE *'s should not be
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews used on Unix because of the limitations these impose on some platforms,
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews for example the 256 File * limit on Solaris.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Fix SAFEREAD.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews see <Pine.LNX.4.21.0004101511380.7822-100000@twinlark.arctic.org>
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Fix lingering close
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews see <Pine.LNX.4.21.0004110902390.10177-100000@twinlark.arctic.org>
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User * MPMs should have responsibility for closing sockets and
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews registering the socket cleanup. Stop registering multiple
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User cleanups for each socket. Move socket close code out of
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews http_connection.c and into the MPMs.
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User * Reliable piped logs look broken everywhere. Each MPM includes essentially
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews identical code to ap_register_other_child(), etc. Most of this code can
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews be moved out of the MPMs and into some common file (http_core.c?).
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt Dean says presumably you mean an os-specific file?
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User * Pipes to CGI scripts are not being timed out
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Status: code has been added to APR to support timing out pipes.
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User This needs to be used in Apache now.
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt * Put back resource limit code
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User * suEXEC doesn't work
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews Status: Manoj has posted an patch to fix this.
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt <19991103003605.A20612@samosa.mindspring.com>
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Win32: Enable the Windows MPM to honor max_requests_per_child
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt Status: Bill will fix this.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Win32: Get Apache working on Windows 95/98. The following work
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews (at least) needs to be done:
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews specific code that is still not in NT only code paths
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews - APR sendfile uses TransmitFile which is not available on
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews - ap_stat uses GetFileAttributeEx which is not available on
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater * Win32: Test access logging with multiple threads. Will the
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews native file I/O calls serialize automagically like the
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt CRT calls or do we need to add region locking each time
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews we access the logs?
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews * Win32: Smoke test all ported modules to make sure they work
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews correctly under Windows.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Current 2.0 code is not tested on many Unix platforms. Make 2.0
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews work on most, if not all the systems 1.3 did
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews Status: Autoconf and APR will get us most of the way there.
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews * The handler hook needs to use the new registration system
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews * Modules. Which modules do not work yet, can we get a list?
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * We need a thread-safe resolver, at least on Unix.
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark Andrews Status: The best known candidate would be something from
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark AndrewsRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt * Configuration Modules. Allow a new module type that reads
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt a config file and sets up an internal tree structure for
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt configuration.
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt * "make distclean" leaves (at least these) turds:
8f4e6ea383aa9a953c0adb5be6c4d8dc8dbd5c4aWitold Krecicki modules/.deps
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews * the top-level configure.in appears to use $USE_MAINTAINER_MODE = yes
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews to set -Wall/etc. flags, and the APR configure.in appears to use
aef6cf0f147a5014d4891c9689b9f463399e16e7Tinderbox User --with-debug. both seem like more of a hardwired pain compaired
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews to the pre-2.0 method of setting EXTRA_CFLAGS.
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson * Win32: Reuse accept socket after transmitfile/close
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User This is not a bug, but would be nice to get this feature in
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews before ship.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews * Win32: Enable the winnt MPM to use the new scoreboard API
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews * Win32: Non-blocking CGI pipes
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt * Win32: Graceful restart of a service is broken (code does shutdown then start)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User * Dynamically loadable MPMs
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson Enable users of the binary distributions of Apache to be able to
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User dynamically load the MPM.
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt Dean says this probably isn't a good idea. For example consider
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews -lpthread, you couldn't have the same core run with pthreads,
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User prefork, and gnu pth without a lot of headaches is my guess.
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User * Platforms that do not support fork (primarily Win32 and AS/400)
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews Consider introducing HAVE_FORK feature macro. Architect start-up code
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt that avoids initializing all the modules in the parent process on
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews platforms that do not support fork.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Clean the code. There are a lot of places we used APR but didn't
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews remove the hacks that were required for the cross-platform code in
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews 1.3. We need to make the code look like APR was supposed to be there.
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews * Go throught the 1.3 Bug DB and research the bugs marked "suspended".
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark Andrews People were told these would be considered for inclusion in Apache 2.0,
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews it would be nice to actually do so.
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark Andrews * Win32: Migrate the MPM over to use APR thread/process calls. This
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont would eliminate some code in the Win32 branch that essentially
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews duplicates what is in APR.
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont Bill says we need a new procattr, APR_CREATE_SUSPENDED (or
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews something similar) to direct ap_create_process to create the
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews process suspended. We also need a call to wake up the suspended
8f4e6ea383aa9a953c0adb5be6c4d8dc8dbd5c4aWitold Krecicki process This may not be able to be implemented everywhere though.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Move I/O layering into APR.
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews * There are still a number of places in the code where we are
7f9e2fff07b9c17e0d7a0ea7abc9304ce9d01b61Tinderbox User loosing error status (i.e. throwing away the error returned by a
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews system call and replacing it with a generic error code)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews * Win32: Implement reliable piped logs on Windows
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews * Switch to autoconf, et al. for configuration.
fec6e13f2d1e69fe1c2b8fac36f732f124cf5398Mark Andrews Status: Manoj has placed an initial version into the 2.0
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews repository. Todos include:
01a5c5503482fb3ba52088bf0178a7213273bf96Mark Andrews - "make install" should work
361967ea970ea8f0ef8875e769505ecdac74bfb0Tinderbox User - a tool to simplfy third-party module building should be
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews written. Something like apxs
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User - Add a lot more checks to satisfy the various platforms, e.g.
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt * Use APR to get rid of more platform dependancies.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Status: Ryan Bloom <rbb@covalenet.net> is working on this.
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater * The connection status table is not very efficient. Also, very few stats
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User are exported to the connection status table (easy to fix), and mod_status
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsOther bugs that need fixing:
fa0326cc2cf428f67575b6ba3b97b528a31b0010Tinderbox User * MaxRequestsPerChild measures connections, not requests.
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User Until someone has a better way, we'll probably just rename it
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews "MaxConnectionsPerChild".
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews * Regex containers don't work in an intutive way
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User Status: No one has come up with an efficient way to fix this
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater behavior. Dean has suggested getting rid of regex containers
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews sigwaiting thread. We need to work around this, perhaps unless
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User there is hope soon for a fixed glibc.
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserOther features that need writing:
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt * Finish infrastructure in core for async MPMs
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Status: post 2.0
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater * TODO in source -- just do an egrep on "TODO" and see what's there
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark AndrewsDocumentation that needs writing:
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt * Mod_status docs are needed.
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User * The concept of MPMs, especially if we ship more than one MPM for a
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater given platform
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews * New directives in the various MPMs and appropriate links from
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt obsolete directives in core.html to the MPM documentation.
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User * Revise manual/stopping.html and the last part of
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson manual/misc/perf-tuning.html to take account of the MPMs.
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews * API documentation
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt Status: Ben Laurie has written some hooks documentation
5f7586ddbd3edd11272cdd30ed613d936129328bTinderbox User * Changes since 1.3.9 can be more easily seen in the commitlog file
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
e813f036c8251b6d9d2a72fa84f80c2c9d2795afMark Andrews which includes some of Roy's comments when the changes were
30370d905e9be3be7d9b947fd432bacecbb13bb9Evan Hunt committed in rough change-sets by purpose. Note that the commitlog
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews does not show the contents of new files until later.
361967ea970ea8f0ef8875e769505ecdac74bfb0Tinderbox UserAvailable Patches:
5affecff6e148a8e124d03f5dbac0da11e30dcc5Tinderbox User * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
5affecff6e148a8e124d03f5dbac0da11e30dcc5Tinderbox User Status: These were written for 1.3, and are awaiting a port to
361967ea970ea8f0ef8875e769505ecdac74bfb0Tinderbox User * What do we do about mod_proxy?
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User * Which MPMs will be included with Apache 2.0?
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Is conf/highperformance.conf-dist obsolete? It looks obsolete.