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