httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rodent of Unusual Size <Ken.C...@Golux.Com>
Subject [STATUS] (apache-2.0) Thu Feb 17 07:45:08 EST 2000
Date Thu, 17 Feb 2000 12:45:08 GMT
Apache 2.0 STATUS:
Last modified at [$Date: 2000/02/16 18:29:20 $]


    Vague plan, assuming more features aren't demanded for the 2.0 release
    2.0a1/b1: January 2000
    2.0     : later in 2000

    * 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.

    * Put back resource limit code

    * Port mod_rewrite
        Status: Paul Reder <> is working on this.

    * suEXEC doesn't work
        Status: Manoj has posted an patch to fix this.

    * Win32: Fix Win9* specific code in the winnt MPM

    * Win32: Test access logging with multiple threads. Will the 
	native file I/O calls serialize automagically like the 
	CRT calls or do we need to add region locking each time 
	we access the logs?

    * Win32:  Smoke test all ported modules to make sure they work 
	correctly under Windows.

    * 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.

    * 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,


    * 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.

    * 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
      platforms that do not support fork.

    * Clean the code.  There are a lot of places we used APR but didn't 
      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.

    * 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 <> is working on this.

    * Move I/O layering into APR.

    * There are still a number of places in the code where we are
      loosing error status (i.e. throwing away the error returned by a
      system call and replacing it with a generic error code)

    * Win32: Implement reliable piped logs on Windows
        Status: Bill <> has prototype code (not
        reliable) in 1.3.  Should be much cleaner with APR in 2.0.

    * Switch to autoconf, et al. for configuration.
        Status: Manoj has placed an initial version into the 2.0
        repository. Todos include:
          - "make install" should work
          - a tool to simplfy third-party module building should be
            written. Something like apxs
          - Add a lot more checks to satisfy the various platforms, e.g.
            for threading

    * Use APR to get rid of more platform dependancies.
        Status: Ryan Bloom <> 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.

Other bugs that need fixing:

    * MaxRequestsPerChild measures connections, not requests.
        Until someone has a better way, we'll probably just rename it
    * Regex containers don't work in an intutive way
        Status: No one has come up with an efficient way to fix this
        behavior. Dean has suggested getting rid of regex containers

    * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
      sigwaiting thread. We need to work around this, perhaps unless
      there is hope soon for a fixed glibc.

Other features that need writing:

    * Finish infrastructure in core for async MPMs
        Status: ?

    * 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 <> Linux siginfo MPM
          Status: ?

Documentation that needs writing:

    * The concept of MPMs, especially if we ship more than one MPM for a
      given platform

    * New directives in the various MPMs

    * API documentation
        Status: Ben Laurie has written some hooks documentation

    * Changes since 1.3.9 can be more easily seen in the commitlog file
      which includes some of Roy's comments when the changes were
      committed in rough change-sets by purpose.  Note that the commitlog
      does not show the contents of new files until later.

Available Patches:

   * Mike Abbott's <> patches to improve
       Status: These were written for 1.3, and are awaiting a port to

Open issues:

   * What do we do about mod_proxy?

   * Which MPMs will be included with Apache 2.0?

   * Is conf/highperformance.conf-dist obsolete?  It looks obsolete.

View raw message