]> granicus.if.org Git - apache/blob - STATUS
Some status updates
[apache] / STATUS
1 Apache 2.0 STATUS:
2 Last modified at [$Date: 2000/02/16 16:48:32 $]
3
4 Release:
5
6     Vague plan, assuming more features aren't demanded for the 2.0 release
7     2.0a1/b1: January 2000
8     2.0     : later in 2000
9
10 RELEASE SHOWSTOPPERS:
11     * DSO hooks registered during the preflight call to ap_read_config
12         are not 'unregistered' during the preflight clean-up. Thus, when 
13         Apache comes up, the hook tables contain two entries for each DSO hook,
14         one of which is bogus, leftover from the preflight. 
15
16     * Pipes to CGI scripts are not being timed out
17         Status: code has been added to APR to support timing out pipes.
18                 This needs to be used in Apache now.
19
20     * Put back resource limit code
21
22     * Port mod_rewrite
23         Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
24
25     * suEXEC doesn't work
26         Status: Manoj has posted an patch to fix this.
27         <19991103003605.A20612@samosa.mindspring.com>
28
29     * Win32: Fix Win9* specific code in the winnt MPM
30         Status:
31
32     * Win32: Test access logging with multiple threads. Will the 
33         native file I/O calls serialize automagically like the 
34         CRT calls or do we need to add region locking each time 
35         we access the logs?
36         Status: 
37
38     * Win32:  Smoke test all ported modules to make sure they work 
39         correctly under Windows.
40         Status: 
41
42     * Current 2.0 code is not tested on many Unix platforms. Make 2.0
43       work on most, if not all the systems 1.3 did
44         Status: Autoconf and APR will get us most of the way there.
45
46     * The module API is a weird combination of the old table and the new
47       hook system. Switch completely to the new hook system
48         Status: Ben Laurie is working on this.
49
50     * Modules.  Which modules do not work yet, can we get a list?
51
52     * We need a thread-safe resolver, at least on Unix.
53         Status: The best known candidate would be something from BIND
54         (v8 or v9?) The only other option would be to mutex all the
55         resolver calls,
56
57 RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
58
59     * Win32: Non-blocking CGI pipes
60
61     * Win32: Graceful restart of a service is broken (code does shutdown then start)
62
63     * Dynamically loadable MPMs
64       Enable users of the binary distributions of Apache to be able to 
65       dynamically load the MPM.
66
67     * Platforms that do not support fork (primarily Win32 and AS/400)
68       Consider introducing HAVE_FORK feature macro. Architect start-up code
69       that avoids initializing all the modules in the parent process on
70       platforms that do not support fork.
71
72     * Clean the code.  There are a lot of places we used APR but didn't 
73       remove the hacks that were required for the cross-platform code in
74       1.3.  We need to make the code look like APR was supposed to be there. 
75
76     * Go throught the Bug DB and research the bugs marked "suspended".  People
77       were told these would be considered for inclusion in Apache 2.0, it 
78       would be nice to actually do so.
79
80     * Win32: Migrate the MPM over to use APR thread/process calls. This
81       would eliminate some code in the Win32 branch that essentially
82       duplicates what is in APR.
83         Status: Bill <stoddard@raleigh.ibm.com> is working on this.
84
85     * Move I/O layering into APR.
86
87     * There are still a number of places in the code where we are
88       loosing error status (i.e. throwing away the error returned by a
89       system call and replacing it with a generic error code)
90
91     * Win32: Implement reliable piped logs on Windows
92         Status: Bill <stoddard@raleigh.ibm.com> has prototype code (not
93         reliable) in 1.3.  Should be much cleaner with APR in 2.0.
94
95     * Switch to autoconf, et al. for configuration.
96         Status: Manoj has placed an initial version into the 2.0
97         repository. Todos include:
98           
99           - "make install" should work
100           - a tool to simplfy third-party module building should be
101             written. Something like apxs
102           - Add a lot more checks to satisfy the various platforms, e.g.
103             for threading
104
105     * Use APR to get rid of more platform dependancies.
106         Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this.
107
108     * The connection status table is not very efficient. Also, very few stats
109       are exported to the connection status table (easy to fix), and mod_status
110       is ugly.
111
112 Other bugs that need fixing:
113
114     * MaxRequestsPerChild measures connections, not requests.
115         Until someone has a better way, we'll probably just rename it
116         "MaxConnectionsPerChild".
117     
118     * Regex containers don't work in an intutive way
119         Status: No one has come up with an efficient way to fix this
120         behavior. Dean has suggested getting rid of regex containers
121         completely.
122
123     * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
124       sigwaiting thread. We need to work around this, perhaps unless
125       there is hope soon for a fixed glibc.
126
127 Other features that need writing:
128
129     * Finish infrastructure in core for async MPMs
130         Status: ?
131
132     * TODO in source -- just do an egrep on "TODO" and see what's there
133
134     * Work on other MPMs. Possible MPMs discussed or in progress include:
135
136       - Dean Gaudet's async MPM
137           Status: dean is unlikely to begin work on this any time soon...
138             has lots of ideas he'll share with folks willing to begin
139             tackling the issues.  this is apache 2.1 material.
140
141       - Zach Brown's <zab@zabbo.net> Linux siginfo MPM
142           Status: ?
143
144 Documentation that needs writing:
145
146     * The concept of MPMs, especially if we ship more than one MPM for a
147       given platform
148
149     * New directives in the various MPMs
150
151     * API documentation
152         Status: Ben Laurie has written some hooks documentation
153         (apache-2.0/htdocs/hooks.html)
154
155     * Changes since 1.3.9 can be more easily seen in the commitlog file
156          dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
157       which includes some of Roy's comments when the changes were
158       committed in rough change-sets by purpose.  Note that the commitlog
159       does not show the contents of new files until later.
160
161 Available Patches:
162
163    * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
164      performance
165        Status: These were written for 1.3, and are awaiting a port to
166        2.0
167
168 Open issues:
169
170    * What do we do about mod_proxy?
171
172    * Which MPMs will be included with Apache 2.0?
173
174    * Is conf/highperformance.conf-dist obsolete?  It looks obsolete.
175