STATUS revision 670734c2ee137c587411795c6f82566c9d3729b7
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankgApache 2.0 STATUS:
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankgLast modified at [$Date: 2000/05/23 21:50:57 $]
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
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 * 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.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * Fix SAFEREAD.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg see <Pine.LNX.4.21.0004101511380.7822-100000@twinlark.arctic.org>
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * Put back resource limit code
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * suEXEC doesn't work
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg Status: Manoj has posted an patch to fix this.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg <19991103003605.A20612@samosa.mindspring.com>
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * Win32: Enable the Windows MPM to honor max_requests_per_child
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg Status: Bill will fix this.
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 - ap_stat uses GetFileAttributeEx which is not available on
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 * The handler hook needs to use the new registration system
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * We need a thread-safe resolver, at least on Unix.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg Status: The best known candidate would be something from
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 * 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 * Win32: Enable the winnt MPM to use the new scoreboard API
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * Win32: Graceful restart of a service is broken (code does shutdown
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg then start)
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 * 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 * 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 * 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 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 * Move I/O layering into APR.
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 * Win32: Implement reliable piped logs on Windows
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 * Use APR to get rid of more platform dependancies.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg Status: Ryan Bloom <rbb@covalenet.net> is working on this.
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 * Optimise the name-based <VirtualHost> implementation so that it uses
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg a hash table instead of a linear linked list scan.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * Mass vhosting version of suEXEC.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * Provide a sane API for handling the request's environment variables.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * configuration option to use *DBM
0662ed52e814f8f08ef0e09956413a792584eddffuankg Status: Greg +1 (volunteers)
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)
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankgOther bugs that need fixing:
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * MaxRequestsPerChild measures connections, not requests.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg Until someone has a better way, we'll probably just rename it
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg "MaxConnectionsPerChild".
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 * 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.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankgOther features that need writing:
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * Finish infrastructure in core for async MPMs
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg Status: post 2.0
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * TODO in source -- just do an egrep on "TODO" and see what's there
fd7c287b8fcccc3e1e7834bf8daf8fe7fd6cd49dfuankgDocumentation that needs writing:
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * Mod_status docs are needed.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * The concept of MPMs, especially if we ship more than one MPM for a
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg given platform
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * New directives in the various MPMs and appropriate links from
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg obsolete directives in core.html to the MPM documentation.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * Revise manual/stopping.html and the last part of
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg manual/misc/perf-tuning.html to take account of the MPMs.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * API documentation
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg Status: Ben Laurie has written some hooks documentation
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.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankgAvailable Patches:
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * Ken's patch to make htpasswd a usable tool for other databases.
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg Message-ID: <392AFA06.716E8374@Golux.Com>
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
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankgOpen issues:
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * What do we do about mod_proxy?
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * Which MPMs will be included with Apache 2.0?
13b501825bce68e7e49b4bc775da93e38d9bd9f3fuankg * Is conf/highperformance.conf-dist obsolete? It looks obsolete.