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