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