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