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