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