summaryrefslogtreecommitdiffstats
path: root/STATUS
blob: af62f026e3de32d3c2c3d9ed2ff7bc7cdeab7bf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
Apache 2.0 STATUS:
Last modified at [$Date: 1999/12/22 06:20:11 $]

Release:

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

RELEASE SHOWSTOPPERS:

    * Complete HAVE_SENDFILE work. Need to add iovec head and tail pointers to 
      the iol sendfile API and make it work under Unix.
        Status: Bill <stoddard@raleigh.ibm.com> is working on this

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

    * Windows NT port isn't done
        Status: Bill  <stoddard@raleigh.ibm.com> is working on MPM and APR. 
	Remaining work:
        1. Add back ability to run Apache as a service
        2. Fix Win9* specific code in the winnt MPM
        3. 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 write to the access/error logs?
        4. Fix the DOS hole in AcceptEx (need to time out connections over
           which data is never sent).

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

RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:

    * 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 <stoddard@raleigh.ibm.com> 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)

    * APRize the stat function. CRT stat() is about 30% slower on Windows than
      the equivalent native Windows call. The APR call should return the Unix
      style stat structure, just to keep it familier.

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

    * 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 <rbb@raleigh.ibm.com> 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
        "MaxConnectionsPerChild".
    
    * 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
        completely.

    * 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 <zab@zabbo.net> 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
        (apache-2.0/htdocs/hooks.html)

    * Changes since 1.3.9 can be more easily seen in the commitlog file
         dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
      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 <mja@trudge.engr.sgi.com> patches to improve
     performance
       Status: These were written for 1.3, and are awaiting a port to
       2.0

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.