]> granicus.if.org Git - apache/blob - STATUS
ToDo: timeout pipes to CGIs
[apache] / STATUS
1 Apache 2.0 STATUS:
2 Last modified at [$Date: 1999/11/04 18:25:23 $]
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     * Pipes to CGI scripts are not being timed out
16         Status:
17
18     * Port mod_rewrite
19         Status: Paul Reder is working on this.
20
21     * Port mod_mime_magic
22         Status: Paul Reder is working on this.
23
24     * suEXEC doesn't work
25         Status: Manoj has posted an patch to fix this.
26         <19991103003605.A20612@samosa.mindspring.com>
27
28     * Windows NT port isn't done
29         Status: Bill is working on MPM and APR. Remaining work:
30         1. Add back ability to run Apache as a service
31         2. Fix Win9* specific code in the winnt MPM
32         3. Get the MPM working in multi process mode (one parent & one child)
33         4. Test access logging with multiple threads. Will the native file I/O 
34            calls serialize automagically like the CRT calls or do we need to
35            add region locking each time we write to the access/error logs?
36
37     * Current 2.0 code is not tested on many Unix platforms. Make 2.0
38       work on most, if not all the systems 1.3 did
39
40         Status: Autoconf and APR will get us most of the way there.
41
42     * The module API is a weird combination of the old table and the new
43       hook system. Switch completely to the new hook system
44         Status: Ben Laurie is working on this.
45
46 RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
47
48     * Win32: Redirect stderr to the error log. This is tougher than it appears
49       because Apache for Windows now uses native file I/O libraries rather than
50       the CRT library.  No problem redirecting native I/O STDERR to the error log. 
51       However, we need to replace all the fprintf(stderr...) calls with something 
52       that will write to the native stderr handle instead of the CRT stderr handle.
53       Bleh.
54
55     * Win32: Migrate the MPM over to use APR thread/process calls.
56
57     * Move I/O layering into APR.
58
59     * There are still a number of places in the code where we are loosing error
60       status (i.e. throwing away the error returned by a system call and replacing
61       it with a generic error code)
62
63     * APRize the stat function. CRT stat() is about 30% slower on Windows than
64       the equivalent native Windows call. The APR call should return the Unix
65       style stat structure, just to keep it familier.
66
67     * Implement reliable piped logs on Windows
68       Status: Bill has prototype code (not reliable) in 1.3. Should be much 
69       cleaner with APR in 2.0.
70
71     * Switch to autoconf, et al. for configuration.
72
73     * Use APR to get rid of more platform dependancies.
74         Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this.
75
76     * The connection status table is not very efficient. Also, very few stats
77       are exported to the connection status table (easy to fix), and mod_status
78       is ugly.
79
80 Other bugs that need fixing:
81
82     * MaxRequestsPerChild measures connections, not requests.
83         Until someone has a better way, we'll probably just rename it
84         "MaxConnectionsPerChild".
85     
86     * Regex containers don't work in an intutive way
87         Status: No one has come up with an efficient way to fix this
88         behavior. Dean has suggested getting rid of regex containers
89         completely.
90
91     * Areas where APRFile is being used need to be cleaned-up
92
93     * SIGSEGV on Linux seems to only kill a thread, not a whole process;
94       we need to work around this, probably by bouncing the signal to
95       the sigwait thread. But this will hurt debugability.
96
97 Other features that need writing:
98
99     * Finish infrastructure in core for async MPMs
100         Status: ?
101
102     * TODO in source -- just do an egrep on "TODO" and see what's there
103
104     * Odd comments in source (egrep for "ZZZ") need to be cleaned-up
105
106     * Work on other MPMs. Possible MPMs discussed or in progress include:
107
108       - Dean Gaudet's async MPM
109           Status: ?
110
111       - Zach Brown's <zab@zabbo.net> Linux siginfo MPM
112           Status: ?
113
114 Documentation that needs writing:
115
116     * The concept of MPMs, especially if we ship more than one MPM for a
117       given platform
118
119     * New directives in the various MPMs
120
121     * API documentation
122         Status: Ben Laurie has written some hooks documentation
123         (apache-2.0/htdocs/hooks.html)
124
125     * Changes since 1.3.9 can be more easily seen in the commitlog file
126          dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
127       which includes some of Roy's comments when the changes were
128       committed in rough change-sets by purpose.  Note that the commitlog
129       does not show the contents of new files until later.
130
131 Available Patches:
132
133    * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
134      performance
135        Status: These were written for 1.3, and are awaiting a port to
136        2.0
137
138 Open issues:
139
140    * What do we do about mod_proxy?
141
142    * Which MPMs will be included with Apache 2.0?
143
144    * Is conf/highperformance.conf-dist obsolete?  It looks obsolete.
145