]> granicus.if.org Git - apache/blob - STATUS
Update after the tag (and roll).
[apache] / STATUS
1 APACHE 2.0 STATUS:                                              -*-text-*-
2 Last modified at [$Date: 2002/09/19 11:57:08 $]
3
4 Release:
5
6     2.0.43  : in development.
7     2.0.42  : rolled September 19, 2002.
8     2.0.41  : rolled September 16, 2002.  not released.
9     2.0.40  : released August 9, 2002 as GA.
10     2.0.39  : released June 17, 2002 as GA.
11     2.0.38  : rolled June 16, 2002.  not released.
12     2.0.37  : rolled June 11, 2002.  not released.
13     2.0.36  : released May 6, 2002 as GA.
14     2.0.35  : released April 5, 2002 as GA.
15     2.0.34  : tagged March 26, 2002.
16     2.0.33  : tagged March 6, 2002.  not released.
17     2.0.32  : released Feburary 16, 2002 as beta.
18     2.0.31  : rolled Feburary 1, 2002.  not released.
19     2.0.30  : tagged January 8, 2002.  not rolled.
20     2.0.29  : tagged November 27, 2001.  not rolled.
21     2.0.28  : released November 13, 2001 as beta.
22     2.0.27  : rolled November 6, 2001
23     2.0.26  : tagged October 16, 2001.  not rolled.
24     2.0.25  : rolled August 29, 2001
25     2.0.24  : rolled August 18, 2001
26     2.0.23  : rolled August 9, 2001
27     2.0.22  : rolled July 29, 2001
28     2.0.21  : rolled July 20, 2001
29     2.0.20  : rolled July 8, 2001
30     2.0.19  : rolled June 27, 2001
31     2.0.18  : rolled May 18, 2001
32     2.0.17  : rolled April 17, 2001
33     2.0.16  : rolled April 4, 2001
34     2.0.15  : rolled March 21, 2001
35     2.0.14  : rolled March 7, 2001
36     2.0a9   : released December 12, 2000
37     2.0a8   : released November 20, 2000
38     2.0a7   : released October 8, 2000
39     2.0a6   : released August 18, 2000
40     2.0a5   : released August 4, 2000
41     2.0a4   : released June 7, 2000
42     2.0a3   : released April 28, 2000
43     2.0a2   : released March 31, 2000
44     2.0a1   : released March 10, 2000
45
46 Please consult the following STATUS files for information
47 on related projects:
48
49     * srclib/apr/STATUS
50     * srclib/apr-util/STATUS
51     * docs/STATUS
52
53
54 CURRENT RELEASE NOTES:
55
56
57 RELEASE SHOWSTOPPERS:
58
59
60 CURRENT VOTES:
61
62     * httpd-std.conf and friends
63
64       a) httpd-std.conf should be tailored by install (from src or
65          binbuild) even if user has existing httpd.conf
66          +1:   trawick, slive, gregames, ianh, Ken
67
68       b) tailored httpd-std.conf should be copied by install to
69          sysconfdir/examples
70          -0:   striker
71
72       c) tailored httpd-std.conf should be installed to
73          sysconfdir/examples or manualdir/exampleconf/
74          +1:   slive, trawick, Ken
75
76       d) Installing a set of default config files when upgrading a server
77          doesn't make ANY sense at all.
78          +1:   rbb, striker
79            ianh - medium/big sites don't use 'standard config' anyway, as it
80                   usually needs major customizations
81          -1:   Ken
82
83     * Should we always build [support*] binaries statically unless otherwise
84       indicated?
85         Message-ID: <20020129210006.B23512@Lithium.MeepZor.Com>
86
87       +1:  Ken, *wrowe [they are PITAs on OSX]
88       -1:  Justin, Ian
89         
90     * If the parent process dies, should the remaining child processes
91       "gracefully" self-terminate. Or maybe we should make it a runtime
92       option, or have a concept of 2 parent processes (one being a 
93       "hot spare").
94       See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
95
96       Self-destruct: Ken, Martin
97       Not self-destruct: BrianP, Ian, Cliff, BillS
98       Make it runtime configurable: Aaron, Jim, Justin
99       Have 2 parents: +1: Jim
100                       -1: Justin, wrowe [for 2.0]
101                       +0: Martin (while standing by, could it do
102                                   something useful?)
103
104     * Make the worker MPM the default MPM for threaded Unix boxes.
105       +1:   Justin, Ian, Cliff, BillS, striker
106       +0:   BrianP, Aaron (mutex contention is looking better with the
107             latest code, let's continue tuning and testing)
108       -0:   Lars
109
110 RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
111
112     * All handlers should always send content down even if r->header_only
113       is set.  If not, it means that the HEAD requests don't generate the
114       same headers as a GET which is wrong.
115       Is this a showstopper?
116         +1: Justin, Ken
117         -1: Aaron
118
119     * server pushed CGI's not working.  (Is this a showstopper??)
120       PR: 8482
121       Message-ID: <3CE15B85.2FF45121@apache.org>
122
123     * HP/UX 10.20: compile breakage in APR.  Looks like it should be easy
124       to fix, probably just some extraneous #include's that are fouling
125       things up.
126       PR: 9457
127       Jeff: See my reply and patch in the PR (and previous commit to
128       stop using "pipe" as a field name).  If patch is committed, we
129       should be okay.  I'll wait to see if the user tests the patch.
130       Update by Jeff 20020722: I got an account on HP 10.20.  It looks
131       like some of the APR thread detection is screwed up.  If we find
132       pthread.h but we can't compile the pthread test program we still
133       think we can use threads.  For that reason, the patch I posted
134       to the PR won't work as-is since a failed compile of the test
135       program means nothing.
136
137     * exec cmd and suexec arg-passing enhancements
138       Status: Patches proposed
139       Message-ID: <20020526041748.A29148@prodigy.Redbrick.DCU.IE>
140       (see the "proc.patch" and "suexec-shell.patch" links in this message)
141
142     * Get mod_cache/mod_mem_cache out of experimental (still some
143       work items left to complete)
144
145     * The 2.0.36 worker MPM graceless shutdown changes work but are
146       a bit clunky on some platforms; eg, on Linux, the loop to
147       join each worker thread seems to hang, and the parent ends up
148       killing off the child with SIGKILL.  But at least it shuts down.
149
150     * --enable-mods-shared="foo1 foo2" is busted on Darwin.  Pier
151         posted a patch (Message-ID: <B8DBBE8D.575A%pier@betaversion.org>).
152
153     * We do not properly substitute the prefix-variables in the configuration
154       scripts or generated-configs.  (i.e. if sysconfdir is etc,
155       httpd-std.conf points to conf.)
156
157     * If any request gets through ap_process_request_internal() and is
158       scheduled to be served by the core handler, without a flag that this 
159       r->filename was tested by dir/file_walk, we need to 500 at the very 
160       end of the ap_process_request_internal() processing so sub_req-esters
161       know this request cannot be run.  This provides authors of older 
162       modules better compatibility, while still improving the security and 
163       robustness of 2.0. 
164
165         Status: still need to decide where this goes, OtherBill comments...
166         Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
167         [Deleted comments regarding the ap_run_handler phase, as irrelevant
168             as BillS points out that "common case will be caught in
169             default_handler already (with the r->finfo.filetype == 0 check)"
170             and the issue is detecting this -before- we try to run the req.]
171
172         gregames says: can this happen somehow without a broken module
173             being involved?  If not, why waste cycles trying to defend against
174             potential broken modules?  It seems futile.
175         wrowe counters: no, it shouldn't happen unless the module is broken.
176             But the right answer is to fail the request up-front in dir/file
177             walk if the path was entirely invalid; and we can't do that either
178             or we break modules that are unwilling to hook map_to_storage.
179
180     * Rewrite core_output_filter. It is nearly impossible to support
181       it with predictable results as it is implemented now.
182
183     * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
184       how the Perchild MPM should be re-written.  It hasn't worked
185       correctly since filters were added because it wasn't possible to
186       get the content that had already been written and the socket at
187       the same time.  This mode lets us do that, so the MPM can be
188       fixed.
189
190     * htpasswd blindly processes the file you give it, and does no
191       sanity checking before totally corrupting whatever file it was
192       you thought you had. It should check the input file and bail
193       if it finds non-comment lines that do not contain exactly 1
194       ':' character.
195         Message-ID: <20020217150457.A31632@clove.org>
196
197     * Can a static httpd be built reliably?
198         Message-ID: <20020207142751.T31582@clove.org>
199
200     * [Ken] Test suite failures:
201       o worker is also failing some of the 'cgi' subtests
202       (see <URL:http://Source-Zone.Org/Apache/regression/>):
203         Justin says: "Worker should be fine and passes httpd-test here.
204                       If you can provide evidence that it can be reproduced
205                       outside of httpd-test, then it's a showstopper.  I
206                       think it's a perl or a httpd-test problem."
207         Not a showstopper: Justin
208
209     * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
210       removed if possible.
211         Message-ID: <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
212         Jeff wonders if we still care about this.  It is no longer an
213         API issue but simply an extra trip through the brigade.
214
215     * There is a bug in how we sort some hooks, at least the pre-config
216       hook.  The first time we call the hooks, they are in the correct 
217       order, but the second time, we don't sort them correctly.  Currently,
218       the modules/http/config.m4 file has been renamed to 
219       modules/http/config2.m4 to work around this problem, it should moved
220       back when this is fixed.    rbb
221         Justin says: "Is this really a showstopper?  This has been here
222                       forever.  What's wrong?  Does this have to do with
223                       autoconf or m4?"
224         Not a showstopper: Justin, BrianP, trawick, gregames
225
226     * The Add...Filter and Set...Filter directives do not allow the
227       administrator to order filters, beyond the order of filename (mime)
228       extensions.  It isn't clear if Set...Filter(s) should be inserted 
229       before or after the Add...Filter(s) which are ordered by sequence of
230       filename extensions.  At minimum, some sort of +-[0-10] syntax seems
231       like the quickest fix for a 2.0 gold release.
232         Justin says: "Could we delay this for a point release or 2.1?"
233         Not a showstopper: justin, wrowe, trawick, stoddard, Jim, Ian, Aaron,
234                            gregames
235
236     * Get perchild to work on platforms other than Linux. This
237       will require a portable mechanism to pass data and file/socket
238       descriptors between vhost child groups. An API was proposed
239       on dev@apr:
240         Message-ID: <20020111115006.K1529@clove.org>
241
242     * Try to get libtool inter-library dependency code working on AIX.
243         Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
244
245       Justin says: If we get it working on AIX, we can enable this
246                    on all platforms and clean up our build system
247                    somewhat.
248       Jeff says:   I thought I tested a patch for you sometime in
249                    January that you were going to commit within a few
250                    days.
251
252     * Handling of %2f in URIs.  Currently both 1.3 and 2.0
253       completely disallow %2f in the request URI path (see
254       ap_unescape_url() in util.c).  It's permitted and passed
255       through in the query string, however.  Roy says the
256       original reason for disallowing it, from five years ago,
257       was to protect CGI scripts that applied PATH_INFO to
258       a filesystem location and which might be tricked by
259       ..%2f..%2f(...).  We *should* allow path-info of the
260       form 'http://foo.com/index.cgi/path/to/path%2finfo'.
261       Since we've revamped a lot of our processing of path
262       segments, it would be nice to allow this, or at least
263       allow it conditionally with a directive.
264
265     * FreeBSD, threads, and worker MPM.  All seems to work fine 
266       if you only have one worker process with many threads.  Add 
267       a second worker process and the accept lock seems to be
268       lost.  This might be an APR issue with how it deals with
269       the child_init hook (i.e. the fcntl lock needs to be resynced).
270       More examination and analysis is required.
271         Status: This has also been reported on Cygwin.  
272         Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
273
274       Justin says: So, FreeBSD-CURRENT and Cywin have the same 
275                    problem.  Yum.  If another platform has this
276                    with worker, this becomes a showstopper.
277       Aaron says: I spent some time disecting this and have come to
278               the conclusion that it is not a problem in the worker MPM
279               (or at least, it is not isolated to a problem in worker).
280               I'll list some of the problems I'm seeing in case someone
281               else wants to pick up where I've left off:
282                - Delivery of just about any signal to one of the child
283                  processes will send it into an infinite loop as well.
284                - Even though the parent is spinning out of control,
285                  at first the child or children will appear to work
286                  properly. At times it is possible to get it into a state,
287                  however, where a request will hang until another concurrent
288                  request "kicks" the first, at which point the second will
289                  hang. My theory is that this has to do with the
290                  pthread_cond_*() implementation in FreeBSD, but it's still
291                  possible that it is in APR.
292       
293       Justin adds: Oh, FreeBSD threads are implemented entirely with 
294                    select()/poll()/longjmp().  Welcome to the nightmare.
295                    So, that means a ktrace output also has the thread 
296                    scheduling internals in it (since it is all the same to 
297                    the kernel).  Which makes it hard to distinguish between 
298                    our select() calls and their select() calls.  
299                    *bangs head on wall repeatedly*  But, some of the libc_r 
300                    files have a DBG_MSG #define.  This is moderately helpful
301                    when used with -DNO_DETACH.  The kernel scheduler isn't 
302                    waking up the threads on a select().  Yum.  And, I bet 
303                    those decrementing select calls have to do with the 
304                    scheduler.  Time to brush up on our OS fundamentals.
305
306     * There is increasing demand from module writers for an API
307       that will allow them to control the server Ã  la apachectl.
308       Reasons include sole-function servers that need to die if
309       an external dependency (e.g., a database) fails, et cetera.
310       Perhaps something in the (ever more abused) scoreboard?
311         rbb: I don't believe the scoreboard is the correct mechanism
312              for this.  We already have a pipe that goes between parent
313              and child for graceful shutdown events, along with an API that
314              can be used to send a message down that pipe.  In threaded MPMs,
315              it is easy enough to make that one pipe be used for graceful
316              and graceless events, and it is also easy to open that pipe
317              to both parent and child for writing.  Then we just need to
318              figure out how to do graceless on non-threaded MPMs.
319
320     * Allow the DocumentRoot directive within <Location > scopes?  This
321       allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
322       by a <Directory /somepath/foo> to become simply 
323       <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
324       and in-your-face.)  DocumentRoot unset would be accepted [and would
325       not permit content to be served, only virtual resources such as
326       server-info or server-status.
327       This proposed change would _not_ depricate Alias.
328         striker: See the thread starting with Message-ID:
329           JLEGKKNELMHCJPNMOKHOGEEJFBAA.striker@apache.org.
330
331
332     * Win32: Rotatelogs sometimes is not terminated when Apache
333       goes down hard.  FirstBill was looking at possibly tracking the 
334       child's-child processes in the parent process.
335         OtherBill asks, wasn't this fixed? 
336         stoddard: Not fixed. Shared scoreboard might offer a good
337         way for the parent to keep track of 'other child' processes
338         and whack them if the child goes down.
339         Other thoughts on walking the process chain using the NT kernel
340         have also been proposed on APR.
341
342     * Win32: Add a simple hold console open patch (wait for close or
343         the ESC key, with a nice message) if the server died a bad 
344         death (non-zero exit code) in console mode.
345         Resolution: bring forward same ugly hacks from 1.3.13-.20
346         This is not so simple.  Any exit() from APR or other libraries
347         can't be caught unless we add some sort of apr_exit(rv) with
348         registered apr_atexit() fn's that have the return code as an
349         argument to the registered fn.
350
351     * Eliminate unnecessary creation of pipes in mod_cgid
352
353     * Combine log_child and piped_log_spawn. Clean up http_log.c.
354       Common logging API.
355
356     * Document mod_file_cache.
357
358     * Platforms that do not support fork (primarily Win32 and AS/400)
359       Architect start-up code that avoids initializing all the modules 
360       in the parent process on platforms that do not support fork.
361
362     * Win32: Migrate the MPM over to use APR thread/process calls. This
363       would eliminate some code in the Win32 branch that essentially
364       duplicates what is in APR.
365
366     * There are still a number of places in the code where we are
367       losing error status (i.e. throwing away the error returned by a
368       system call and replacing it with a generic error code)
369
370     * Mass vhosting version of suEXEC.
371
372     * All DBMs suffer from confusion in support/dbmmanage (perl script) since 
373       the dbmmanage employs the first-matched dbm format.  This is not
374       necessarily the library that Apache was built with.  Aught to
375       rewrite dbmmanage upon installation to bin/ with the proper library 
376       for predictable mod_auth_dbm administration.
377         Questions; htdbm exists, time to kill dbmmanage, or does it remain
378                    useful as a perl dbm management example?  If we keep it,
379                    do we address the issue above?
380
381     * Integrate mod_dav.
382         Some additional items remaining:
383         - case_preserved_filename stuff
384             (use the new canonical name stuff?)
385         - find a new home for ap_text(_header)
386         - is it possible to remove the DAV: namespace stuff from util_xml?
387
388     * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
389       are a bit wonky.  The function should probably be exposed as a utility 
390       function (such as ap_translate_url2fs() or ap_validate_fs_url() or 
391       something).  Another approach would be a new hook phase after
392       "translate" which would allow the module to munge what the
393       translation has decided to do.
394         Status: Greg +1 (volunteers), Ryan +1
395
396     * Explore use of a post-config hook for the code in http_main.c which
397       calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
398       ap_sort_hooks()  [to reduce the logic in main()]
399
400     * read the config tree just once, and process N times (as necessary)
401
402     * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
403
404     * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
405       into a VirtualHost container) to 2.0.
406
407     * shift stuff to mod_core.h
408
409     * callers of ap_run_create_request() should check the return value
410       for failure (Doug volunteers)
411
412     * Win32: Get Apache working on Windows 95/98. The following work
413         (at least) needs to be done:
414         - Document warning that OSR2 is required (for Crypt functions, in
415         rand.c, at least.)  This could be resolved with an SSL library, or
416         randomization in APR itself.
417         - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
418         actually works) and add in a splash of Win9x service code.
419
420     * Fix the worker MPM to use POD to kill child processes instead
421       of ap_os_killpg, regardless of how they should die. (Ryan Bloom)
422
423     * Scoreboard structures could be changed in the future such that
424       proper alignment is not maintained, leading to segfaults on 
425       some systems.  Cliff posted a patch to deal with this issue but
426       later recanted. See this message to dev@apr.apache.org:
427       Message-ID: <Pine.LNX.4.44.0203011354090.16457-200000@deepthought
428                   .cs.virginia.edu>
429
430 TODO ISSUES REMAINING IN MOD_SSL:
431
432     * In order to use a DSO version of mod_ssl we have to link with
433       -lssl and -lcrypto. A workaround is in place right now where the
434       entire EXTRA_LIBS macro is being appended to the objects list, but
435       this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
436       autoconf function or come up with some other autoconf checks to
437       search for libssl and libcrypto and properly add them to mod_ssl's
438       link flags.
439
440     * SSL renegotiations in combination with POST request
441
442     * Port or dispose all code inside #if 0...#endif blocks that remain
443       from the porting effort.
444
445     * Do we need SSL_set_read_ahead()?
446
447     * the ssl_expr api is NOT THREAD SAFE.  race conditions exist:
448        -in ssl_expr_comp() if SSLRequire is used in .htaccess
449         (ssl_expr_info is global)
450        -is ssl_expr_eval() if there is an error
451         (ssl_expr_error is global)
452
453     * SSLRequire directive (parsing of) leaks memory
454
455     * Diffie-Hellman-Parameters for temporary keys are hardcoded in
456       ssl_engine_dh.c, while the comment in ssl_engine_kernel.c says:
457       "it is suggested that keys be changed daily or every 500
458       transactions, and more often if possible."
459
460     * ssl_var_lookup could be rewritten to be MUCH faster
461
462     * CRL callback should be pluggable
463
464     * session cache store should be pluggable
465
466     * init functions should return status code rather than ssl_die()
467
468     * ssl_engine_pphrase.c needs to be reworked so it is generic enough
469       to also decrypt proxy keys
470
471     * the shmcb code should just align its memory segment rather than
472       jumping through all the "safe" memcpy and memset hoops
473
474
475 EXPERIMENTAL MODULES:
476
477     Experimental modules should eventually be be promoted to fully supported
478     status or removed from the repository entirely (ie, the
479     'experiment' failed). This section tracks what needs to happen to 
480     get the modules promoted to fully supported status.
481
482     mod_cache/mod_mem_cache/mod_disk_cache:
483
484     * mod_cache: handle cache_control: no_cache "field_name" to enable 
485       cacheing the response w/o header "field_name"
486       See RFC2616 section 14.9.1
487
488     * mod_cache: CacheEnable/CacheDisable should accept regular expressions.
489
490     * mod_cache: Fix dependency on ATOMIC operators. Need
491       APR_HAS_ATOMIC_* feature macros.
492
493     * mod_disk_cache: Implement garbage collection
494
495     * mod_mem_cache/mod_disk_cache: Need to be able to query cache
496       status (num of entries, cache object properties, etc.).
497       mod_status could be extended to query optional hooks defined
498       by modules for the purpose of reporting module status.
499       mod_cache (et. al.) could define optional hooks that are called
500       to collect status.  Status should be queryable by
501       HTTP or SNMP?
502
503     * mod_mem_cache: garbage collection. One strategy is to simply
504       remove stale entries as we attempt to serve them. Another
505       strategy is to kick off a GC thread that traverses the cache
506       and preemptively remove stale entries.  How to manage a 
507       cache that is full? Do LRU GC? Other? Bueller?
508
509     * mod_mem_cache/mod_disk_cache: Complete implementing config
510       directives. 
511
512     * Sample config for mod_cache/mod_mem_cache/mod_disk_cache for
513       inclusion into httpd.conf.
514
515     * mod_cache/mod_mem_cache/mod_disk_cache: Documentation.
516
517 PRs that have been suspended forever waiting for someone to
518 put them into 'the next release':
519
520     * documentation and Q&A
521
522       PR#2221: Make online documentation search link back to my installation
523         Status: 
524
525       PR#2906: Propose that Apache recommend $UNIQUE_ID for all "session id"
526       algorithms
527         Status: 
528
529       PR#2793: When will Apache support P3P? Any Plans?
530         Status: 
531
532     * build
533
534       PR#2113: HTTP Server Rebuild Line Needs Changing for the better
535         Status: 
536
537       PR#2421: problem specifying ndbm library for build ?with autoconfigure
538         Status: 
539
540     * config
541
542       PR#76: missing call to "setlocale();"
543         Status: 
544
545       PR#628: Request of "Options SymLinksIfGroupMatch"
546         Status: 
547
548       PR#793: RLimitCPU and RLimitMEM don't apply to all children like they should
549         Status: 
550
551       PR#922:  it is useful to allow specifiction that root-owned symlinks
552       should always be followed
553         Status: 
554
555       PR#1028: DoS attacks involving memory consumption
556         Status: 
557
558       PR#1191: setlogin() is not called, causing problems with e.g. identd
559         Status: 
560
561       PR#1204: regerror() exists, use it
562         Status: 
563
564       PR#2284: Can not POST to ErrorDocument - Apache/1.3b6
565         Status: 
566
567       PR#2396: Proposal for TimeZone directive
568         Status: 
569
570       PR#2446: AllowOverride FileInfo is too coarse
571         Status: 
572
573       PR#2760: [PATCH] User/Group for <Directory> and <Location> i.e. not only
574       in global and <Virtual>.
575         Status: 
576
577       PR#2907: suggestion: power up your Include directive :)
578         Status: 
579
580       PR#3018: cannot limit some HTTP methods
581         Status: 
582
583       PR#3677: New ErrorDocumentMatch directive
584         Status: 
585
586       PR#4244: "Files" and "FilesMatch" regexp does not recognize bang as
587       negation operator
588         Status: 
589
590       PR#5993: AllowOverride should have a 'CheckNone' and 'AllowNone' argument
591       instead of only 'None'
592         Status: 
593
594     * mod_access
595
596       PR#537: mod_access syntax allows hosts that should be restricted
597         Status: 
598
599       PR#1287: add allow,deny/deny,allow warning to mod_access
600         Status: 
601
602       PR#2512: <IfDenied> directive wanted
603         Status: 
604
605     * mod_auth-any
606
607       PR#557: ~UserHome directories are not honored in absolute pathname
608       requests (.htaccess)
609         Status: 
610
611       PR#1117: Using NIS passwd.byname dbm files with AuthDBMUserFile
612         Status: 
613
614       PR#1809: Suggestion for improving authentication modules and core source
615       code, problem with 401 and ErrorDocument
616         Status: 
617
618     * mod_autoindex
619
620       PR#1263: Add frame-safe anchor attribute to mod_autoindex links
621         Status: 
622
623     * mod_cgi (and suexec)
624
625       PR#921: suexec Uses cwd before filling it in, doesn't use syslog
626         Status: 
627
628       PR#1176: Apache cannot handle continuation line in headers
629         Status: 
630
631       PR#1120: suexec does not parse arguments to #exec cmd
632         Status: 
633
634       PR#1268: CGI scripts running as Apache user: security (suexec etc.)
635         Status: 
636
637       PR#1285: Error messages could be easier to spot in cgi.log file for suexec.c
638         Status: 
639
640       PR#1905: suexec - Allow modules to set user:group for execution.
641         Status: 
642
643       PR#2360: suexec for general access of user content?
644         Status: 
645
646       PR#2460: TimeOut applies to output of CGI scripts
647         Status: 
648
649       PR#2573: CGI's for general use still have to be run as another user
650       with suExec
651         Status: 
652
653       PR#4241: Need to be able to override shebang line to make CGI scripts
654       more portable.
655         Status: 
656
657       PR#4490: mod_cgi prevents handling of OPTIONS requests
658         Status: 
659
660     * mod_env
661
662       PR#370: Modified PATH environemnt variable is not passed, instead
663       system's is used
664         Status: 
665
666     * mod_headers
667
668       PR#1383: I make mod_headers to modify request headers as well as
669       response ones.
670         Status: 
671
672       PR#1677: mod_headers should allow mod_log_config-style formats in
673       header values
674         Status: 
675
676     * mod_imap
677
678       PR#759: imap should read <MAP><AREA>*</MAP> too!
679         Status: 
680
681     * mod_include
682
683       PR#78: Additional status for XBitHack directive
684         Status: 
685
686       PR#623: A smarter "Last Modified" value for SSI documents (see PR number 600)
687         Status: 
688
689       PR#1145: mod_include
690       Allow for Last-Modified: without resorting to XBitHack
691         Status: 
692
693       PR#1803: patches to mod_include to allow for file tests
694         Status: 
695
696       PR#4459: Suggestion for better handling of Last-modified headers
697         Status: 
698
699     * mod_info
700
701       PR#2415: /server-info doesn't check for the virtual host to list the info
702         Status: 
703
704     * mod_log-any
705
706       PR#1050: Logging of virtual server to error_log as well
707         Status: 
708
709       PR#1358: Selective url-encode of log fields (or maybe a pseudo
710       log_rewrite module?)
711         Status: 
712
713       PR#2073: pipelined connections are not logged correctly
714         Status: 
715
716       PR#4448: Please allow CGI env variables (QUERY_STRING, ...) to be logged
717       with %{}e
718         Status: 
719
720     * mod_negotiation
721
722       PR#3191: no way to set global quality-of-source (qs) coneg values
723       with multiviews
724         Status: 
725
726     * mod_proxy
727
728       PR#362: Mod_proxy doesn't allow change of error pages
729         Status: 
730
731       PR#440: Proxy doesn't deliver documents if not connected
732         Status: 
733
734       PR#534: proxy converts ~name to %7Ename when name starts with a dot (.)
735         Status: 
736
737       PR#612: Proxy FTP Authentication Fails
738         Status: 
739
740       PR#700: Proxy doesn't do links right for OpenVMS files through ftp:
741         Status: 
742
743       PR#980: Controlling Access to Remote Proxies would be nice...
744         Status: 
745
746       PR#994: Adding authentication "on the fly" through the proxy module
747         Status: 
748
749       PR#1085: ProxyRemote make a dead cycle.
750         Status: 
751
752       PR#1166: ``nph-'' not honored (no buffering) for ProxyRemote mapping
753         Status: 
754
755       PR#1290: Need to know "hit-rate" on proxy cache
756         Status: 
757
758       PR#1532: Proxy transfer logging
759         Status: 
760
761       PR#1547: No HTTP_X_FORWARDED_FOR set...
762         Status: 
763
764       PR#1567: ProxyRemote proxy requests fail authentication by firewall
765         Status: 
766
767       PR#1702: mod_proxy to support persistent conns?
768         Status: 
769
770       PR#1878: listing of proxy cache content
771         Status: 
772
773       PR#2314: patterns in ProxyRemote
774         Status: 
775
776       PR#2648: Cache file names in Proxy module
777         Status: 
778
779       PR#3568: Accessing URL through proxy server corrupts data.
780         Status: 
781
782       PR#3605: Some anonymous FTP URLs ask for authentication
783         Status: 
784
785     * mod_rewrite
786
787       PR#1582: mod_rewrite forms REQUEST_URI different than mod_cgi does
788         Status: 
789
790       PR#2074: mod_rewrite doesn't pass Proxy Throughput on internal subrequests
791         Status: 
792
793     * mod_status
794
795       PR#2138: mod_status always displays 256 possible connection slots
796         Status: 
797
798       PR#2343: Status module averages are for entire uptime
799         Status: 
800
801     * apache-api
802
803       PR#1004: request_config field in request_rec is moderately bogus
804         Status: 
805
806       PR#1158: improvements to child spawning API
807         Status: 
808
809       PR#1233: there is no way to keep per-connection per-module state
810         Status: 
811
812       PR#2024: adding auth_why to conn_rec
813         Status: 
814
815       PR#2873: Feedback/Comment on APACI
816         Status: 
817
818       PR#3143: No module specific data hook for per-connection data
819         Status: 
820
821     * generally odds and ends
822
823       PR#2431: A small addition to rotatelogs.c to improve program functionality.
824         Status: 
825
826       PR#2763: mailto tags and bundling bug report script
827         Status: 
828
829       PR#2785: os-aix Support for System Resource Controller
830         Status: 
831
832       PR#2889: Inclusion of RPM spec file in CVS/distributions
833         Status: 
834
835       PR#5713: os-windows [PATCH] install as win32 service with domain account
836         Status: Cannot accept password-as-arg, we should prompt the
837                 user when -k install/-k config with a user argument.
838
839
840
841 Other bugs that need fixing:
842
843     * ap_discard_request should be converted to use the bucket API
844       directly rather than waste cycles copying buffers with the old API.
845
846     * MaxRequestsPerChild measures connections, not requests.
847         Until someone has a better way, we'll probably just rename it
848         "MaxConnectionsPerChild".
849     
850     * Regex containers don't work in an intutive way
851         Status: No one has come up with an efficient way to fix this
852         behavior. Dean has suggested getting rid of regex containers
853         completely.
854         OtherBill suggests: We at least seem to agree on eliminating
855                             the <Container ~ foo> forms, and using only
856                             <ContainerMatch foo> semantics.
857
858     * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
859       sigwaiting thread. We need to work around this, perhaps unless
860       there is hope soon for a fixed glibc.
861
862     * orig_ct in the byterange/multipart handling may not be
863       needed. Apache 1.3 just never stashed "multipart" into
864       r->content_type. We should probably follow suit since the
865       byterange stuff doesn't want the rest of the code to see the
866       multipart content-type; the other code should still think it is
867       dealing with the <orig_ct> stuff.
868         Status: Greg volunteers to investigate (esp. since he was most 
869                 likely the one to break it :-)
870
871 Binaries (2.0.40):
872
873  Platform                      Avail.  Volunteer
874  ------------------------------------------------------------------
875  AIX 4.3.3                     no      Bill Stoddard
876  Mandrake 8.1                  no      Ryan Bloom
877  FreeBSD 4.1                   no      Ryan Bloom
878  hppa2.0w-hp-hpux11.00         yes     Cliff Woolley
879  i386-pc-solaris2.8            no      Aaron Bannert
880  i386-unknown-freebsd4.5       no
881  i386-unknown-freebsd4.6       yes     Cliff Woolley
882  i686-pc-linux-gnu-slackware81 yes     Cliff Woolley
883  i686-pc-linux-gnu-rh70        no      Aaron Bannert
884  i686-pc-linux-gnu-rh73        yes     Cliff Woolley
885  ia64-hp-hpux11.20             no
886  powerpc-apple-darwin5.5       no      Aaron Bannert
887  powerpc-unknown-linux-gnu     no      Graham Leggett
888  s390-ibm-linux                yes     Greg Ames
889  sparc-sun-solaris2.8          no      Jim Jagielski
890  NetWare                       yes     Brad Nicholes
891  OS/2                          no      Brian Havard
892  OS/390                        yes     Greg Ames
893  Win32-x86                     no      William Rowe
894
895 Other features that need writing:
896
897     * Finish infrastructure in core for async MPMs
898         Status: post 2.0
899
900     * TODO in source -- just do an egrep on "TODO" and see what's there
901
902 Available Patches:
903
904    * Martin Sojka <msojka@gmx.de>'s patch to add error reporting for failed 
905      htpasswd actions due to a full /tmp volume (other programs may have
906      similar problems?)
907         PR: 6475
908         Status:
909
910    * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
911      performance
912        Status: These were written for 1.3, and are awaiting a port to
913        2.0
914  
915    * Jim Winstead's <jimw@trainedmonkey.com> patch to add CookieDomain and 
916      other small mod_usertrack features
917
918    * Dan Rench's <drench@xnet.com> patch to add allow the errmsg and timefmt 
919      of SSI's to be modified in the config file.  Patch is available in 
920      PR6193