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