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