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