STATUS revision cfc020d6d6fc9b31d8945915e65a8787a796eb73
d9b4174233b951f25cd53a2787b9f14314258c2fMark AndrewsApache 2.0 STATUS:
d9b4174233b951f25cd53a2787b9f14314258c2fMark AndrewsLast modified at [$Date: 2000/05/15 19:20:07 $]
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark AndrewsRelease:
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews 2.0a4 : vague plans to release mid-May
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews 2.0a3 : released April 28, 2000
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews 2.0a2 : released March 31, 2000
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews 2.0a1 : released March 10, 2000
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark AndrewsRELEASE SHOWSTOPPERS:
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Win32: Get mod_auth_digest working under win32
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews - APR_HAS_RANDOM should be defined on windows and there is a
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews lib/apr/misc/win32/rand.c which is basically a copy of what
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews mod_auth_digest used to use.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
11b07ea523314b123b4e503ce3813443a018c8d3Mark Andrews * Re-work configuration for top level Apache. Work should start with
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews trying to clean the autoconf stuff. If and only if this proves
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews impossible to do (very unlikely), autoconf should be removed and we
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews will roll our own config implementation.
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews NOTE: When this is implemented, it would be really nice if the
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews default cgi module on Unix with a threaded MPM is the cgid
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews module. This should be override-able of course.
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews Status: Jim Jagielski is looking into this.
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews * Fix SAFEREAD.
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews see <Pine.LNX.4.21.0004101511380.7822-100000@twinlark.arctic.org>
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews * Put back resource limit code
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews * suEXEC doesn't work
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews Status: Manoj has posted an patch to fix this.
73cac2175470e9068829589476dda8bd6d88036fMark Andrews <19991103003605.A20612@samosa.mindspring.com>
73cac2175470e9068829589476dda8bd6d88036fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Win32: Enable the Windows MPM to honor max_requests_per_child
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews Status: Bill will fix this.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Win32: Get Apache working on Windows 95/98. The following work
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews (at least) needs to be done:
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews specific code that is still not in NT only code paths
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews - APR sendfile uses TransmitFile which is not available on
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews 95/98.
01163d188b89911c3a23fe1125a4cab6764a408cMark Andrews - ap_stat uses GetFileAttributeEx which is not available on
01163d188b89911c3a23fe1125a4cab6764a408cMark Andrews 95/98
01163d188b89911c3a23fe1125a4cab6764a408cMark Andrews
01163d188b89911c3a23fe1125a4cab6764a408cMark Andrews Status:
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews
648ba62b1f156cbca14d54d06c535385f1193d13Mark Andrews * Win32: Test access logging with multiple threads. Will the
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews native file I/O calls serialize automagically like the
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews CRT calls or do we need to add region locking each time
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews we access the logs?
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews Status:
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
11b07ea523314b123b4e503ce3813443a018c8d3Mark Andrews * The handler hook needs to use the new registration system
11b07ea523314b123b4e503ce3813443a018c8d3Mark Andrews
11b07ea523314b123b4e503ce3813443a018c8d3Mark Andrews * We need a thread-safe resolver, at least on Unix.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews Status: The best known candidate would be something from
35665db4e49e3e4c0e3776e635449f931f3732cfMark Andrews BIND v9.
c6313caa6cd9d011ac075048d2b62fd3410162dfMark Andrews
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark AndrewsRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Build scripts do not recognise AIX 4.2.1 pthreads, so the
bdfd62f497fe0d5281c25b61271595a4c821a040Mark Andrews pthread MPMs will not build.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews * the top-level configure.in appears to use $USE_MAINTAINER_MODE = yes
bdfd62f497fe0d5281c25b61271595a4c821a040Mark Andrews to set -Wall/etc. flags, and the APR configure.in appears to use
bdfd62f497fe0d5281c25b61271595a4c821a040Mark Andrews --with-debug. both seem like more of a hardwired pain compaired
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews to the pre-2.0 method of setting EXTRA_CFLAGS.
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews * Win32: Reuse accept socket after transmitfile/close
bdfd62f497fe0d5281c25b61271595a4c821a040Mark Andrews This is not a bug, but would be nice to get this feature in
bdfd62f497fe0d5281c25b61271595a4c821a040Mark Andrews before ship.
bdfd62f497fe0d5281c25b61271595a4c821a040Mark Andrews
bdfd62f497fe0d5281c25b61271595a4c821a040Mark Andrews * Win32: Enable the winnt MPM to use the new scoreboard API
bdfd62f497fe0d5281c25b61271595a4c821a040Mark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Win32: Graceful restart of a service is broken (code does shutdown then start)
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Platforms that do not support fork (primarily Win32 and AS/400)
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews Consider introducing HAVE_FORK feature macro. Architect start-up code
64cde9d94a2f6c7050f00d9651df6b05e63d09f2Mark Andrews that avoids initializing all the modules in the parent process on
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews platforms that do not support fork.
cbb94d52f98b48e8c3a8866dbf8c67860764f349Mark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Clean the code. There are a lot of places we used APR but didn't
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews remove the hacks that were required for the cross-platform code in
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews 1.3. We need to make the code look like APR was supposed to be there.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Go throught the 1.3 Bug DB and research the bugs marked "suspended".
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews People were told these would be considered for inclusion in Apache 2.0,
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews it would be nice to actually do so.
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews
11b07ea523314b123b4e503ce3813443a018c8d3Mark Andrews * Win32: Migrate the MPM over to use APR thread/process calls. This
11b07ea523314b123b4e503ce3813443a018c8d3Mark Andrews would eliminate some code in the Win32 branch that essentially
11b07ea523314b123b4e503ce3813443a018c8d3Mark Andrews duplicates what is in APR.
11b07ea523314b123b4e503ce3813443a018c8d3Mark Andrews
11b07ea523314b123b4e503ce3813443a018c8d3Mark Andrews Bill says we need a new procattr, APR_CREATE_SUSPENDED (or
11b07ea523314b123b4e503ce3813443a018c8d3Mark Andrews something similar) to direct ap_create_process to create the
11b07ea523314b123b4e503ce3813443a018c8d3Mark Andrews process suspended. We also need a call to wake up the suspended
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews process This may not be able to be implemented everywhere though.
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews Status:
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews * Move I/O layering into APR.
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews * There are still a number of places in the code where we are
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews loosing error status (i.e. throwing away the error returned by a
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews system call and replacing it with a generic error code)
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews
11b07ea523314b123b4e503ce3813443a018c8d3Mark Andrews * Win32: Implement reliable piped logs on Windows
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews Status:
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews * Switch to autoconf, et al. for configuration.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews Status: Manoj has placed an initial version into the 2.0
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews repository. Todos include:
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews * Use APR to get rid of more platform dependancies.
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews Status: Ryan Bloom <rbb@covalenet.net> is working on this.
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews * The connection status table is not very efficient. Also, very few stats
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews are exported to the connection status table (easy to fix), and mod_status
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews is ugly.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Optimise the name-based <VirtualHost> implementation so that it uses
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews a hash table instead of a linear linked list scan.
61a03692ab84504fb2bd85b71facfe0f6456b466Mark Andrews
61a03692ab84504fb2bd85b71facfe0f6456b466Mark Andrews * Mass vhosting version of suEXEC.
61a03692ab84504fb2bd85b71facfe0f6456b466Mark Andrews
61a03692ab84504fb2bd85b71facfe0f6456b466Mark Andrews * Provide a sane API for handling the request's environment variables.
61a03692ab84504fb2bd85b71facfe0f6456b466Mark Andrews
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews * configuration option to use *DBM
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews Status: Greg +1 (volunteers)
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * add SDBM into src/lib/sdbm/ as a default/fallback DBM implementation.
8f8634e66351e292925dde8ab6b0418a0141f86aMark Andrews SDBM is used by Perl, mod_dav, mod_sssl, others for basic DBM support.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews Status: Greg +1 (volunteers)
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark AndrewsOther bugs that need fixing:
61a03692ab84504fb2bd85b71facfe0f6456b466Mark Andrews
68843c99b695bf194b019d465f6d33e6297fd02aMark Andrews * MaxRequestsPerChild measures connections, not requests.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews Until someone has a better way, we'll probably just rename it
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews "MaxConnectionsPerChild".
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews * Regex containers don't work in an intutive way
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews Status: No one has come up with an efficient way to fix this
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews behavior. Dean has suggested getting rid of regex containers
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews completely.
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
514f6f14245f42c96f3d5e90462ce2ebe0597d2eMark Andrews sigwaiting thread. We need to work around this, perhaps unless
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews there is hope soon for a fixed glibc.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark AndrewsOther features that need writing:
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Finish infrastructure in core for async MPMs
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews Status: post 2.0
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * TODO in source -- just do an egrep on "TODO" and see what's there
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark AndrewsDocumentation that needs writing:
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Mod_status docs are needed.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * The concept of MPMs, especially if we ship more than one MPM for a
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews given platform
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews * New directives in the various MPMs and appropriate links from
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews obsolete directives in core.html to the MPM documentation.
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews * Revise manual/stopping.html and the last part of
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews manual/misc/perf-tuning.html to take account of the MPMs.
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews * API documentation
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews Status: Ben Laurie has written some hooks documentation
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews (apache-2.0/htdocs/hooks.html)
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Changes since 1.3.9 can be more easily seen in the commitlog file
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews which includes some of Roy's comments when the changes were
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews committed in rough change-sets by purpose. Note that the commitlog
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews does not show the contents of new files until later.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark AndrewsAvailable Patches:
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews performance
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews Status: These were written for 1.3, and are awaiting a port to
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews 2.0
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark AndrewsOpen issues:
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * What do we do about mod_proxy?
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Which MPMs will be included with Apache 2.0?
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews * Is conf/highperformance.conf-dist obsolete? It looks obsolete.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews