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