]> granicus.if.org Git - apache/blob - STATUS
more accurate reflection of reality
[apache] / STATUS
1 Apache 2.0 STATUS:
2 Last modified at [$Date: 1999/11/30 00:52:30 $]
3
4 Release:
5
6     2.0: In pre-alpha development
7
8 Plan:
9
10     * Vague goal of an alpha or beta release in 1999. Commit-then-review
11       is active.
12
13 RELEASE SHOWSTOPPERS:
14
15     * Complete HAVE_SENDFILE work. Need to add iovec head and tail pointers to 
16       the iol sendfile API and make it work under Unix.
17         Status: Bill <stoddard@raleigh.ibm.com> is working on this
18
19     * Pipes to CGI scripts are not being timed out
20         Status: code has been added to APR to support timing out pipes.
21                 This needs to be used in Apache now.
22
23     * Put back resource limit code
24
25     * Port mod_rewrite
26         Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
27
28     * Port mod_mime_magic
29         Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
30
31     * suEXEC doesn't work
32         Status: Manoj has posted an patch to fix this.
33         <19991103003605.A20612@samosa.mindspring.com>
34
35     * Windows NT port isn't done
36         Status: Bill  <stoddard@raleigh.ibm.com> is working on MPM and APR. 
37         Remaining work:
38         1. Add back ability to run Apache as a service
39         2. Fix Win9* specific code in the winnt MPM
40         3. Get the MPM working in multi process mode (one parent & one child)
41         4. Test access logging with multiple threads. Will the native file I/O 
42            calls serialize automagically like the CRT calls or do we need to
43            add region locking each time we write to the access/error logs?
44
45     * Current 2.0 code is not tested on many Unix platforms. Make 2.0
46       work on most, if not all the systems 1.3 did
47         Status: Autoconf and APR will get us most of the way there.
48
49     * The module API is a weird combination of the old table and the new
50       hook system. Switch completely to the new hook system
51         Status: Ben Laurie is working on this.
52
53     * Modules.  Which modules do not work yet, can we get a list?
54
55 RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
56
57     * Clean the code.  There are a lot of places we used APR but didn't 
58       remove the hacks that were required for the cross-platform code in
59       1.3.  We need to make the code look like APR was supposed to be there. 
60
61     * Go throught the Bug DB and research the bugs marked "suspended".  People
62       were told these would be considered for inclusion in Apache 2.0, it 
63       would be nice to actually do so.
64
65     * Win32: Migrate the MPM over to use APR thread/process calls. This would eliminate
66         some code in the Win32 branch that essentially duplicates what is in APR.
67         Status: Bill <stoddard@raleigh.ibm.com> is working on this.
68
69     * Move I/O layering into APR.
70
71     * There are still a number of places in the code where we are loosing error
72       status (i.e. throwing away the error returned by a system call and replacing
73       it with a generic error code)
74
75     * APRize the stat function. CRT stat() is about 30% slower on Windows than
76       the equivalent native Windows call. The APR call should return the Unix
77       style stat structure, just to keep it familier.
78
79     * Implement reliable piped logs on Windows
80         Status: Bill <stoddard@raleigh.ibm.com> has prototype code (not reliable) in 1.3. 
81         Should be much cleaner with APR in 2.0.
82
83     * Switch to autoconf, et al. for configuration.
84         Status: Manoj has placed an initial version into the 2.0
85         repository. Todos include:
86           
87           - Support selection of modules (including MPMs; only Dexter
88             works right now). Probably involved creating a directory for
89             each module
90           - "make install" and "make depend" should work
91           - a tool to simplfy third-party module building should be
92             written. Something like apxs
93           - Add a lot more checks to satisfy the various platforms, e.g.
94             for threading
95
96     * Use APR to get rid of more platform dependancies.
97         Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this.
98
99     * The connection status table is not very efficient. Also, very few stats
100       are exported to the connection status table (easy to fix), and mod_status
101       is ugly.
102
103 Other bugs that need fixing:
104
105     * MaxRequestsPerChild measures connections, not requests.
106         Until someone has a better way, we'll probably just rename it
107         "MaxConnectionsPerChild".
108     
109     * Regex containers don't work in an intutive way
110         Status: No one has come up with an efficient way to fix this
111         behavior. Dean has suggested getting rid of regex containers
112         completely.
113
114     * SIGSEGV on Linux seems to only kill a thread, not a whole process;
115       we need to work around this, probably by bouncing the signal to
116       the sigwait thread. But this will hurt debugability.
117
118 Other features that need writing:
119
120     * Finish infrastructure in core for async MPMs
121         Status: ?
122
123     * TODO in source -- just do an egrep on "TODO" and see what's there
124
125     * Work on other MPMs. Possible MPMs discussed or in progress include:
126
127       - Dean Gaudet's async MPM
128           Status: dean is unlikely to begin work on this any time soon...
129             has lots of ideas he'll share with folks willing to begin
130             tackling the issues.  this is apache 2.1 material.
131
132       - Zach Brown's <zab@zabbo.net> Linux siginfo MPM
133           Status: ?
134
135 Documentation that needs writing:
136
137     * The concept of MPMs, especially if we ship more than one MPM for a
138       given platform
139
140     * New directives in the various MPMs
141
142     * API documentation
143         Status: Ben Laurie has written some hooks documentation
144         (apache-2.0/htdocs/hooks.html)
145
146     * Changes since 1.3.9 can be more easily seen in the commitlog file
147          dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
148       which includes some of Roy's comments when the changes were
149       committed in rough change-sets by purpose.  Note that the commitlog
150       does not show the contents of new files until later.
151
152 Available Patches:
153
154    * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
155      performance
156        Status: These were written for 1.3, and are awaiting a port to
157        2.0
158
159 Open issues:
160
161    * What do we do about mod_proxy?
162
163    * Which MPMs will be included with Apache 2.0?
164
165    * Is conf/highperformance.conf-dist obsolete?  It looks obsolete.
166