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