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