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