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
|
Apache 2.0 STATUS:
Last modified at [$Date: 1999/11/19 18:59:48 $]
Release:
2.0: In pre-alpha development
Plan:
* Vague goal of an alpha or beta release in 1999. Commit-then-review
is active.
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.
* Port mod_rewrite
Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
* Port mod_mime_magic
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. Get the MPM working in multi process mode (one parent & one child)
4. 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?
* 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?
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.
* 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 seems to only kill a thread, not a whole process;
we need to work around this, probably by bouncing the signal to
the sigwait thread. But this will hurt debugability.
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: ?
- 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.
|