STATUS revision 670734c2ee137c587411795c6f82566c9d3729b7
c88a70518d7d0b5bccb22a68d446c2d6589790dcjwoolleyApache 2.0 STATUS:
c88a70518d7d0b5bccb22a68d446c2d6589790dcjwoolleyLast modified at [$Date: 2000/05/23 21:50:57 $]
b1d2d2797866636f792717f96401292481697145wrowe 2.0a4 : vague plans to release mid-May
b1d2d2797866636f792717f96401292481697145wrowe 2.0a3 : released April 28, 2000
b1d2d2797866636f792717f96401292481697145wrowe 2.0a2 : released March 31, 2000
b1d2d2797866636f792717f96401292481697145wrowe 2.0a1 : released March 10, 2000
b1d2d2797866636f792717f96401292481697145wroweRELEASE SHOWSTOPPERS:
8abcc73436888a98721b10f0c09206f6fea68c55jerenkrantz * Win32: Get mod_auth_digest working under win32
8abcc73436888a98721b10f0c09206f6fea68c55jerenkrantz - APR_HAS_RANDOM should be defined on windows and there is a
8abcc73436888a98721b10f0c09206f6fea68c55jerenkrantz lib/apr/misc/win32/rand.c which is basically a copy of what
b24d065530fdf97376f390522396be5a4469fcf4jerenkrantz mod_auth_digest used to use.
b24d065530fdf97376f390522396be5a4469fcf4jerenkrantz * Re-work configuration for top level Apache. Work should start with
a981bcb9c3b780184e75ff069d67fe84da6c3d3dbnicholes trying to clean the autoconf stuff. If and only if this proves
a981bcb9c3b780184e75ff069d67fe84da6c3d3dbnicholes impossible to do (very unlikely), autoconf should be removed and we
8e2e1446dd3b216c1f414493758f8b0d267a3c0dwrowe will roll our own config implementation.
a981bcb9c3b780184e75ff069d67fe84da6c3d3dbnicholes NOTE: When this is implemented, it would be really nice if the
a981bcb9c3b780184e75ff069d67fe84da6c3d3dbnicholes default cgi module on Unix with a threaded MPM is the cgid
b2cff333bc23b8e74c6aad9ee97973df02cca180aaron module. This should be override-able of course.
b2cff333bc23b8e74c6aad9ee97973df02cca180aaron Status: Jim Jagielski is looking into this.
7eb55be5bcc75f2acf789aeca38d88a9c75d001ejwoolley * Fix SAFEREAD.
7eb55be5bcc75f2acf789aeca38d88a9c75d001ejwoolley see <Pine.LNX.4.21.0004101511380.7822-100000@twinlark.arctic.org>
d31e50dddb975275ef388ab64e380b6d4e5d9710jerenkrantz * Put back resource limit code
d31e50dddb975275ef388ab64e380b6d4e5d9710jerenkrantz * suEXEC doesn't work
d31e50dddb975275ef388ab64e380b6d4e5d9710jerenkrantz Status: Manoj has posted an patch to fix this.
d31e50dddb975275ef388ab64e380b6d4e5d9710jerenkrantz <19991103003605.A20612@samosa.mindspring.com>
d5eaaee4a1e5faaf21e7111fd61732c6e7dbe8b2jwoolley * Win32: Enable the Windows MPM to honor max_requests_per_child
d5eaaee4a1e5faaf21e7111fd61732c6e7dbe8b2jwoolley Status: Bill will fix this.
c88a70518d7d0b5bccb22a68d446c2d6589790dcjwoolley * Win32: Get Apache working on Windows 95/98. The following work
c88a70518d7d0b5bccb22a68d446c2d6589790dcjwoolley (at least) needs to be done:
c88a70518d7d0b5bccb22a68d446c2d6589790dcjwoolley - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
c64c364bf863ad985309ef10d68caaa93e8d09ccstoddard specific code that is still not in NT only code paths
c64c364bf863ad985309ef10d68caaa93e8d09ccstoddard - APR sendfile uses TransmitFile which is not available on
d8d240df2f2b23455be6b01343daedebaa6c4f96trawick - ap_stat uses GetFileAttributeEx which is not available on
d8d240df2f2b23455be6b01343daedebaa6c4f96trawick * Win32: Test access logging with multiple threads. Will the
b5b5e8cc4668ab29d8f08f590d829dcfaeda9d33brianp native file I/O calls serialize automagically like the
b5b5e8cc4668ab29d8f08f590d829dcfaeda9d33brianp CRT calls or do we need to add region locking each time
b5b5e8cc4668ab29d8f08f590d829dcfaeda9d33brianp we access the logs?
e2653756d0d14a9a620b24bd04a6ab1182178462brianp * The handler hook needs to use the new registration system
d980a97cfc68de0ef35432ce03f1c1e468a19877jwoolley * We need a thread-safe resolver, at least on Unix.
d980a97cfc68de0ef35432ce03f1c1e468a19877jwoolley Status: The best known candidate would be something from
d980a97cfc68de0ef35432ce03f1c1e468a19877jwoolleyRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
aa3510b82ec5d82ddbf4748829ec90f1ce71398ebrianp * Build scripts do not recognise AIX 4.2.1 pthreads, so the
aa3510b82ec5d82ddbf4748829ec90f1ce71398ebrianp pthread MPMs will not build.
51b1d7f8eaa74807ab14479edde4421e77f5d1d7brianp * Win32: Reuse accept socket after transmitfile/close
51b1d7f8eaa74807ab14479edde4421e77f5d1d7brianp This is not a bug, but would be nice to get this feature in
08aff55373b2ae69182a58055a5c1b3a12d927b0slive before ship.
08aff55373b2ae69182a58055a5c1b3a12d927b0slive * Win32: Enable the winnt MPM to use the new scoreboard API
4f50bfb0367b91396c0fe85b80536b760080d39etrawick * Win32: Graceful restart of a service is broken (code does shutdown
4f50bfb0367b91396c0fe85b80536b760080d39etrawick then start)
5a63340978acb9dd7e87724be57d2bde1cf1f629trawick * Platforms that do not support fork (primarily Win32 and AS/400)
5a63340978acb9dd7e87724be57d2bde1cf1f629trawick Consider introducing HAVE_FORK feature macro. Architect start-up code
9f7325ecad575cf77ab76b01beaaf339a63490b5trawick that avoids initializing all the modules in the parent process on
8565f742f1ee3d514b2d48a1f2a5af5d7437c3b9trawick platforms that do not support fork.
8565f742f1ee3d514b2d48a1f2a5af5d7437c3b9trawick * Clean the code. There are a lot of places we used APR but didn't
8843b75d1c70af3da9a7306c4aede3b3e9346deajwoolley remove the hacks that were required for the cross-platform code in
8843b75d1c70af3da9a7306c4aede3b3e9346deajwoolley 1.3. We need to make the code look like APR was supposed to be there.
8843b75d1c70af3da9a7306c4aede3b3e9346deajwoolley * Go throught the 1.3 Bug DB and research the bugs marked "suspended".
8843b75d1c70af3da9a7306c4aede3b3e9346deajwoolley People were told these would be considered for inclusion in Apache 2.0,
dcecfbe7e63603d0fb95e4811e015039e9401990stoddard it would be nice to actually do so.
dcecfbe7e63603d0fb95e4811e015039e9401990stoddard * Win32: Migrate the MPM over to use APR thread/process calls. This
0c7592379b55b7736dd70d2d87f53af9a2347614jerenkrantz would eliminate some code in the Win32 branch that essentially
4844d314b0b6e55a309621b84c1786446c5fb418ianh duplicates what is in APR.
4844d314b0b6e55a309621b84c1786446c5fb418ianh Bill says we need a new procattr, APR_CREATE_SUSPENDED (or
127c81d6b2c9ba8932273c2e1b13e3ea3d673b07trawick something similar) to direct ap_create_process to create the
127c81d6b2c9ba8932273c2e1b13e3ea3d673b07trawick process suspended. We also need a call to wake up the suspended
127c81d6b2c9ba8932273c2e1b13e3ea3d673b07trawick process This may not be able to be implemented everywhere though.
59d01b9ed1de043745262e49bb44bde7095c4723jwoolley * Move I/O layering into APR.
59d01b9ed1de043745262e49bb44bde7095c4723jwoolley * There are still a number of places in the code where we are
e6e65585927961caf45d4e9e932bb1f4e9e89ca1jerenkrantz loosing error status (i.e. throwing away the error returned by a
e6e65585927961caf45d4e9e932bb1f4e9e89ca1jerenkrantz system call and replacing it with a generic error code)
b068b71651c802cc4e0b835495ad0e41c65e1174trawick * Win32: Implement reliable piped logs on Windows
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe * Switch to autoconf, et al. for configuration.
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe Status: Manoj has placed an initial version into the 2.0
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe repository. Todos include:
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe * Use APR to get rid of more platform dependancies.
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe Status: Ryan Bloom <rbb@covalenet.net> is working on this.
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe * The connection status table is not very efficient. Also, very few stats
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe are exported to the connection status table (easy to fix), and mod_status
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe * Optimise the name-based <VirtualHost> implementation so that it uses
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe a hash table instead of a linear linked list scan.
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe * Mass vhosting version of suEXEC.
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe * Provide a sane API for handling the request's environment variables.
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe * configuration option to use *DBM
dd39efc1f7ed97cf526aefa24359f0be2ac5c3f4trawick Status: Greg +1 (volunteers)
dd39efc1f7ed97cf526aefa24359f0be2ac5c3f4trawick * add SDBM into src/lib/sdbm/ as a default/fallback DBM implementation.
dd39efc1f7ed97cf526aefa24359f0be2ac5c3f4trawick SDBM is used by Perl, mod_dav, mod_sssl, others for basic DBM support.
f53367106769f90696d9c1f0ffcf9fbb4db883c2jerenkrantz Status: Greg +1 (volunteers)
f53367106769f90696d9c1f0ffcf9fbb4db883c2jerenkrantzOther bugs that need fixing:
9a940e8e90f9b163737e23bbf72a3f2c67a39220brianp * MaxRequestsPerChild measures connections, not requests.
9a940e8e90f9b163737e23bbf72a3f2c67a39220brianp Until someone has a better way, we'll probably just rename it
8496c88debb9962575dac2b1ef9b81984d7bd759brianp "MaxConnectionsPerChild".
8496c88debb9962575dac2b1ef9b81984d7bd759brianp * Regex containers don't work in an intutive way
8496c88debb9962575dac2b1ef9b81984d7bd759brianp Status: No one has come up with an efficient way to fix this
7c8747b339a5e47ea8301907051a9974d15b23b7brianp behavior. Dean has suggested getting rid of regex containers
7c8747b339a5e47ea8301907051a9974d15b23b7brianp completely.
98f81eac9530d487f05013cda9df99755bb59689trawick * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
0b493ad526b8bbc2ff21ce19510fc32238abb816jwoolley sigwaiting thread. We need to work around this, perhaps unless
0b493ad526b8bbc2ff21ce19510fc32238abb816jwoolley there is hope soon for a fixed glibc.
0b493ad526b8bbc2ff21ce19510fc32238abb816jwoolleyOther features that need writing:
1376737cb6afa24d3e12f3a223318fe1bd71bb1fslive * Finish infrastructure in core for async MPMs
1376737cb6afa24d3e12f3a223318fe1bd71bb1fslive Status: post 2.0
ec1719a5748717f67dcd279bb64bd0da424ae450jerenkrantz * TODO in source -- just do an egrep on "TODO" and see what's there
ec1719a5748717f67dcd279bb64bd0da424ae450jerenkrantzDocumentation that needs writing:
dea9ded7417a8328f8fce5d57eca9d7af5500520trawick * Mod_status docs are needed.
3f0220bf6e864d982a10348c9cc269bfe798d65eaaron * The concept of MPMs, especially if we ship more than one MPM for a
3f0220bf6e864d982a10348c9cc269bfe798d65eaaron given platform
3f0220bf6e864d982a10348c9cc269bfe798d65eaaron * New directives in the various MPMs and appropriate links from
75d133afee2e3636b07366fd62102b13b67b1b1djerenkrantz obsolete directives in core.html to the MPM documentation.
75d133afee2e3636b07366fd62102b13b67b1b1djerenkrantz * Revise manual/stopping.html and the last part of
2ae7ad6f58b7e3188ed4bd375a8930808529ba71jwoolley manual/misc/perf-tuning.html to take account of the MPMs.
2ae7ad6f58b7e3188ed4bd375a8930808529ba71jwoolley * API documentation
2ae7ad6f58b7e3188ed4bd375a8930808529ba71jwoolley Status: Ben Laurie has written some hooks documentation
5b30f835d627766b024500189c35bb55e686e890brianp * Changes since 1.3.9 can be more easily seen in the commitlog file
d45481dadf7f1f0ffd95b38b1c5b0ea6b2d57888jerenkrantz dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
d45481dadf7f1f0ffd95b38b1c5b0ea6b2d57888jerenkrantz which includes some of Roy's comments when the changes were
d45481dadf7f1f0ffd95b38b1c5b0ea6b2d57888jerenkrantz committed in rough change-sets by purpose. Note that the commitlog
0c7592379b55b7736dd70d2d87f53af9a2347614jerenkrantz does not show the contents of new files until later.
0c7592379b55b7736dd70d2d87f53af9a2347614jerenkrantzAvailable Patches:
6d62bc22f8f22a43e66e2e4d8860a5a144316b1astoddard * Ken's patch to make htpasswd a usable tool for other databases.
6d62bc22f8f22a43e66e2e4d8860a5a144316b1astoddard Message-ID: <392AFA06.716E8374@Golux.Com>
71eda8b1c14e4d0adb2f294f22299587cd3d74a9striker * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
922c0ad0014590bb10d13674012683eef44c0bbarederpj performance
922c0ad0014590bb10d13674012683eef44c0bbarederpj Status: These were written for 1.3, and are awaiting a port to
aec964227053fab7e59deb26709b94726ce67224rederpjOpen issues:
8ffd5c9693162130d35be41953f0dd3bba18edf7rederpj * What do we do about mod_proxy?
1e27f530f81c6058d1a11944ae1e2da45977fc7bjerenkrantz * Which MPMs will be included with Apache 2.0?
1e27f530f81c6058d1a11944ae1e2da45977fc7bjerenkrantz * Is conf/highperformance.conf-dist obsolete? It looks obsolete.