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