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