]> granicus.if.org Git - apache/blob - STATUS
e7936c16fb577056f3460ab6a4931779c401e6d6
[apache] / STATUS
1 APACHE 2.1 STATUS:                                              -*-text-*-
2 Last modified at [$Date$]
3
4 Release [NOTE that only Alpha/Beta releases occur in 2.1 development]:
5
6     2.1.2   : in development
7     2.1.1   : Released on 11/19/2004 as alpha.
8     2.1.0   : not released.
9
10 Please consult the following STATUS files for information
11 on related projects:
12
13     * srclib/apr/STATUS
14     * srclib/apr-util/STATUS
15     * docs/STATUS
16
17 Contributors looking for a mission:
18
19     * Just do an egrep on "TODO" or "XXX" in the source.
20
21     * Review the "PatchAvailable" bugs in the bug database.
22       Append a comment saying "Reviewed and tested".
23
24     * Open bugs in the bug database.
25
26 CURRENT RELEASE NOTES:
27
28 RELEASE SHOWSTOPPERS:
29
30     * Handling of non-trailing / config by non-default handler is broken
31       http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105451701628081&w=2
32       jerenkrantz asks: Why should this block a release?
33
34     * the edge connection filter cannot be removed 
35       http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105366252619530&w=2
36       jerenkrantz asks: Why should this block a release?
37
38 CURRENT VOTES:
39
40     * Promote mod_cache from experimental to non-experimental
41       status (keep issues noted below in EXPERIMENTAL MODULES as
42       items to be addressed as a supported module).
43       +1: jerenkrantz, pquerna
44       +0: jim, bnicholes
45       -1: stoddard
46           There are a couple of problems that need to be resolved
47       before this module is moved out of experimental. 
48       1) We need to at least review and comment on the RFC violations
49       2) Resolve issue of how to cache page fragements (or perhaps -if- we
50       want to cache page fragements). Today, mod_cache/mod_mem_cache
51       will cache #include 'virtual' requests (but not #include 'file' 
52       requests). This was accomplished by making CACHE_IN a
53       CONTENT_SET-1 filter to force it to run before the SUBREQ_CORE
54       filter.  But now responses cannot be cached that include the
55       effects of having been run through CONTENT_SET filters
56       (mod_deflate, mod_expires, etc).  We could rerun all the
57       CONTENT_SET filters on the cached response, but this will not
58       work in all cases. For example, mod_expires relies on installing
59       the EXPIRATION filter during fixups. Contents served out of
60       mod_cache (out of the quick_handler) bypass -all- the request
61       line server hooks (Ryan really hated this. It is great for
62       performance, but bad because of the complications listed above).
63
64       jerenkrantz: I think it's time.  We've done a *lot* of work to it, and
65                    we think most of the blatant RFC violations are now gone.
66                    mod_cache just belongs in cache/.  There may still be bugs,
67                    but not likely to be major ones.
68
69     * httpd-std.conf and friends
70
71       a) httpd-std.conf should be tailored by install (from src or
72          binbuild) even if user has existing httpd.conf
73          +1:   trawick, slive, gregames, ianh, Ken, wrowe, jwoolley, jim, nd,
74                erikabele
75            wrowe - prefer httpd.default.conf to avoid ambiguity with cvs
76
77       b) tailored httpd-std.conf should be copied by install to
78          sysconfdir/examples
79          -0:   striker
80
81       c) tailored httpd-std.conf should be installed to
82          sysconfdir/examples or manualdir/exampleconf/
83          +1:   slive, trawick, Ken, nd (prefer the latter), erikabele
84
85       d) Installing a set of default config files when upgrading a server
86          doesn't make ANY sense at all.
87          +1:   ianh - medium/big sites don't use 'standard config' anyway, as it
88                       usually needs major customizations
89          -1:   Ken, wrowe, jwoolley, jim, nd, erikabele
90            wrowe - diff is wonderful when comparing old/new default configs,
91                    even for customized sites that ianh mentions
92            jim - ... assuming that the default configs have been updated
93                      with the required inline docs to explain the
94                      changes
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, Lars
103       Not self-destruct: BrianP, Ian, Cliff, BillS
104       Make it runtime configurable: Aaron, jim, Justin, wrowe, rederpj, nd
105
106       /* The below was a concept on *how* to handle the problem */
107       Have 2 parents: +1: jim
108                       -1: Justin, wrowe, rederpj, nd
109                       +0: Lars, Martin (while standing by, could it do
110                                         something useful?)
111
112     * Make the worker MPM the default MPM for threaded Unix boxes.
113       +1:   Justin, Ian, Cliff, BillS, striker, wrowe, nd
114       +0:   BrianP, Aaron (mutex contention is looking better with the
115             latest code, let's continue tuning and testing), rederpj, jim
116       -0:   Lars
117
118       pquerna: Do we want to change this for 2.2?
119
120 RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
121
122     * Patches submitted to the bug database:
123       http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2.0&keywords=PatchAvailable
124
125     * Filter stacks and subrequests, redirects and fast redirects.
126       There's at least one PR that suffers from the current unclean behaviour
127       (which lets the server send garbage): PR 17629
128       nd says: Every subrequest should get its own filter stack with the
129                subreq_core filter as bottom-most. That filter does two things:
130                  - swallow EOS buckets
131                  - redirect the data stream to the upper request's (rr->main)
132                    filter chain directly after the subrequest's starting
133                    point.
134                Once we have a clean solution, we can try to optimize
135                it, so that the server won't be slow down too much.
136
137     * RFC 2616 violations.
138       Closed PRs: 15857.
139       Open PRs: 15852, 15859, 15861, 15864, 15865, 15866, 15868, 15869,
140                 15870, 16120, 16125, 16126, 16133, 16135, 16136, 16137,
141                 16138, 16139, 16140, 16142, 16518, 16520, 16521, 
142       jerenkrantz says: need to decide how many we need to backport and/or
143                         if these rise to showstopper status.
144       wrowe suggests: it would be nice to see "MUST" v.s. "SHOULD" v.s. "MAY"
145                       out of this list, without reviewing them individually.
146
147     * There is a bug in how we sort some hooks, at least the pre-config
148       hook.  The first time we call the hooks, they are in the correct 
149       order, but the second time, we don't sort them correctly.  Currently,
150       the modules/http/config.m4 file has been renamed to 
151       modules/http/config2.m4 to work around this problem, it should moved
152       back when this is fixed.
153
154         OtherBill offers that this is a SERIOUS problem.  We do not sort
155         correctly by the ordering arguments passed to the register hook
156         functions.  This was proven when I reordered the open_logs hook
157         to attempt to open the error logs prior to the access logs.  Possibly
158         the entire sorting code needs to be refactored.
159
160     * pipes deadlock on all platforms with limited pipe buffers (e.g. both
161       Linux and Win32, as opposed to only Win32 on 1.3).  The right solution
162       is either GStein's proposal for a "CGI Brigade", or OtherBill's proposal
163       for "Poll Buckets" for "Polling Filter Chains".  Or maybe both :-)
164
165     * All handlers should always send content down even if r->header_only
166       is set.  If not, it means that the HEAD requests don't generate the
167       same headers as a GET which is wrong.
168
169     * HP/UX 10.20: compile breakage in APR.  Looks like it should be easy
170       to fix, probably just some extraneous #include's that are fouling
171       things up.
172       PR: 9457
173       Jeff: See my reply and patch in the PR (and previous commit to
174       stop using "pipe" as a field name).  If patch is committed, we
175       should be okay.  I'll wait to see if the user tests the patch.
176       Update by Jeff 20020722: I got an account on HP 10.20.  It looks
177       like some of the APR thread detection is screwed up.  If we find
178       pthread.h but we can't compile the pthread test program we still
179       think we can use threads.  For that reason, the patch I posted
180       to the PR won't work as-is since a failed compile of the test
181       program means nothing.
182
183     * exec cmd and suexec arg-passing enhancements
184       Status: Patches proposed
185       Message-ID: <20020526041748.A29148@prodigy.Redbrick.DCU.IE>
186       (see the "proc.patch" and "suexec-shell.patch" links in this message)
187
188     * The 2.0.36 worker MPM graceless shutdown changes work but are
189       a bit clunky on some platforms; eg, on Linux, the loop to
190       join each worker thread seems to hang, and the parent ends up
191       killing off the child with SIGKILL.  But at least it shuts down.
192
193     * --enable-mods-shared="foo1 foo2" is busted on Darwin.  Pier
194         posted a patch (Message-ID: <B8DBBE8D.575A%pier@betaversion.org>).
195
196     * We do not properly substitute the prefix-variables in the configuration
197       scripts or generated-configs.  (i.e. if sysconfdir is etc,
198       httpd-std.conf points to conf.)
199
200     * If any request gets through ap_process_request_internal() and is
201       scheduled to be served by the core handler, without a flag that this 
202       r->filename was tested by dir/file_walk, we need to 500 at the very 
203       end of the ap_process_request_internal() processing so sub_req-esters
204       know this request cannot be run.  This provides authors of older 
205       modules better compatibility, while still improving the security and 
206       robustness of 2.0. 
207
208         Status: still need to decide where this goes, OtherBill comments...
209         Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
210         [Deleted comments regarding the ap_run_handler phase, as irrelevant
211             as BillS points out that "common case will be caught in
212             default_handler already (with the r->finfo.filetype == 0 check)"
213             and the issue is detecting this -before- we try to run the req.]
214
215         gregames says: can this happen somehow without a broken module
216             being involved?  If not, why waste cycles trying to defend against
217             potential broken modules?  It seems futile.
218         wrowe counters: no, it shouldn't happen unless the module is broken.
219             But the right answer is to fail the request up-front in dir/file
220             walk if the path was entirely invalid; and we can't do that either
221             UNTIL 2.1 or we break modules that haven't hooked map_to_storage.
222
223     * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
224       how the Perchild MPM should be re-written.  It hasn't worked
225       correctly since filters were added because it wasn't possible to
226       get the content that had already been written and the socket at
227       the same time.  This mode lets us do that, so the MPM can be
228       fixed.
229
230     * Can a static httpd be built reliably?
231         Message-ID: <20020207142751.T31582@clove.org>
232
233     * [Ken] Test suite failures:
234       o worker is also failing some of the 'cgi' subtests
235       (see <URL:http://Source-Zone.Org/Apache/regression/>):
236         Justin says: "Worker should be fine and passes httpd-test here.
237                       I think it's a perl or a httpd-test problem."
238
239     * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
240       removed if possible.
241         Message-ID: <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
242         Jeff wonders if we still care about this.  It is no longer an
243         API issue but simply an extra trip through the brigade.
244
245     * The Add...Filter and Set...Filter directives do not allow the
246       administrator to order filters, beyond the order of filename (mime)
247       extensions.  It isn't clear if Set...Filter(s) should be inserted 
248       before or after the Add...Filter(s) which are ordered by sequence of
249       filename extensions.  At minimum, some sort of +-[0-10] syntax seems
250       like a nice solution.  See ROADMAP.
251
252     * Get perchild to work on platforms other than Linux. This
253       will require a portable mechanism to pass data and file/socket
254       descriptors between vhost child groups. An API was proposed
255       on dev@apr:
256         Message-ID: <20020111115006.K1529@clove.org>
257
258     * Try to get libtool inter-library dependency code working on AIX.
259         Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
260
261       Justin says: If we get it working on AIX, we can enable this
262                    on all platforms and clean up our build system
263                    somewhat.
264       Jeff says:   I thought I tested a patch for you sometime in
265                    January that you were going to commit within a few
266                    days.
267
268     * Handling of %2f in URIs.  Currently both 1.3 and 2.0
269       completely disallow %2f in the request URI path (see
270       ap_unescape_url() in util.c).  It's permitted and passed
271       through in the query string, however.  Roy says the
272       original reason for disallowing it, from five years ago,
273       was to protect CGI scripts that applied PATH_INFO to
274       a filesystem location and which might be tricked by
275       ..%2f..%2f(...).  We *should* allow path-info of the
276       form 'http://foo.com/index.cgi/path/to/path%2finfo'.
277       Since we've revamped a lot of our processing of path
278       segments, it would be nice to allow this, or at least
279       allow it conditionally with a directive.
280
281         OtherBill adds that %2f as the SECOND character of a multibyte
282         sequence causes the request to fail!  This happens notably in
283         the ja-jis encoding.
284
285     * FreeBSD, threads, and worker MPM.  All seems to work fine 
286       if you only have one worker process with many threads.  Add 
287       a second worker process and the accept lock seems to be
288       lost.  This might be an APR issue with how it deals with
289       the child_init hook (i.e. the fcntl lock needs to be resynced).
290       More examination and analysis is required.
291         Status: This has also been reported on Cygwin.
292                 FreeBSD 4.7 was reputed to have 'fixed' threads.  Not.
293                 FreeBSD 5.2-RC is a confirmed fix w/either libkse or libthr.
294                 [libc_r, still the default, does not serve any pages w/worker;
295                  so on FreeBSD 5.2, you must use libmap.conf (see man page).]
296                 Work needs to be done to get APR to try to be knowledgable that
297                 libkse/libthr are acceptable.  Still not recommended for the
298                 default since libc_r is still broken.
299         Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
300
301     * There is increasing demand from module writers for an API
302       that will allow them to control the server Ã  la apachectl.
303       Reasons include sole-function servers that need to die if
304       an external dependency (e.g., a database) fails, et cetera.
305       Perhaps something in the (ever more abused) scoreboard?
306         
307              On the other hand, we already have a pipe that goes between parent
308              and child for graceful shutdown events, along with an API that
309              can be used to send a message down that pipe.  In threaded MPMs,
310              it is easy enough to make that one pipe be used for graceful
311              and graceless events, and it is also easy to open that pipe
312              to both parent and child for writing.  Then we just need to
313              figure out how to do graceless on non-threaded MPMs.
314
315     * Allow the DocumentRoot directive within <Location > scopes?  This
316       allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
317       by a <Directory /somepath/foo> to become simply 
318       <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
319       and in-your-face.)  DocumentRoot unset would be accepted [and would
320       not permit content to be served, only virtual resources such as
321       server-info or server-status.
322       This proposed change would _not_ depricate Alias.
323         striker: See the thread starting with Message-ID:
324           JLEGKKNELMHCJPNMOKHOGEEJFBAA.striker@apache.org.
325
326     * Win32: Rotatelogs sometimes is not terminated when Apache
327       goes down hard.  FirstBill was looking at possibly tracking the 
328       child's-child processes in the parent process.
329         stoddard: Shared scoreboard might offer a good way for the parent 
330         to keep track of 'other child' processes and whack them if the child 
331         goes down.
332         Other thoughts on walking the process chain using the NT kernel
333         have also been proposed on APR.
334
335     * Eliminate unnecessary creation of pipes in mod_cgid
336
337     * Combine log_child and piped_log_spawn. Clean up http_log.c.
338       Common logging API.
339
340     * Platforms that do not support fork (primarily Win32 and AS/400)
341       Architect start-up code that avoids initializing all the modules 
342       in the parent process on platforms that do not support fork.
343
344     * There are still a number of places in the code where we are
345       losing error status (i.e. throwing away the error returned by a
346       system call and replacing it with a generic error code)
347
348     * Mass vhosting version of suEXEC.
349
350     * All DBMs suffer from confusion in support/dbmmanage (perl script) since 
351       the dbmmanage employs the first-matched dbm format.  This is not
352       necessarily the library that Apache was built with.  Aught to
353       rewrite dbmmanage upon installation to bin/ with the proper library 
354       for predictable mod_auth_dbm administration.
355         Questions; htdbm exists, time to kill dbmmanage, or does it remain
356                    useful as a perl dbm management example?  If we keep it,
357                    do we address the issue above?
358
359     * Integrate mod_dav.
360         Some additional items remaining:
361         - case_preserved_filename stuff
362             (use the new canonical name stuff?)
363         - find a new home for ap_text(_header)
364         - is it possible to remove the DAV: namespace stuff from util_xml?
365
366     * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
367       are a bit wonky.  The function should probably be exposed as a utility 
368       function (such as ap_translate_url2fs() or ap_validate_fs_url() or 
369       something).  Another approach would be a new hook phase after
370       "translate" which would allow the module to munge what the
371       translation has decided to do.
372         Status: Greg +1 (volunteers)
373
374     * Explore use of a post-config hook for the code in http_main.c which
375       calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
376       ap_sort_hooks()  [to reduce the logic in main()]
377
378     * read the config tree just once, and process N times (as necessary)
379
380     * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
381
382     * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
383       into a VirtualHost container) to 2.0.
384
385     * shift stuff to mod_core.h
386
387     * callers of ap_run_create_request() should check the return value
388       for failure (Doug volunteers)
389
390     * Win32: Get Apache working on Windows 95/98. The following work
391         (at least) needs to be done:
392         - Document warning that OSR2 is required (for Crypt functions, in
393         rand.c, at least.)  This could be resolved with an SSL library, or
394         randomization in APR itself.
395         - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
396         actually works) and add in a splash of Win9x service code.
397
398     * Fix the worker MPM to use POD to kill child processes instead
399       of ap_os_killpg, regardless of how they should die.
400
401     * Scoreboard structures could be changed in the future such that
402       proper alignment is not maintained, leading to segfaults on 
403       some systems.  Cliff posted a patch to deal with this issue but
404       later recanted. See this message to dev@apr.apache.org:
405       Message-ID: <Pine.LNX.4.44.0203011354090.16457-200000@deepthought
406                   .cs.virginia.edu>
407
408     * When sufficiently tested, the AllowEncodedSlashes/%2f patch
409       needs to be backported to 2.0 and 1.3.
410
411     * APXS either needs to be fixed completely for use when apr is out of tree,
412       or it should drop query mode altogether, and we just grow an 
413       httpd-config or similar arrangement. 
414       To quote a discussion in STATUS earlier:
415
416           thommay: this doesn't fix all the problems with apxs and out of
417                    tree apr/apr-util, but it's a good start. There's still the 
418                    query cases; but I'm beginning to think that in these cases 
419                    the app should be querying ap{r,u}-config directly
420           gstein: agreed. apxs should deprecate the -q flag
421
422 TODO ISSUES REMAINING IN MOD_SSL:
423
424     * In order to use a DSO version of mod_ssl we have to link with
425       -lssl and -lcrypto. A workaround is in place right now where the
426       entire EXTRA_LIBS macro is being appended to the objects list, but
427       this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
428       autoconf function or come up with some other autoconf checks to
429       search for libssl and libcrypto and properly add them to mod_ssl's
430       link flags.
431
432     * SSL renegotiations in combination with POST request
433
434     * Port or dispose all code inside #if 0...#endif blocks that remain
435       from the porting effort.
436
437     * Do we need SSL_set_read_ahead()?
438
439     * the ssl_expr api is NOT THREAD SAFE.  race conditions exist:
440        -in ssl_expr_comp() if SSLRequire is used in .htaccess
441         (ssl_expr_info is global)
442        -is ssl_expr_eval() if there is an error
443         (ssl_expr_error is global)
444
445     * SSLRequire directive (parsing of) leaks memory
446
447     * Diffie-Hellman-Parameters for temporary keys are hardcoded in
448       ssl_engine_dh.c, while the comment in ssl_engine_kernel.c says:
449       "it is suggested that keys be changed daily or every 500
450       transactions, and more often if possible."
451
452     * ssl_var_lookup could be rewritten to be MUCH faster
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 WISH LIST
467     * mod_proxy performance: when mod_proxy is configured to do proxy
468       gateway (aka reverse proxy), it would be nice to be able to reuse
469       connections to the backend servers. Now, connections to the 
470       backend servers are taken down when the corresponding frontend
471       connection is taken down.
472
473     * mod_proxy: Ability to run SSL over proxy gateway connections,
474       encrypting (or reencrypting) at the proxy.
475
476     * mod_proxy: Add capability of mod_proxy to load balance across
477       a farm of backend servers.
478
479     * mod_cache: Handle ESI tags.
480
481 EXPERIMENTAL MODULES:
482
483     Experimental modules should eventually be be promoted to fully supported
484     status or removed from the repository entirely (ie, the
485     'experiment' failed). This section tracks what needs to happen to 
486     get the modules promoted to fully supported status.
487
488     mod_cache/mod_mem_cache/mod_disk_cache:
489
490     * mod_mem_cache: Consider adding a RevalidateTimeout directive to
491       specify time at which local cached content is to be revalidated
492       (ie, underlying file stat'ed to see if it has changed).
493
494     * mod_cache: CacheEnable/CacheDisable should accept regular expressions.
495       jerenkrantz says: Too slow.  Get regexs away from speedy caches by
496                         default.  Introduce a new CacheEnableRegex if you want.
497
498     * mod_cache: Fix dependency on ATOMIC operators. Need
499       APR_HAS_ATOMIC_* feature macros.
500       jerenkrantz says: APR 1.0+ has some guaranteed form of atomics.
501
502     * mod_mem_cache/mod_disk_cache: Need to be able to query cache
503       status (num of entries, cache object properties, etc.).
504       mod_status could be extended to query optional hooks defined
505       by modules for the purpose of reporting module status.
506       mod_cache (et. al.) could define optional hooks that are called
507       to collect status.  Status should be queryable by
508       HTTP or SNMP?
509       jerenkrantz says: Yawn.  Who cares.
510
511 PRs that have been suspended forever waiting for someone to
512 put them into 'the next release':
513
514     * documentation and Q&A
515
516       PR#2221: Make online documentation search link back to my installation
517         Status: 
518
519       PR#2906: Propose that Apache recommend $UNIQUE_ID for all "session id"
520       algorithms
521         Status: 
522
523       PR#2793: When will Apache support P3P? Any Plans?
524         Status: 
525
526     * build
527
528       PR#2113: HTTP Server Rebuild Line Needs Changing for the better
529         Status: 
530
531       PR#2421: problem specifying ndbm library for build ?with autoconfigure
532         Status: 
533
534     * config
535
536       PR#76: missing call to "setlocale();"
537         Status: 
538
539       PR#628: Request of "Options SymLinksIfGroupMatch"
540         Status: 
541
542       PR#793: RLimitCPU and RLimitMEM don't apply to all children like they should
543         Status: 
544
545       PR#922:  it is useful to allow specifiction that root-owned symlinks
546       should always be followed
547         Status: 
548
549       PR#1028: DoS attacks involving memory consumption
550         Status: 
551
552       PR#1191: setlogin() is not called, causing problems with e.g. identd
553         Status: 
554
555       PR#1204: regerror() exists, use it
556         Status: 
557
558       PR#2284: Can not POST to ErrorDocument - Apache/1.3b6
559         Status: 
560
561       PR#2396: Proposal for TimeZone directive
562         Status: 
563
564       PR#2446: AllowOverride FileInfo is too coarse
565         Status: 
566
567       PR#2760: [PATCH] User/Group for <Directory> and <Location> i.e. not only
568       in global and <Virtual>.
569         Status: 
570
571       PR#2907: suggestion: power up your Include directive :)
572         Status: 
573
574       PR#3018: cannot limit some HTTP methods
575         Status: 
576
577       PR#3677: New ErrorDocumentMatch directive
578         Status: 
579
580       PR#4244: "Files" and "FilesMatch" regexp does not recognize bang as
581       negation operator
582         Status: 
583
584       PR#5993: AllowOverride should have a 'CheckNone' and 'AllowNone' argument
585       instead of only 'None'
586         Status: 
587
588     * mod_access
589
590       PR#537: mod_access syntax allows hosts that should be restricted
591         Status: 
592
593       PR#1287: add allow,deny/deny,allow warning to mod_access
594         Status: 
595
596       PR#2512: <IfDenied> directive wanted
597         Status: 
598
599     * mod_auth-any
600
601       PR#557: ~UserHome directories are not honored in absolute pathname
602       requests (.htaccess)
603         Status: 
604
605       PR#1117: Using NIS passwd.byname dbm files with AuthDBMUserFile
606         Status: 
607
608       PR#1809: Suggestion for improving authentication modules and core source
609       code, problem with 401 and ErrorDocument
610         Status: 
611
612     * mod_autoindex
613
614       PR#1263: Add frame-safe anchor attribute to mod_autoindex links
615         Status: 
616
617     * mod_cgi (and suexec)
618
619       PR#921: suexec Uses cwd before filling it in, doesn't use syslog
620         Status: 
621
622       PR#1176: Apache cannot handle continuation line in headers
623         Status: 
624
625       PR#1120: suexec does not parse arguments to #exec cmd
626         Status: 
627
628       PR#1268: CGI scripts running as Apache user: security (suexec etc.)
629         Status: 
630
631       PR#1285: Error messages could be easier to spot in cgi.log file for suexec.c
632         Status: 
633
634       PR#1905: suexec - Allow modules to set user:group for execution.
635         Status: 
636
637       PR#2360: suexec for general access of user content?
638         Status: 
639
640       PR#2460: TimeOut applies to output of CGI scripts
641         Status: 
642
643       PR#2573: CGI's for general use still have to be run as another user
644       with suExec
645         Status: 
646
647       PR#4241: Need to be able to override shebang line to make CGI scripts
648       more portable.
649         Status: 
650
651       PR#4490: mod_cgi prevents handling of OPTIONS requests
652         Status: 
653
654     * mod_env
655
656       PR#370: Modified PATH environemnt variable is not passed, instead
657       system's is used
658         Status: 
659
660     * mod_headers
661
662       PR#1383: I make mod_headers to modify request headers as well as
663       response ones.
664         Status: 
665
666       PR#1677: mod_headers should allow mod_log_config-style formats in
667       header values
668         Status: 
669
670     * mod_imap
671
672       PR#759: imap should read <MAP><AREA>*</MAP> too!
673         Status: 
674
675     * mod_include
676
677       PR#78: Additional status for XBitHack directive
678         Status: 
679
680       PR#623: A smarter "Last Modified" value for SSI documents (see PR number 600)
681         Status: 
682
683       PR#1145: mod_include
684       Allow for Last-Modified: without resorting to XBitHack
685         Status: 
686
687       PR#1803: patches to mod_include to allow for file tests
688         Status: 
689
690       PR#4459: Suggestion for better handling of Last-modified headers
691         Status: 
692
693     * mod_log-any
694
695       PR#1050: Logging of virtual server to error_log as well
696         Status: 
697
698       PR#1358: Selective url-encode of log fields (or maybe a pseudo
699       log_rewrite module?)
700         Status: 
701
702       PR#2073: pipelined connections are not logged correctly
703         Status: 
704
705       PR#4448: Please allow CGI env variables (QUERY_STRING, ...) to be logged
706       with %{}e
707         Status: 
708
709     * mod_negotiation
710
711       PR#3191: no way to set global quality-of-source (qs) coneg values
712       with multiviews
713         Status: 
714
715     * mod_proxy
716
717       PR#362: Mod_proxy doesn't allow change of error pages
718         Status: 
719
720       PR#440: Proxy doesn't deliver documents if not connected
721         Status: 
722
723       PR#534: proxy converts ~name to %7Ename when name starts with a dot (.)
724         Status: 
725
726       PR#612: Proxy FTP Authentication Fails
727         Status: 
728
729       PR#700: Proxy doesn't do links right for OpenVMS files through ftp:
730         Status: 
731
732       PR#980: Controlling Access to Remote Proxies would be nice...
733         Status: 
734
735       PR#994: Adding authentication "on the fly" through the proxy module
736         Status: 
737
738       PR#1085: ProxyRemote make a dead cycle.
739         Status: 
740
741       PR#1166: ``nph-'' not honored (no buffering) for ProxyRemote mapping
742         Status: 
743
744       PR#1290: Need to know "hit-rate" on proxy cache
745         Status: 
746
747       PR#1532: Proxy transfer logging
748         Status: 
749
750       PR#1547: No HTTP_X_FORWARDED_FOR set...
751         Status: 
752
753       PR#1567: ProxyRemote proxy requests fail authentication by firewall
754         Status: 
755
756       PR#1702: mod_proxy to support persistent conns?
757         Status: 
758
759       PR#1878: listing of proxy cache content
760         Status: 
761
762       PR#2314: patterns in ProxyRemote
763         Status: 
764
765       PR#2648: Cache file names in Proxy module
766         Status: 
767
768       PR#3568: Accessing URL through proxy server corrupts data.
769         Status: 
770
771       PR#3605: Some anonymous FTP URLs ask for authentication
772         Status: 
773
774     * mod_rewrite
775
776       PR#1582: mod_rewrite forms REQUEST_URI different than mod_cgi does
777         Status: 
778
779       PR#2074: mod_rewrite doesn't pass Proxy Throughput on internal subrequests
780         Status: 
781
782     * mod_status
783
784       PR#2138: mod_status always displays 256 possible connection slots
785         Status: 
786
787       PR#2343: Status module averages are for entire uptime
788         Status: 
789
790     * apache-api
791
792       PR#1004: request_config field in request_rec is moderately bogus
793         Status: 
794
795       PR#1158: improvements to child spawning API
796         Status: 
797
798       PR#1233: there is no way to keep per-connection per-module state
799         Status: 
800
801       PR#2024: adding auth_why to conn_rec
802         Status: 
803
804       PR#2873: Feedback/Comment on APACI
805         Status: 
806
807       PR#3143: No module specific data hook for per-connection data
808         Status: 
809
810     * generally odds and ends
811
812       PR#2431: A small addition to rotatelogs.c to improve program functionality.
813         Status: 
814
815       PR#2763: mailto tags and bundling bug report script
816         Status: 
817
818       PR#2785: os-aix Support for System Resource Controller
819         Status: 
820
821       PR#2889: Inclusion of RPM spec file in CVS/distributions
822         Status: 
823
824       PR#5713: os-windows [PATCH] install as win32 service with domain account
825         Status: Cannot accept password-as-arg, we should prompt the
826                 user when -k install/-k config with a user argument.
827
828
829
830 Other bugs that need fixing:
831
832     * ap_discard_request should be converted to use the bucket API
833       directly rather than waste cycles copying buffers with the old API.
834
835     * MaxRequestsPerChild measures connections, not requests.
836         Until someone has a better way, we'll probably just rename it
837         "MaxConnectionsPerChild".
838     
839     * Regex containers don't work in an intutive way
840         Status: No one has come up with an efficient way to fix this
841         behavior. Dean has suggested getting rid of regex containers
842         completely.
843         OtherBill suggests: We at least seem to agree on eliminating
844                             the <Container ~ foo> forms, and using only
845                             <ContainerMatch foo> semantics.
846
847     * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
848       sigwaiting thread. We need to work around this, perhaps unless
849       there is hope soon for a fixed glibc.
850
851     * orig_ct in the byterange/multipart handling may not be
852       needed. Apache 1.3 just never stashed "multipart" into
853       r->content_type. We should probably follow suit since the
854       byterange stuff doesn't want the rest of the code to see the
855       multipart content-type; the other code should still think it is
856       dealing with the <orig_ct> stuff.
857         Status: Greg volunteers to investigate (esp. since he was most 
858                 likely the one to break it :-)
859
860 Binaries (probably not till beta):
861
862  Platform                      Avail.  Volunteer
863  ------------------------------------------------------------------
864  AIX 4.3.3                     no      Bill Stoddard
865  Mandrake 8.1                  no      open
866  FreeBSD 4.1                   no      open
867  hppa2.0w-hp-hpux11.00         no      Cliff Woolley
868  i386-pc-solaris2.8            no      Aaron Bannert
869  i386-unknown-freebsd4.5       no
870  i386-unknown-freebsd4.6       no      Cliff Woolley
871  i686-pc-linux-gnu-slackware81 no      Cliff Woolley
872  i686-pc-linux-gnu-rh70        no      Aaron Bannert
873  i686-pc-linux-gnu-rh73        no      Cliff Woolley
874  ia64-hp-hpux11.20             no
875  powerpc-apple-darwin5.5       no      Aaron Bannert
876  powerpc-unknown-linux-gnu     no      Graham Leggett
877  s390-ibm-linux                no      Greg Ames
878  sparc-sun-solaris2.8          no      Jim Jagielski
879  NetWare                       no      Brad Nicholes
880  OS/2                          no      Brian Havard
881  OS/390                        no      Greg Ames
882  Win32-x86                     no      William Rowe