Apache 2.0 STATUS:
-Last modified at [$Date: 2000/03/02 08:19:35 $]
+Last modified at [$Date: 2000/04/18 18:47:52 $]
Release:
- Vague plan, assuming more features aren't demanded for the 2.0 release
- 2.0a1 : March 2000
- 2.0 : later in 2000
+ 2.0a3 : vague plans to release in April sometime.
+ 2.0a2 : released March 31, 2000
+ 2.0a1 : released March 10, 2000
RELEASE SHOWSTOPPERS:
- * Fix lingering close
- Status:
+ * Win32: Get mod_auth_digest working under win32
+ - APR_HAS_RANDOM should be defined on windows and there is a
+ lib/apr/misc/win32/rand.c which is basically a copy of what
+ mod_auth_digest used to use.
+
+ * Re-work configuration for top level Apache. Work should start with
+ trying to clean the autoconf stuff. If and only if this proves
+ impossible to do (very unlikely), autoconf should be removed and we
+ will roll our own config implementation.
+ NOTE: When this is implemented, it would be really nice if the
+ default cgi module on Unix with a threaded MPM is the cgid
+ module. This should be override-able of course.
+ Status: Jim Jagielski is looking into this.
+
+ * Fix SAFEREAD.
+ see <Pine.LNX.4.21.0004101511380.7822-100000@twinlark.arctic.org>
* MPMs should have responsibility for closing sockets and
registering the socket cleanup. Stop registering multiple
* Reliable piped logs look broken everywhere. Each MPM includes essentially
identical code to ap_register_other_child(), etc. Most of this code can
be moved out of the MPMs and into some common file (http_core.c?).
-
- * DSO hooks registered during the preflight call to ap_read_config
- are not 'unregistered' during the preflight clean-up. Thus, when
- Apache comes up, the hook tables contain two entries for each DSO hook,
- one of which is bogus, leftover from the preflight.
-
- * Pipes to CGI scripts are not being timed out
- Status: code has been added to APR to support timing out pipes.
- This needs to be used in Apache now.
+ Dean says presumably you mean an os-specific file?
* Put back resource limit code
- * Port mod_rewrite
- Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
-
* suEXEC doesn't work
Status: Manoj has posted an patch to fix this.
<19991103003605.A20612@samosa.mindspring.com>
* Win32: Enable the Windows MPM to honor max_requests_per_child
Status: Bill will fix this.
- * Win32: Fix Win9* specific code in the winnt MPM
+ * Win32: Get Apache working on Windows 95/98. The following work
+ (at least) needs to be done:
+ - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
+ specific code that is still not in NT only code paths
+ - APR sendfile uses TransmitFile which is not available on
+ 95/98.
+ - ap_stat uses GetFileAttributeEx which is not available on
+ 95/98
+
Status:
* Win32: Test access logging with multiple threads. Will the
we access the logs?
Status:
- * Win32: Smoke test all ported modules to make sure they work
- correctly under Windows.
- Status:
-
* Current 2.0 code is not tested on many Unix platforms. Make 2.0
work on most, if not all the systems 1.3 did
Status: Autoconf and APR will get us most of the way there.
- * The module API is a weird combination of the old table and the new
- hook system. Switch completely to the new hook system
- Status: Ben Laurie is working on this.
+ * The handler hook needs to use the new registration system
* Modules. Which modules do not work yet, can we get a list?
* We need a thread-safe resolver, at least on Unix.
- Status: The best known candidate would be something from BIND
- (v8 or v9?) The only other option would be to mutex all the
- resolver calls,
+ Status: The best known candidate would be something from
+ BIND v9.
-RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
+ * Switch from HSRegex to PCRE. New code should be src/lib/pcre/
+ (ftp://cus.cam.ac.uk/pub/software/programs/pcre/)
+ Status: Greg +1
+
+RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
+ * Configuration Modules. Allow a new module type that reads
+ a config file and sets up an internal tree structure for
+ configuration.
+
* "make distclean" leaves (at least these) turds:
lib/.deps
lib/apr/.deps
modules/.deps
modules/mpm/.deps
os/.deps
-
- * apaci permissions problem:
- cvs checkout apache-2.0
- cd apache-2.0/src
- ./configure
- edit some Makefile.in
- ./config.status
- now apaci is no longer executable and future makes fail
+
+ * the top-level configure.in appears to use $USE_MAINTAINER_MODE = yes
+ to set -Wall/etc. flags, and the APR configure.in appears to use
+ --with-debug. both seem like more of a hardwired pain compaired
+ to the pre-2.0 method of setting EXTRA_CFLAGS.
* Win32: Reuse accept socket after transmitfile/close
This is not a bug, but would be nice to get this feature in
* Win32: Enable the winnt MPM to use the new scoreboard API
- * Win32: Non-blocking CGI pipes
-
* Win32: Graceful restart of a service is broken (code does shutdown then start)
* Dynamically loadable MPMs
Enable users of the binary distributions of Apache to be able to
dynamically load the MPM.
+ Dean says this probably isn't a good idea. For example consider
+ -lpthread, you couldn't have the same core run with pthreads,
+ prefork, and gnu pth without a lot of headaches is my guess.
+
* Platforms that do not support fork (primarily Win32 and AS/400)
Consider introducing HAVE_FORK feature macro. Architect start-up code
that avoids initializing all the modules in the parent process on
remove the hacks that were required for the cross-platform code in
1.3. We need to make the code look like APR was supposed to be there.
- * Go throught the Bug DB and research the bugs marked "suspended". People
- were told these would be considered for inclusion in Apache 2.0, it
- would be nice to actually do so.
+ * Go throught the 1.3 Bug DB and research the bugs marked "suspended".
+ People were told these would be considered for inclusion in Apache 2.0,
+ it would be nice to actually do so.
* Win32: Migrate the MPM over to use APR thread/process calls. This
would eliminate some code in the Win32 branch that essentially
duplicates what is in APR.
- Status: Bill <stoddard@raleigh.ibm.com> is working on this.
+
+ Bill says we need a new procattr, APR_CREATE_SUSPENDED (or
+ something similar) to direct ap_create_process to create the
+ process suspended. We also need a call to wake up the suspended
+ process This may not be able to be implemented everywhere though.
+
+ Status:
* Move I/O layering into APR.
system call and replacing it with a generic error code)
* Win32: Implement reliable piped logs on Windows
- Status: Bill <stoddard@raleigh.ibm.com> has prototype code (not
- reliable) in 1.3. Should be much cleaner with APR in 2.0.
+ Status:
* Switch to autoconf, et al. for configuration.
Status: Manoj has placed an initial version into the 2.0
for threading
* Use APR to get rid of more platform dependancies.
- Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this.
+ Status: Ryan Bloom <rbb@covalenet.net> is working on this.
* The connection status table is not very efficient. Also, very few stats
are exported to the connection status table (easy to fix), and mod_status
is ugly.
+ * Optimise the name-based <VirtualHost> implementation so that it uses
+ a hash table instead of a linear linked list scan.
+
+ * Mass vhosting version of suEXEC.
+
+ * Provide a sane API for handling the request's environment variables.
+
+ * configuration option to use *DBM
+ Status: Greg +1 (volunteers)
+
+ * add SDBM into src/lib/sdbm/ as a default/fallback DBM implementation.
+ SDBM is used by Perl, mod_dav, mod_sssl, others for basic DBM support.
+ Status: Greg +1 (volunteers)
+
Other bugs that need fixing:
* MaxRequestsPerChild measures connections, not requests.
Other features that need writing:
* Finish infrastructure in core for async MPMs
- Status: ?
+ Status: post 2.0
* TODO in source -- just do an egrep on "TODO" and see what's there
- * Work on other MPMs. Possible MPMs discussed or in progress include:
-
- - Dean Gaudet's async MPM
- Status: dean is unlikely to begin work on this any time soon...
- has lots of ideas he'll share with folks willing to begin
- tackling the issues. this is apache 2.1 material.
-
- - Zach Brown's <zab@zabbo.net> Linux siginfo MPM
- Status: ?
-
Documentation that needs writing:
+ * Mod_status docs are needed.
* The concept of MPMs, especially if we ship more than one MPM for a
given platform
- * New directives in the various MPMs
+ * New directives in the various MPMs and appropriate links from
+ obsolete directives in core.html to the MPM documentation.
+
+ * Revise manual/stopping.html and the last part of
+ manual/misc/perf-tuning.html to take account of the MPMs.
* API documentation
Status: Ben Laurie has written some hooks documentation
does not show the contents of new files until later.
Available Patches:
-
* Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
performance
Status: These were written for 1.3, and are awaiting a port to