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