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