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