STATUS revision 670734c2ee137c587411795c6f82566c9d3729b7
c88a70518d7d0b5bccb22a68d446c2d6589790dcjwoolleyApache 2.0 STATUS:
c88a70518d7d0b5bccb22a68d446c2d6589790dcjwoolleyLast modified at [$Date: 2000/05/23 21:50:57 $]
b1d2d2797866636f792717f96401292481697145wrowe
b1d2d2797866636f792717f96401292481697145wroweRelease:
b1d2d2797866636f792717f96401292481697145wrowe
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
b1d2d2797866636f792717f96401292481697145wrowe
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
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.
b2cff333bc23b8e74c6aad9ee97973df02cca180aaron
7eb55be5bcc75f2acf789aeca38d88a9c75d001ejwoolley * Fix SAFEREAD.
7eb55be5bcc75f2acf789aeca38d88a9c75d001ejwoolley see <Pine.LNX.4.21.0004101511380.7822-100000@twinlark.arctic.org>
7eb55be5bcc75f2acf789aeca38d88a9c75d001ejwoolley
d31e50dddb975275ef388ab64e380b6d4e5d9710jerenkrantz * Put back resource limit code
d31e50dddb975275ef388ab64e380b6d4e5d9710jerenkrantz
d31e50dddb975275ef388ab64e380b6d4e5d9710jerenkrantz * suEXEC doesn't work
d31e50dddb975275ef388ab64e380b6d4e5d9710jerenkrantz Status: Manoj has posted an patch to fix this.
d31e50dddb975275ef388ab64e380b6d4e5d9710jerenkrantz <19991103003605.A20612@samosa.mindspring.com>
d5eaaee4a1e5faaf21e7111fd61732c6e7dbe8b2jwoolley
d5eaaee4a1e5faaf21e7111fd61732c6e7dbe8b2jwoolley * Win32: Enable the Windows MPM to honor max_requests_per_child
d5eaaee4a1e5faaf21e7111fd61732c6e7dbe8b2jwoolley Status: Bill will fix this.
c88a70518d7d0b5bccb22a68d446c2d6589790dcjwoolley
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
c64c364bf863ad985309ef10d68caaa93e8d09ccstoddard 95/98.
d8d240df2f2b23455be6b01343daedebaa6c4f96trawick - ap_stat uses GetFileAttributeEx which is not available on
d8d240df2f2b23455be6b01343daedebaa6c4f96trawick 95/98
d8d240df2f2b23455be6b01343daedebaa6c4f96trawick
d8d240df2f2b23455be6b01343daedebaa6c4f96trawick Status:
d8d240df2f2b23455be6b01343daedebaa6c4f96trawick
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 Status:
e2653756d0d14a9a620b24bd04a6ab1182178462brianp
e2653756d0d14a9a620b24bd04a6ab1182178462brianp * The handler hook needs to use the new registration system
d980a97cfc68de0ef35432ce03f1c1e468a19877jwoolley
d980a97cfc68de0ef35432ce03f1c1e468a19877jwoolley * We need a thread-safe resolver, at least on Unix.
d980a97cfc68de0ef35432ce03f1c1e468a19877jwoolley Status: The best known candidate would be something from
d980a97cfc68de0ef35432ce03f1c1e468a19877jwoolley BIND v9.
d980a97cfc68de0ef35432ce03f1c1e468a19877jwoolley
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.
aa3510b82ec5d82ddbf4748829ec90f1ce71398ebrianp
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
08aff55373b2ae69182a58055a5c1b3a12d927b0slive * Win32: Enable the winnt MPM to use the new scoreboard API
4f50bfb0367b91396c0fe85b80536b760080d39etrawick
4f50bfb0367b91396c0fe85b80536b760080d39etrawick * Win32: Graceful restart of a service is broken (code does shutdown
4f50bfb0367b91396c0fe85b80536b760080d39etrawick then start)
5a63340978acb9dd7e87724be57d2bde1cf1f629trawick
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
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
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
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
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.
127c81d6b2c9ba8932273c2e1b13e3ea3d673b07trawick
59d01b9ed1de043745262e49bb44bde7095c4723jwoolley Status:
59d01b9ed1de043745262e49bb44bde7095c4723jwoolley
59d01b9ed1de043745262e49bb44bde7095c4723jwoolley * Move I/O layering into APR.
59d01b9ed1de043745262e49bb44bde7095c4723jwoolley
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)
e6e65585927961caf45d4e9e932bb1f4e9e89ca1jerenkrantz
b068b71651c802cc4e0b835495ad0e41c65e1174trawick * Win32: Implement reliable piped logs on Windows
b068b71651c802cc4e0b835495ad0e41c65e1174trawick Status:
b068b71651c802cc4e0b835495ad0e41c65e1174trawick
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
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe * Use APR to get rid of more platform dependancies.
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe Status: Ryan Bloom <rbb@covalenet.net> is working on this.
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe
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 is ugly.
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe * Optimise the name-based <VirtualHost> implementation so that it uses
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe a hash table instead of a linear linked list scan.
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe * Mass vhosting version of suEXEC.
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe * Provide a sane API for handling the request's environment variables.
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe
34a1e566d4af2735c87e2d3e6ac5e505855518aawrowe * configuration option to use *DBM
dd39efc1f7ed97cf526aefa24359f0be2ac5c3f4trawick Status: Greg +1 (volunteers)
dd39efc1f7ed97cf526aefa24359f0be2ac5c3f4trawick
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)
f53367106769f90696d9c1f0ffcf9fbb4db883c2jerenkrantz
f53367106769f90696d9c1f0ffcf9fbb4db883c2jerenkrantzOther bugs that need fixing:
9a940e8e90f9b163737e23bbf72a3f2c67a39220brianp
9a940e8e90f9b163737e23bbf72a3f2c67a39220brianp * MaxRequestsPerChild measures connections, not requests.
9a940e8e90f9b163737e23bbf72a3f2c67a39220brianp Until someone has a better way, we'll probably just rename it
8496c88debb9962575dac2b1ef9b81984d7bd759brianp "MaxConnectionsPerChild".
8496c88debb9962575dac2b1ef9b81984d7bd759brianp
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
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.
0b493ad526b8bbc2ff21ce19510fc32238abb816jwoolley
0b493ad526b8bbc2ff21ce19510fc32238abb816jwoolleyOther features that need writing:
1376737cb6afa24d3e12f3a223318fe1bd71bb1fslive
1376737cb6afa24d3e12f3a223318fe1bd71bb1fslive * Finish infrastructure in core for async MPMs
1376737cb6afa24d3e12f3a223318fe1bd71bb1fslive Status: post 2.0
1376737cb6afa24d3e12f3a223318fe1bd71bb1fslive
ec1719a5748717f67dcd279bb64bd0da424ae450jerenkrantz * TODO in source -- just do an egrep on "TODO" and see what's there
ec1719a5748717f67dcd279bb64bd0da424ae450jerenkrantz
ec1719a5748717f67dcd279bb64bd0da424ae450jerenkrantzDocumentation that needs writing:
dea9ded7417a8328f8fce5d57eca9d7af5500520trawick * Mod_status docs are needed.
dea9ded7417a8328f8fce5d57eca9d7af5500520trawick
3f0220bf6e864d982a10348c9cc269bfe798d65eaaron * The concept of MPMs, especially if we ship more than one MPM for a
3f0220bf6e864d982a10348c9cc269bfe798d65eaaron given platform
3f0220bf6e864d982a10348c9cc269bfe798d65eaaron
3f0220bf6e864d982a10348c9cc269bfe798d65eaaron * New directives in the various MPMs and appropriate links from
75d133afee2e3636b07366fd62102b13b67b1b1djerenkrantz obsolete directives in core.html to the MPM documentation.
75d133afee2e3636b07366fd62102b13b67b1b1djerenkrantz
75d133afee2e3636b07366fd62102b13b67b1b1djerenkrantz * Revise manual/stopping.html and the last part of
2ae7ad6f58b7e3188ed4bd375a8930808529ba71jwoolley manual/misc/perf-tuning.html to take account of the MPMs.
2ae7ad6f58b7e3188ed4bd375a8930808529ba71jwoolley
2ae7ad6f58b7e3188ed4bd375a8930808529ba71jwoolley * API documentation
2ae7ad6f58b7e3188ed4bd375a8930808529ba71jwoolley Status: Ben Laurie has written some hooks documentation
5b30f835d627766b024500189c35bb55e686e890brianp (apache-2.0/htdocs/hooks.html)
5b30f835d627766b024500189c35bb55e686e890brianp
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.
0c7592379b55b7736dd70d2d87f53af9a2347614jerenkrantz
0c7592379b55b7736dd70d2d87f53af9a2347614jerenkrantzAvailable Patches:
6d62bc22f8f22a43e66e2e4d8860a5a144316b1astoddard
6d62bc22f8f22a43e66e2e4d8860a5a144316b1astoddard * Ken's patch to make htpasswd a usable tool for other databases.
6d62bc22f8f22a43e66e2e4d8860a5a144316b1astoddard Message-ID: <392AFA06.716E8374@Golux.Com>
8efcf516f2b6514879fff8d034be55b6d64ff830striker Status:
71eda8b1c14e4d0adb2f294f22299587cd3d74a9striker
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
922c0ad0014590bb10d13674012683eef44c0bbarederpj 2.0
922c0ad0014590bb10d13674012683eef44c0bbarederpj
aec964227053fab7e59deb26709b94726ce67224rederpjOpen issues:
aec964227053fab7e59deb26709b94726ce67224rederpj
8ffd5c9693162130d35be41953f0dd3bba18edf7rederpj * What do we do about mod_proxy?
aec964227053fab7e59deb26709b94726ce67224rederpj
1e27f530f81c6058d1a11944ae1e2da45977fc7bjerenkrantz * Which MPMs will be included with Apache 2.0?
1e27f530f81c6058d1a11944ae1e2da45977fc7bjerenkrantz
1e27f530f81c6058d1a11944ae1e2da45977fc7bjerenkrantz * Is conf/highperformance.conf-dist obsolete? It looks obsolete.
469549ac22c6f7b9ecdd9df2565925563e4df84djwoolley
469549ac22c6f7b9ecdd9df2565925563e4df84djwoolley