]> granicus.if.org Git - apache/blob - STATUS
Converted prefork MPM's accept mutex to the new lock API
[apache] / STATUS
1 APACHE 2.0 STATUS:                                              -*-text-*-
2 Last modified at [$Date: 2002/02/16 21:20:06 $]
3
4 Release:
5
6     2.0.33  : in development
7     2.0.32  : rolled Feburary 14, 2002.
8     2.0.31  : rolled Feburary 1, 2002.  not released.
9     2.0.30  : tagged January 8, 2002.  not rolled.
10     2.0.29  : tagged November 27, 2001.  not rolled.
11     2.0.28  : released November 13, 2001
12     2.0.27  : rolled November 6, 2001
13     2.0.26  : tagged October 16, 2001.  not rolled.
14     2.0.25  : rolled August 29, 2001
15     2.0.24  : rolled August 18, 2001
16     2.0.23  : rolled August 9, 2001
17     2.0.22  : rolled July 29, 2001
18     2.0.21  : rolled July 20, 2001
19     2.0.20  : rolled July 8, 2001
20     2.0.19  : rolled June 27, 2001
21     2.0.18  : rolled May 18, 2001
22     2.0.17  : rolled April 17, 2001
23     2.0.16  : rolled April 4, 2001
24     2.0.15  : rolled March 21, 2001
25     2.0.14  : rolled March 7, 2001
26     2.0a9   : released December 12, 2000
27     2.0a8   : released November 20, 2000
28     2.0a7   : released October 8, 2000
29     2.0a6   : released August 18, 2000
30     2.0a5   : released August 4, 2000
31     2.0a4   : released June 7, 2000
32     2.0a3   : released April 28, 2000
33     2.0a2   : released March 31, 2000
34     2.0a1   : released March 10, 2000
35
36 Please consult the following STATUS files for information
37 on related projects:
38
39     * srclib/apr/STATUS
40     * srclib/apr-util/STATUS
41     * docs/STATUS
42
43
44 CURRENT RELEASE NOTES:
45
46     * 32 status:
47       Rolled.
48         http://www.apache.org/dist/httpd/httpd-2.0.32-alpha.tar.gz
49       Tested on: Linux 2.4, Win2K, FreeBSD, AIX 
50       Release .32 as beta:
51         +1: trawick, Justin, FirstBill, Ian, Cliff, gregames
52
53 FINAL RELEASE SHOWSTOPPERS:
54
55     * If any request gets to the core handler, without a flag that this 
56       r->filename was tested by dir/file_walk, we need to 500 at the very 
57       end of the ap_process_request_internal() processing.  This provides
58       authors of older modules better compatibility, while still improving
59       the security and robustness of 2.0. 
60         Status: still need to decide where this goes, OtherBill comments...
61         Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
62         we need to look at halting this in the 'default handler' case,
63         and that implies pushing the 'handler election' into the request
64         internal processing phase from the run request phase.
65
66     * Convert all instances of the old apr_lock_t type to the new
67       types (once they are fully supported in APR).
68         Status: Aaron is working on converting INTRAPROCESS
69                 to apr_thread_mutex_t types. Full replacements for
70                 LOCKALL and CROSS_PROCESS are not yet complete on all
71                 platforms, and should only be used in MPMs like worker
72                 with limited OS exposure.
73         BrianP asks: "Is this really a showstopper?"
74         IanH says: "If we don't do it before we go live we will have 2
75                     different API's to support in APR"
76         BrianP agrees: "Yes, let's clean up the remaining dependencies
77                         on the old lock API."
78
79     * API changes planned for 2.0 that should happen before the
80       GA release:
81           * Free lists for bucket allocation
82           * Removal of APR_BRIGADE_NORMALIZE from the public bucket API
83
84     * [Ken] Test suite failures:
85       o worker is also failing some of the 'cgi' subtests
86       (see <URL:http://Source-Zone.Org/Apache/regression/>):
87         Justin says: "Worker should be fine and passes httpd-test here.
88                       If you can provide evidence that it can be reproduced
89                       outside of httpd-test, then it's a showstopper.  I
90                       think it's a perl or a httpd-test problem."
91         Not a showstopper: Justin
92
93     * [Ken] A binbuild installation picks up the right libraries when
94       running apachectl because we set the appropriate environment
95       variable, but ab, htpasswd, etc. don't know how to pick up apr,
96       apr-util, etc.
97         Message-ID: <20020116000226.GA15991@ebuilt.com>
98         gregames says: what about httpd?  yeah, it works at the moment
99                        if you use apachectl.  But I've already heard
100                        complaints about not being able to execute 
101                        httpd directly.
102         Status: Aaron has committed this for all the support binaries,
103                 but is hesitant to do the same for the httpd binary.
104         Message-ID: <20020207142751.T31582@clove.org>
105
106 CURRENT VOTES:
107
108     * Should we always build binaries statically unless otherwise
109       indicated?
110         Message-ID: <20020129210006.B23512@Lithium.MeepZor.Com>
111
112       +1:  Ken
113       -1:  Justin, Ian
114         
115     * If the parent process dies, should the remaining child processes
116       "gracefully" self-terminate. Or maybe we should make it a runtime
117       option, or have a concept of 2 parent processes (one being a 
118       "hot spare").
119       See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
120
121       Self-destruct: Ken, Martin
122       Not self-destruct: BrianP, Ian, Cliff, BillS
123       Make it runtime configurable: Aaron, Jim, Justin
124       Have 2 parents: +1: Jim
125                       -1: Justin
126                       +0: Martin (while standing by, could it do
127                                   something useful?)
128
129     * Make the worker MPM the default MPM for threaded Unix boxes.
130       +1:   Justin, Ian, Cliff
131       -0:   Aaron (premature decision, needs more discussion), Lars
132
133 RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
134
135     * When we start httpd with the -DNO_DETACH flag on Unix, we
136       should still create a new session (and possibly also still close
137       stdin/stdout/stderr and redirect from /dev/null), so that
138       process management tools like 'daemontools' or AIX's System
139       Resource Controller can manage apache.
140         Message-ID: <20011228014444.GA40283@lizzy.bugworks.com>
141         Status: Aaron volunteers.
142
143     * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
144       removed if possible.
145         Message-ID: <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
146         
147     * There is a bug in how we sort some hooks, at least the pre-config
148       hook.  The first time we call the hooks, they are in the correct 
149       order, but the second time, we don't sort them correctly.  Currently,
150       the modules/http/config.m4 file has been renamed to 
151       modules/http/config2.m4 to work around this problem, it should moved
152       back when this is fixed.    rbb
153         Justin says: "Is this really a showstopper?  This has been here
154                       forever.  What's wrong?  Does this have to do with
155                       autoconf or m4?"
156         Not a showstopper: Justin, BrianP, trawick, gregames
157
158     * The Add...Filter and Set...Filter directives do not allow the
159       administrator to order filters, beyond the order of filename (mime)
160       extensions.  It isn't clear if Set...Filter(s) should be inserted 
161       before or after the Add...Filter(s) which are ordered by sequence of
162       filename extensions.  At minimum, some sort of +-[0-10] syntax seems
163       like the quickest fix for a 2.0 gold release.
164         Justin says: "Could we delay this for a point release or 2.1?"
165         Not a showstopper: justin, wrowe, trawick, stoddard, Jim, Ian, Aaron,
166                            gregames
167
168     * Get perchild to work on platforms other than Linux. This
169       will require a portable mechanism to pass data and file/socket
170       descriptors between vhost child groups. An API was proposed
171       on dev@apr:
172         Message-ID: <20020111115006.K1529@clove.org>
173
174     * Recent changes to ap_rgetline may have broken EBCDIC boxes.
175         Message-ID: <20020122072605.GF28051@ebuilt.com>
176         Justin says: "I don't have an EBCDIC box to test on.  A potential
177                       solution is to split out ap_rgetline into two
178                       functions as described in this message."
179         gregames says: I see the breakage now, and volunteer to fix it
180                        when things calm down a little.  It looks OK when 
181                        there are complete lines and no mime continuations.
182
183     * CGI single-byte reads
184       BrianP suggests that this is caused by the ap_scan_script_header_err()
185       routine, which will do single-byte reads until it finds the end
186       of the header, at which point it constructs a pipe-bucket (buffered)
187       to read from.
188       Proposed solution in:
189         Message-ID: <3C36ADAF.60601@cnet.com>
190
191     * Try to get libtool inter-library dependency code working on AIX.
192         Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
193
194       Justin says: If we get it working on AIX, we can enable this
195                    on all platforms and clean up our build system
196                    somewhat.
197       Jeff says:   I thought I tested a patch for you sometime in
198                    January that you were going to commit within a few
199                    days.
200
201     * Handling of %2f in URIs.  Currently both 1.3 and 2.0
202       completely disallow %2f in the request URI path (see
203       ap_unescape_url() in util.c).  It's permitted and passed
204       through in the query string, however.  Roy says the
205       original reason for disallowing it, from five years ago,
206       was to protect CGI scripts that applied PATH_INFO to
207       a filesystem location and which might be tricked by
208       ..%2f..%2f(...).  We *should* allow path-info of the
209       form 'http://foo.com/index.cgi/path/to/path%2finfo'.
210       Since we've revamped a lot of our processing of path
211       segments, it would be nice to allow this, or at least
212       allow it conditionally with a directive.
213
214     * FreeBSD, threads, and worker MPM.  All seems to work fine 
215       if you only have one worker process with many threads.  Add 
216       a second worker process and the accept lock seems to be
217       lost.  This might be an APR issue with how it deals with
218       the child_init hook (i.e. the fcntl lock needs to be resynced).
219       More examination and analysis is required.
220         Status: This has also been reported on Cygwin.  
221         Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
222
223       Justin says: So, FreeBSD-CURRENT and Cywin have the same 
224                    problem.  Yum.  If another platform has this
225                    with worker, this becomes a showstopper.
226       Aaron says: I spent some time disecting this and have come to
227               the conclusion that it is not a problem in the worker MPM
228               (or at least, it is not isolated to a problem in worker).
229               I'll list some of the problems I'm seeing in case someone
230               else wants to pick up where I've left off:
231                - Delivery of just about any signal to one of the child
232                  processes will send it into an infinite loop as well.
233                - Even though the parent is spinning out of control,
234                  at first the child or children will appear to work
235                  properly. At times it is possible to get it into a state,
236                  however, where a request will hang until another concurrent
237                  request "kicks" the first, at which point the second will
238                  hang. My theory is that this has to do with the
239                  pthread_cond_*() implementation in FreeBSD, but it's still
240                  possible that it is in APR.
241       
242       Justin adds: Oh, FreeBSD threads are implemented entirely with 
243                    select()/poll()/longjmp().  Welcome to the nightmare.
244                    So, that means a ktrace output also has the thread 
245                    scheduling internals in it (since it is all the same to 
246                    the kernel).  Which makes it hard to distinguish between 
247                    our select() calls and their select() calls.  
248                    *bangs head on wall repeatedly*  But, some of the libc_r 
249                    files have a DBG_MSG #define.  This is moderately helpful
250                    when used with -DNO_DETACH.  The kernel scheduler isn't 
251                    waking up the threads on a select().  Yum.  And, I bet 
252                    those decrementing select calls have to do with the 
253                    scheduler.  Time to brush up on our OS fundamentals.
254
255     * There is increasing demand from module writers for an API
256       that will allow them to control the server Ã  la apachectl.
257       Reasons include sole-function servers that need to die if
258       an external dependency (e.g., a database) fails, et cetera.
259       Perhaps something in the (ever more abused) scoreboard?
260         rbb: I don't believe the scoreboard is the correct mechanism
261              for this.  We already have a pipe that goes between parent
262              and child for graceful shutdown events, along with an API that
263              can be used to send a message down that pipe.  In threaded MPMs,
264              it is easy enough to make that one pipe be used for graceful
265              and graceless events, and it is also easy to open that pipe
266              to both parent and child for writing.  Then we just need to
267              figure out how to do graceless on non-threaded MPMs.
268
269     * Allow the DocumentRoot directive within <Location > scopes?  This
270       allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
271       by a <Directory /somepath/foo> to become simply 
272       <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
273       and in-your-face.)  DocumentRoot unset would be accepted [and would
274       not permit content to be served, only virtual resources such as
275       server-info or server-status.
276         This proposed change would _not_ depricate Alias.
277
278     * Win32: Rotatelogs sometimes is not terminated when Apache
279       goes down hard.  FirstBill was looking at possibly tracking the 
280       child's-child processes in the parent process.
281         OtherBill asks, wasn't this fixed? 
282         stoddard: Not fixed. Shared scoreboard might offer a good
283         way for the parent to keep track of 'other child' processes
284         and whack them if the child goes down.
285
286     * Win32: Add a simple hold console open patch (wait for close or
287         the ESC key, with a nice message) if the server died a bad 
288         death (non-zero exit code) in console mode.
289         Resolution: bring forward same ugly hacks from 1.3.13-.20
290
291     * Port of mod_ssl to Apache 2.0:
292
293       The current porting state is summarized in modules/ssl/README. The
294       remaining work includes:
295       (1) stablizing/optimizing the SSL filter logic
296       (2) Enabling the various SSL caching mechanisms (shmcb, shmht)
297       (3) Enabling SSL extentions
298       (4) Trying to seperate the https filter logic from mod_ssl -
299           This is to facilitate other modules that wish to use the https
300           filter or the mod_ssl logic or both as required.
301         Justin: mod_ssl filter logic is redone, so that should be fine.
302                 Madhu has submitted a patch for SSL caching - however, I
303                 am -0 on that patch as I *think* we could implement the
304                 shared memory another way that is much cleaner (i.e.
305                 treat shmem directly as a dbm via APR routines).  Justin 
306                 also thinks that the https filter logic may be sufficiently
307                 decoupled now, but isn't really sure.
308
309     * Performance & Debug: Eliminate most (and perhaps all) of the 
310       malloc/free calls in the bucket brigade code.  Need some 
311       light weight memory management functions that allow freeing 
312       memory (putting it back into a memory pool) when it is no 
313       longer needed. Enabling simple debugging features like guard
314       bands, double free detection, etc. would be cool but certainly
315       not a hard requirement.
316
317           Status: Cliff started to implement this using SMS as has
318                   been discussed at length for months, but since
319                   SMS is not being used anywhere else in the server,
320                   several people expressed the opinion that we should
321                   get rid of it entirely, meaning that the buckets
322                   need their own memory management (free list) functions.
323                   Cliff will implement that this weekend so we at least
324                   have something to look at/compare with.
325
326     * Eliminate unnecessary creation of pipes in mod_cgid
327         Status: Ken asks, didn't Jeff fix this when he fixed the queue
328                 overrun?
329
330     * the autoconf setup should be fixed to default to using the 
331       "Apache" layout from config.layout, and each variable settable
332       in a layout should be overridable on the command line.  Plus,
333       what we do right now just doesn't seem to fully fit into how autoconf
334       works, eg. AC_PREFIX_DEFAULT issues.
335         Message-ID: <Pine.BSF.4.20.0104031557420.20876-100000@alive.znep.com>
336
337     * Combine log_child and piped_log_spawn. Clean up http_log.c.
338       Common logging API.
339
340     * Document mod_file_cache.
341
342     * Platforms that do not support fork (primarily Win32 and AS/400)
343       Architect start-up code that avoids initializing all the modules 
344       in the parent process on platforms that do not support fork.
345
346     * Win32: Migrate the MPM over to use APR thread/process calls. This
347       would eliminate some code in the Win32 branch that essentially
348       duplicates what is in APR.
349
350     * There are still a number of places in the code where we are
351       losing error status (i.e. throwing away the error returned by a
352       system call and replacing it with a generic error code)
353
354     * Mass vhosting version of suEXEC.
355
356     * All DBMs suffer from confusion in support/dbmmanage (perl script) since 
357       the dbmmanage employs the first-matched dbm format.  This is not
358       necessarily the library that Apache was built with.  Aught to
359       rewrite dbmmanage upon installation to bin/ with the proper library 
360       for predictable mod_auth_dbm administration.
361         Questions; htdbm exists, time to kill dbmmanage, or does it remain
362                    useful as a perl dbm management example?  If we keep it,
363                    do we address the issue above?
364
365     * Integrate mod_dav.
366         Some additional items remaining:
367         - case_preserved_filename stuff
368             (use the new canonical name stuff?)
369         - find a new home for ap_text(_header)
370         - is it possible to remove the DAV: namespace stuff from util_xml?
371
372     * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
373       are a bit wonky.  The function should probably be exposed as a utility 
374       function (such as ap_translate_url2fs() or ap_validate_fs_url() or 
375       something).  Another approach would be a new hook phase after
376       "translate" which would allow the module to munge what the
377       translation has decided to do.
378         Status: Greg +1 (volunteers), Ryan +1
379
380     * Explore use of a post-config hook for the code in http_main.c which
381       calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
382       ap_sort_hooks()  [to reduce the logic in main()]
383
384     * read the config tree just once, and process N times (as necessary)
385
386     * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
387
388     * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
389       into a VirtualHost container) to 2.0.
390
391     * shift stuff to mod_core.h
392
393     * callers of ap_run_create_request() should check the return value
394       for failure (Doug volunteers)
395
396     * Win32: Get Apache working on Windows 95/98. The following work
397         (at least) needs to be done:
398         - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
399         specific code that is still not in NT only code paths
400         - IOL binds to APR sendfile, implemented with TransmitFile, which 
401         is not available on 95/98.
402         - Document warning that OSR2 is required (for Crypt functions, in
403         rand.c, at least.)  This could be resolved with an SSL library, or
404         randomization in APR itself.
405         - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
406         actually works) and add in a splash of Win9x service code.
407
408     * In order to use a DSO version of mod_ssl we have to link with
409       -lssl and -lcrypto. A workaround is in place right now where the
410       entire EXTRA_LIBS macro is being appended to the objects list, but
411       this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
412       autoconf function or come up with some other autoconf checks to
413       search for libssl and libcrypto and properly add them to mod_ssl's
414       link flags.
415
416     * Fix the worker MPM to use POD to kill child processes instead
417       of ap_os_killpg, regardless of how they should die. (Ryan Bloom)
418
419 PRs that have been suspended forever waiting for someone to
420 put them into 'the next release':
421
422     * PR#76: general
423       missing call to "setlocale();"
424         Status: 
425
426     * PR#78: mod_include
427       Additional status for XBitHack directive
428         Status: 
429
430     * PR#362: mod_proxy
431       Mod_proxy doesn't allow change of error pages
432         Status: 
433
434     * PR#370: mod_env
435       Modified PATH environemnt variable is not passed, instead
436       system's is used
437         Status: 
438
439     * PR#440: mod_proxy
440       Proxy doesn't deliver documents if not connected
441         Status: 
442
443     * PR#534: mod_proxy
444       proxy converts ~name to %7Ename when name starts with a dot (.)
445         Status: 
446
447     * PR#537: mod_access
448       mod_access syntax allows hosts that should be restricted
449         Status: 
450
451     * PR#557: mod_auth-any
452       ~UserHome directories are not honored in absolute pathname
453       requests (.htaccess)
454         Status: 
455
456     * PR#612: mod_proxy
457       Proxy FTP Authentication Fails
458         Status: 
459
460     * PR#623: mod_include
461       A smarter "Last Modified" value for SSI documents (see PR number 600)
462         Status: 
463
464     * PR#628: config
465       Request of "Options SymLinksIfGroupMatch"
466         Status: 
467
468     * PR#700: mod_proxy
469       Proxy doesn't do links right for OpenVMS files through ftp:
470         Status: 
471
472     * PR#759: mod_imap
473       imap should read <MAP><AREA>*</MAP> too!
474         Status: 
475
476     * PR#793: general
477       RLimitCPU and RLimitMEM don't apply to all children like they should
478         Status: 
479
480     * PR#921: suexec
481       Uses cwd before filling it in, doesn't use syslog
482         Status: 
483
484     * PR#922: config
485       it is useful to allow specifiction that root-owned symlinks
486       should always be followed
487         Status: 
488
489     * PR#980: mod_proxy
490       Controlling Access to Remote Proxies would be nice...
491         Status: 
492
493     * PR#994: mod_proxy
494       Adding authentication "on the fly" through the proxy module
495         Status: 
496
497     * PR#1004: apache-api
498       request_config field in request_rec is moderately bogus
499         Status: 
500
501     * PR#1028: other
502       DoS attacks involving memory consumption
503         Status: 
504
505     * PR#1050: mod_log-any
506       Logging of virtual server to error_log as well
507         Status: 
508
509     * PR#1085: mod_proxy
510       ProxyRemote make a dead cycle.
511         Status: 
512
513     * PR#1117: mod_auth-any
514       Using NIS passwd.byname dbm files with AuthDBMUserFile
515         Status: 
516
517     * PR#1120: suexec
518       suexec does not parse arguments to #exec cmd
519         Status: 
520
521     * PR#1145: mod_include
522       Allow for Last-Modified: without resorting to XBitHack
523         Status: 
524
525     * PR#1158: apache-api
526       improvements to child spawning API
527         Status: 
528
529     * PR#1166: mod_proxy
530       ``nph-'' not honored (no buffering) for ProxyRemote mapping
531         Status: 
532
533     * PR#1176: mod_cgi
534       Apache cannot handle continuation line in headers
535         Status: 
536
537     * PR#1191: general
538       setlogin() is not called, causing problems with e.g. identd
539         Status: 
540
541     * PR#1204: general
542       regerror() exists, use it
543         Status: 
544
545     * PR#1233: apache-api
546       there is no way to keep per-connection per-module state
547         Status: 
548
549     * PR#1263: mod_autoexec
550       Add frame-safe anchor attribute to mod_autoindex links
551         Status: 
552
553     * PR#1268: suexec
554       CGI scripts running as Apache user: security (suexec etc.)
555         Status: 
556
557     * PR#1285: suexec
558       Error messages could be easier to spot in cgi.log file for suexec.c
559         Status: 
560
561     * PR#1287: mod_access
562       add allow,deny/deny,allow warning to mod_access
563         Status: 
564
565     * PR#1290: mod_proxy
566       Need to know "hit-rate" on proxy cache
567         Status: 
568
569     * PR#1358: mod_log-any
570       Selective url-encode of log fields (or maybe a pseudo
571       log_rewrite module?)
572         Status: 
573
574     * PR#1383: mod_headers
575       I make mod_headers to modify request headers as well as
576       response ones.
577         Status: 
578
579     * PR#1532: mod_proxy
580       Proxy transfer logging
581         Status: 
582
583     * PR#1547: mod_proxy
584       No HTTP_X_FORWARDED_FOR set...
585         Status: 
586
587     * PR#1567: mod_proxy
588       ProxyRemote proxy requests fail authentication by firewall
589         Status: 
590
591     * PR#1582: mod_rewrite
592       mod_rewrite forms REQUEST_URI different than mod_cgi does
593         Status: 
594
595     * PR#1677: mod_headers
596       mod_headers should allow mod_log_config-style formats in
597       header values
598         Status: 
599
600     * PR#1702: mod_proxy
601       mod_proxy to support persistent conns?
602         Status: 
603
604     * PR#1803: mod_include
605       patches to mod_include to allow for file tests
606         Status: 
607
608     * PR#1809: mod_auth-any
609       Suggestion for improving authentication modules and core source
610       code, problem with 401 and ErrorDocument
611         Status: 
612
613     * PR#1878: mod_proxy
614       listing of proxy cache content
615         Status: 
616
617     * PR#1905: suexec
618       Allow modules to set user:group for execution.
619         Status: 
620
621     * PR#2024: apache-api
622       adding auth_why to conn_rec
623         Status: 
624
625     * PR#2073: mod_log-any
626       pipelined connections are not logged correctly
627         Status: 
628
629     * PR#2074: mod_rewrite
630       mod_rewrite doesn't pass Proxy Throughput on internal subrequests
631         Status: 
632
633     * PR#2113: config
634       HTTP Server Rebuild Line Needs Changing for the better
635         Status: 
636
637     * PR#2138: mod_status
638       mod_status always displays 256 possible connection slots
639         Status: 
640
641     * PR#2221: documentation
642       Make online documentation search link back to my installation
643         Status: 
644
645     * PR#2284: general
646       Can not POST to ErrorDocument - Apache/1.3b6
647         Status: 
648
649     * PR#2314: mod_proxy
650       patterns in ProxyRemote
651         Status: 
652
653     * PR#2343: mod_status
654       Status module averages are for entire uptime
655         Status: 
656
657     * PR#2360: suexec
658       suexec for general access of user content?
659         Status: 
660
661     * PR#2396: general
662       Proposal for TimeZone directive
663         Status: 
664
665     * PR#2415: mod_info
666       /server-info doesn't check for the virtual host to list the info
667         Status: 
668
669     * PR#2421: config
670       problem specifying ndbm library for build ?with autoconfigure
671         Status: 
672
673     * PR#2431: general
674       A small addition to rotatelogs.c to improve program functionality.
675         Status: 
676
677     * PR#2446: config
678       AllowOverride FileInfo is too coarse
679         Status: 
680
681     * PR#2460: mod_cgi
682       TimeOut applies to output of CGI scripts
683         Status: 
684
685     * PR#2512: mod_access
686       &lt;IfDenied&gt; directive wanted
687         Status: 
688
689     * PR#2573: suexec
690       CGI's for general use still have to be run as another user
691       with suExec
692         Status: 
693
694     * PR#2648: general
695       Cache file names in Proxy module
696         Status: 
697
698     * PR#2760: config
699       [PATCH] User/Group for <Directory> and <Location> i.e. not only
700       in global and <Virtual>.
701         Status: 
702
703     * PR#2763: general
704       mailto tags and bundling bug report script
705         Status: 
706
707     * PR#2785: os-aix
708       Support for System Resource Controller
709         Status: 
710
711     * PR#2793: protocol
712       When will Apache support P3P? Any Plans?
713         Status: 
714
715     * PR#2873: config
716       Feedback/Comment on APACI
717         Status: 
718
719     * PR#2889: general
720       Inclusion of RPM spec file in CVS/distributions
721         Status: 
722
723     * PR#2906: general
724       Propose that Apache recommend $UNIQUE_ID for all "session id"
725       algorithms
726         Status: 
727
728     * PR#2907: config
729       suggestion: power up your Include directive :)
730         Status: 
731
732     * PR#3018: general
733       cannot limit some HTTP methods
734         Status: 
735
736     * PR#3143: apache-api
737       No module specific data hook for per-connection data
738         Status: 
739
740     * PR#3191: mod_negotiation
741       no way to set global quality-of-source (qs) coneg values
742       with multiviews
743         Status: 
744
745     * PR#3568: mod_proxy
746       Accessing URL through proxy server corrupts data.
747         Status: 
748
749     * PR#3605: mod_proxy
750       Some anonymous FTP URLs ask for authentication
751         Status: 
752
753     * PR#3677: general
754       New ErrorDocumentMatch directive
755         Status: 
756
757     * PR#4241: config
758       Need to be able to override shebang line to make CGI scripts
759       more portable.
760         Status: 
761
762     * PR#4244: config
763       "Files" and "FilesMatch" regexp does not recognize bang as
764       negation operator
765         Status: 
766
767     * PR#4448: mod_log-any
768       Please allow CGI env variables (QUERY_STRING, ...) to be logged
769       with %{}e
770         Status: 
771
772     * PR#4459: mod_include
773       Suggestion for better handling of Last-modified headers
774         Status: 
775
776     * PR#4490: mod_cgi
777       mod_cgi prevents handling of OPTIONS requests
778         Status: 
779
780     * PR#5713: os-windows
781       [PATCH] install as win32 service with domain account
782         Status: Cannot accept password-as-arg, we should prompt the
783                 user when -k install/-k config with a user argument.
784
785     * PR#5993: general
786       AllowOverride should have a 'CheckNone' and 'AllowNone' argument
787       instead of only 'None'
788         Status: 
789
790 Other bugs that need fixing:
791
792     * MaxRequestsPerChild measures connections, not requests.
793         Until someone has a better way, we'll probably just rename it
794         "MaxConnectionsPerChild".
795     
796     * Regex containers don't work in an intutive way
797         Status: No one has come up with an efficient way to fix this
798         behavior. Dean has suggested getting rid of regex containers
799         completely.
800         OtherBill suggests: We at least seem to agree on eliminating
801                             the <Container ~ foo> forms, and using only
802                             <ContainerMatch foo> semantics.
803
804     * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
805       sigwaiting thread. We need to work around this, perhaps unless
806       there is hope soon for a fixed glibc.
807
808     * orig_ct in the byterange/multipart handling may not be
809       needed. Apache 1.3 just never stashed "multipart" into
810       r->content_type. We should probably follow suit since the
811       byterange stuff doesn't want the rest of the code to see the
812       multipart content-type; the other code should still think it is
813       dealing with the <orig_ct> stuff.
814         Status: Greg volunteers to investigate (esp. since he was most 
815                 likely the one to break it :-)
816
817 Other features that need writing:
818
819     * Finish infrastructure in core for async MPMs
820         Status: post 2.0
821
822     * TODO in source -- just do an egrep on "TODO" and see what's there
823
824 Available Patches:
825
826    * Jon Travis's <jtravis@covalent.net> patch to deal with thread-safe
827      issues with inet_ntoa.  See message <20001201163220.A12827@covalent.net>
828         Status:  This is being set aside until the IPv6 work is finished
829                  so that we know exactly what is required.
830
831    * Martin Sojka <msojka@gmx.de>'s patch to add error reporting for failed 
832      htpasswd actions due to a full /tmp volume (other programs may have
833      similar problems?)
834         PR: 6475
835         Status:
836
837    * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
838      performance
839        Status: These were written for 1.3, and are awaiting a port to
840        2.0
841  
842    * Jim Winstead's <jimw@trainedmonkey.com> patch to add CookieDomain and 
843      other small mod_usertrack features
844
845    * Dan Rench's <drench@xnet.com> patch to add allow the errmsg and timefmt 
846      of SSI's to be modified in the config file.  Patch is available in 
847      PR6193
848
849 Open issues:
850
851    * Which MPMs will be included with Apache 2.0?