]> granicus.if.org Git - apache/blob - STATUS
Clean this up a bit.
[apache] / STATUS
1 APACHE 2.0 STATUS:                                              -*-text-*-
2 Last modified at [$Date: 2002/09/28 18:20:43 $]
3
4 Release:
5
6     2.0.43  : in development.
7     2.0.42  : released September 24, 2002 as GA.
8     2.0.41  : rolled September 16, 2002.  not released.
9     2.0.40  : released August 9, 2002 as GA.
10     2.0.39  : released June 17, 2002 as GA.
11     2.0.38  : rolled June 16, 2002.  not released.
12     2.0.37  : rolled June 11, 2002.  not released.
13     2.0.36  : released May 6, 2002 as GA.
14     2.0.35  : released April 5, 2002 as GA.
15     2.0.34  : tagged March 26, 2002.
16     2.0.33  : tagged March 6, 2002.  not released.
17     2.0.32  : released Feburary 16, 2002 as beta.
18     2.0.31  : rolled Feburary 1, 2002.  not released.
19     2.0.30  : tagged January 8, 2002.  not rolled.
20     2.0.29  : tagged November 27, 2001.  not rolled.
21     2.0.28  : released November 13, 2001 as beta.
22     2.0.27  : rolled November 6, 2001
23     2.0.26  : tagged October 16, 2001.  not rolled.
24     2.0.25  : rolled August 29, 2001
25     2.0.24  : rolled August 18, 2001
26     2.0.23  : rolled August 9, 2001
27     2.0.22  : rolled July 29, 2001
28     2.0.21  : rolled July 20, 2001
29     2.0.20  : rolled July 8, 2001
30     2.0.19  : rolled June 27, 2001
31     2.0.18  : rolled May 18, 2001
32     2.0.17  : rolled April 17, 2001
33     2.0.16  : rolled April 4, 2001
34     2.0.15  : rolled March 21, 2001
35     2.0.14  : rolled March 7, 2001
36     2.0a9   : released December 12, 2000
37     2.0a8   : released November 20, 2000
38     2.0a7   : released October 8, 2000
39     2.0a6   : released August 18, 2000
40     2.0a5   : released August 4, 2000
41     2.0a4   : released June 7, 2000
42     2.0a3   : released April 28, 2000
43     2.0a2   : released March 31, 2000
44     2.0a1   : released March 10, 2000
45
46 Please consult the following STATUS files for information
47 on related projects:
48
49     * srclib/apr/STATUS
50     * srclib/apr-util/STATUS
51     * docs/STATUS
52
53 Contributors looking for a mission:
54
55     * just do an egrep on "TODO" and see what's there
56
57
58 CURRENT RELEASE NOTES:
59
60
61 RELEASE SHOWSTOPPERS:
62
63
64 CURRENT VOTES:
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
71
72       b) tailored httpd-std.conf should be copied by install to
73          sysconfdir/examples
74          -0:   striker
75
76       c) tailored httpd-std.conf should be installed to
77          sysconfdir/examples or manualdir/exampleconf/
78          +1:   slive, trawick, Ken
79
80       d) Installing a set of default config files when upgrading a server
81          doesn't make ANY sense at all.
82          +1:   rbb, striker
83            ianh - medium/big sites don't use 'standard config' anyway, as it
84                   usually needs major customizations
85          -1:   Ken
86
87     * If the parent process dies, should the remaining child processes
88       "gracefully" self-terminate. Or maybe we should make it a runtime
89       option, or have a concept of 2 parent processes (one being a 
90       "hot spare").
91       See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
92
93       Self-destruct: Ken, Martin
94       Not self-destruct: BrianP, Ian, Cliff, BillS
95       Make it runtime configurable: Aaron, Jim, Justin
96       Have 2 parents: +1: Jim
97                       -1: Justin, wrowe [for 2.0]
98                       +0: Martin (while standing by, could it do
99                                   something useful?)
100
101     * Make the worker MPM the default MPM for threaded Unix boxes.
102       +1:   Justin, Ian, Cliff, BillS, striker
103       +0:   BrianP, Aaron (mutex contention is looking better with the
104             latest code, let's continue tuning and testing)
105       -0:   Lars
106
107 RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
108
109     * There is a bug in how we sort some hooks, at least the pre-config
110       hook.  The first time we call the hooks, they are in the correct 
111       order, but the second time, we don't sort them correctly.  Currently,
112       the modules/http/config.m4 file has been renamed to 
113       modules/http/config2.m4 to work around this problem, it should moved
114       back when this is fixed.    rbb
115
116         OtherBill offers that this is a SERIOUS problem.  We do not sort
117         correctly by the ordering arguments passed to the register hook
118         functions.  This was proven when I reordered the open_logs hook
119         to attempt to open the error logs prior to the access logs.  Possibly
120         the entire sorting code needs to be refactored.
121
122     * pipes deadlock on all platforms with limited pipe buffers (e.g. both
123       Linux and Win32, as opposed to only Win32 on 1.3).  The right solution
124       is either GStein's proposal for a "CGI Brigade", or OtherBill's proposal
125       for "Poll Buckets" for "Polling Filter Chains".
126
127     * server pushed CGI's not working.
128       This might be an interaction with the above pipes deadlock issue.
129       PR: 8482
130       Message-ID: <3CE15B85.2FF45121@apache.org>
131
132     * All handlers should always send content down even if r->header_only
133       is set.  If not, it means that the HEAD requests don't generate the
134       same headers as a GET which is wrong.
135
136     * HP/UX 10.20: compile breakage in APR.  Looks like it should be easy
137       to fix, probably just some extraneous #include's that are fouling
138       things up.
139       PR: 9457
140       Jeff: See my reply and patch in the PR (and previous commit to
141       stop using "pipe" as a field name).  If patch is committed, we
142       should be okay.  I'll wait to see if the user tests the patch.
143       Update by Jeff 20020722: I got an account on HP 10.20.  It looks
144       like some of the APR thread detection is screwed up.  If we find
145       pthread.h but we can't compile the pthread test program we still
146       think we can use threads.  For that reason, the patch I posted
147       to the PR won't work as-is since a failed compile of the test
148       program means nothing.
149
150     * exec cmd and suexec arg-passing enhancements
151       Status: Patches proposed
152       Message-ID: <20020526041748.A29148@prodigy.Redbrick.DCU.IE>
153       (see the "proc.patch" and "suexec-shell.patch" links in this message)
154
155     * The 2.0.36 worker MPM graceless shutdown changes work but are
156       a bit clunky on some platforms; eg, on Linux, the loop to
157       join each worker thread seems to hang, and the parent ends up
158       killing off the child with SIGKILL.  But at least it shuts down.
159
160     * --enable-mods-shared="foo1 foo2" is busted on Darwin.  Pier
161         posted a patch (Message-ID: <B8DBBE8D.575A%pier@betaversion.org>).
162
163     * We do not properly substitute the prefix-variables in the configuration
164       scripts or generated-configs.  (i.e. if sysconfdir is etc,
165       httpd-std.conf points to conf.)
166
167     * If any request gets through ap_process_request_internal() and is
168       scheduled to be served by the core handler, without a flag that this 
169       r->filename was tested by dir/file_walk, we need to 500 at the very 
170       end of the ap_process_request_internal() processing so sub_req-esters
171       know this request cannot be run.  This provides authors of older 
172       modules better compatibility, while still improving the security and 
173       robustness of 2.0. 
174
175         Status: still need to decide where this goes, OtherBill comments...
176         Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
177         [Deleted comments regarding the ap_run_handler phase, as irrelevant
178             as BillS points out that "common case will be caught in
179             default_handler already (with the r->finfo.filetype == 0 check)"
180             and the issue is detecting this -before- we try to run the req.]
181
182         gregames says: can this happen somehow without a broken module
183             being involved?  If not, why waste cycles trying to defend against
184             potential broken modules?  It seems futile.
185         wrowe counters: no, it shouldn't happen unless the module is broken.
186             But the right answer is to fail the request up-front in dir/file
187             walk if the path was entirely invalid; and we can't do that either
188             UNTIL 2.1 or we break modules that haven't hooked map_to_storage.
189
190     * Rewrite core_output_filter. It is nearly impossible to support
191       it with predictable results as it is implemented now.
192
193     * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
194       how the Perchild MPM should be re-written.  It hasn't worked
195       correctly since filters were added because it wasn't possible to
196       get the content that had already been written and the socket at
197       the same time.  This mode lets us do that, so the MPM can be
198       fixed.
199
200     * htpasswd blindly processes the file you give it, and does no
201       sanity checking before totally corrupting whatever file it was
202       you thought you had. It should check the input file and bail
203       if it finds non-comment lines that do not contain exactly 1
204       ':' character.
205         Message-ID: <20020217150457.A31632@clove.org>
206
207     * Can a static httpd be built reliably?
208         Message-ID: <20020207142751.T31582@clove.org>
209
210     * [Ken] Test suite failures:
211       o worker is also failing some of the 'cgi' subtests
212       (see <URL:http://Source-Zone.Org/Apache/regression/>):
213         Justin says: "Worker should be fine and passes httpd-test here.
214                       I think it's a perl or a httpd-test problem."
215
216     * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
217       removed if possible.
218         Message-ID: <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
219         Jeff wonders if we still care about this.  It is no longer an
220         API issue but simply an extra trip through the brigade.
221
222     * The Add...Filter and Set...Filter directives do not allow the
223       administrator to order filters, beyond the order of filename (mime)
224       extensions.  It isn't clear if Set...Filter(s) should be inserted 
225       before or after the Add...Filter(s) which are ordered by sequence of
226       filename extensions.  At minimum, some sort of +-[0-10] syntax seems
227       like a nice solution.  See ROADMAP.
228
229     * Get perchild to work on platforms other than Linux. This
230       will require a portable mechanism to pass data and file/socket
231       descriptors between vhost child groups. An API was proposed
232       on dev@apr:
233         Message-ID: <20020111115006.K1529@clove.org>
234
235     * Try to get libtool inter-library dependency code working on AIX.
236         Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
237
238       Justin says: If we get it working on AIX, we can enable this
239                    on all platforms and clean up our build system
240                    somewhat.
241       Jeff says:   I thought I tested a patch for you sometime in
242                    January that you were going to commit within a few
243                    days.
244
245     * Handling of %2f in URIs.  Currently both 1.3 and 2.0
246       completely disallow %2f in the request URI path (see
247       ap_unescape_url() in util.c).  It's permitted and passed
248       through in the query string, however.  Roy says the
249       original reason for disallowing it, from five years ago,
250       was to protect CGI scripts that applied PATH_INFO to
251       a filesystem location and which might be tricked by
252       ..%2f..%2f(...).  We *should* allow path-info of the
253       form 'http://foo.com/index.cgi/path/to/path%2finfo'.
254       Since we've revamped a lot of our processing of path
255       segments, it would be nice to allow this, or at least
256       allow it conditionally with a directive.
257
258         OtherBill adds that %2f as the SECOND character of a multibyte
259         sequence causes the request to fail!  This happens notably in
260         the ja-jis encoding.
261
262     * FreeBSD, threads, and worker MPM.  All seems to work fine 
263       if you only have one worker process with many threads.  Add 
264       a second worker process and the accept lock seems to be
265       lost.  This might be an APR issue with how it deals with
266       the child_init hook (i.e. the fcntl lock needs to be resynced).
267       More examination and analysis is required.
268         Status: This has also been reported on Cygwin.  
269         Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
270
271       Aaron says: I spent some time disecting this and have come to
272               the conclusion that it is not a problem in the worker MPM
273               (or at least, it is not isolated to a problem in worker).
274               I'll list some of the problems I'm seeing in case someone
275               else wants to pick up where I've left off:
276                - Delivery of just about any signal to one of the child
277                  processes will send it into an infinite loop as well.
278                - Even though the parent is spinning out of control,
279                  at first the child or children will appear to work
280                  properly. At times it is possible to get it into a state,
281                  however, where a request will hang until another concurrent
282                  request "kicks" the first, at which point the second will
283                  hang. My theory is that this has to do with the
284                  pthread_cond_*() implementation in FreeBSD, but it's still
285                  possible that it is in APR.
286       
287       Justin adds: Oh, FreeBSD threads are implemented entirely with 
288                    select()/poll()/longjmp().  Welcome to the nightmare.
289                    So, that means a ktrace output also has the thread 
290                    scheduling internals in it (since it is all the same to 
291                    the kernel).  Which makes it hard to distinguish between 
292                    our select() calls and their select() calls.  
293                    *bangs head on wall repeatedly*  But, some of the libc_r 
294                    files have a DBG_MSG #define.  This is moderately helpful
295                    when used with -DNO_DETACH.  The kernel scheduler isn't 
296                    waking up the threads on a select().  Yum.  And, I bet 
297                    those decrementing select calls have to do with the 
298                    scheduler.  Time to brush up on our OS fundamentals.
299
300     * There is increasing demand from module writers for an API
301       that will allow them to control the server Ã  la apachectl.
302       Reasons include sole-function servers that need to die if
303       an external dependency (e.g., a database) fails, et cetera.
304       Perhaps something in the (ever more abused) scoreboard?
305         rbb: I don't believe the scoreboard is the correct mechanism
306              for this.  We already have a pipe that goes between parent
307              and child for graceful shutdown events, along with an API that
308              can be used to send a message down that pipe.  In threaded MPMs,
309              it is easy enough to make that one pipe be used for graceful
310              and graceless events, and it is also easy to open that pipe
311              to both parent and child for writing.  Then we just need to
312              figure out how to do graceless on non-threaded MPMs.
313
314     * Allow the DocumentRoot directive within <Location > scopes?  This
315       allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
316       by a <Directory /somepath/foo> to become simply 
317       <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
318       and in-your-face.)  DocumentRoot unset would be accepted [and would
319       not permit content to be served, only virtual resources such as
320       server-info or server-status.
321       This proposed change would _not_ depricate Alias.
322         striker: See the thread starting with Message-ID:
323           JLEGKKNELMHCJPNMOKHOGEEJFBAA.striker@apache.org.
324
325     * Win32: Rotatelogs sometimes is not terminated when Apache
326       goes down hard.  FirstBill was looking at possibly tracking the 
327       child's-child processes in the parent process.
328         stoddard: Shared scoreboard might offer a good way for the parent 
329         to keep track of 'other child' processes and whack them if the child 
330         goes down.
331         Other thoughts on walking the process chain using the NT kernel
332         have also been proposed on APR.
333
334     * Eliminate unnecessary creation of pipes in mod_cgid
335
336     * Combine log_child and piped_log_spawn. Clean up http_log.c.
337       Common logging API.
338
339     * Document mod_file_cache.
340
341     * Platforms that do not support fork (primarily Win32 and AS/400)
342       Architect start-up code that avoids initializing all the modules 
343       in the parent process on platforms that do not support fork.
344
345     * Win32: Migrate the MPM over to use APR thread/process calls. This
346       would eliminate some code in the Win32 branch that essentially
347       duplicates what is in APR.
348
349     * There are still a number of places in the code where we are
350       losing error status (i.e. throwing away the error returned by a
351       system call and replacing it with a generic error code)
352
353     * Mass vhosting version of suEXEC.
354
355     * All DBMs suffer from confusion in support/dbmmanage (perl script) since 
356       the dbmmanage employs the first-matched dbm format.  This is not
357       necessarily the library that Apache was built with.  Aught to
358       rewrite dbmmanage upon installation to bin/ with the proper library 
359       for predictable mod_auth_dbm administration.
360         Questions; htdbm exists, time to kill dbmmanage, or does it remain
361                    useful as a perl dbm management example?  If we keep it,
362                    do we address the issue above?
363
364     * Integrate mod_dav.
365         Some additional items remaining:
366         - case_preserved_filename stuff
367             (use the new canonical name stuff?)
368         - find a new home for ap_text(_header)
369         - is it possible to remove the DAV: namespace stuff from util_xml?
370
371     * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
372       are a bit wonky.  The function should probably be exposed as a utility 
373       function (such as ap_translate_url2fs() or ap_validate_fs_url() or 
374       something).  Another approach would be a new hook phase after
375       "translate" which would allow the module to munge what the
376       translation has decided to do.
377         Status: Greg +1 (volunteers), Ryan +1
378
379     * Explore use of a post-config hook for the code in http_main.c which
380       calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
381       ap_sort_hooks()  [to reduce the logic in main()]
382
383     * read the config tree just once, and process N times (as necessary)
384
385     * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
386
387     * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
388       into a VirtualHost container) to 2.0.
389
390     * shift stuff to mod_core.h
391
392     * callers of ap_run_create_request() should check the return value
393       for failure (Doug volunteers)
394
395     * Win32: Get Apache working on Windows 95/98. The following work
396         (at least) needs to be done:
397         - Document warning that OSR2 is required (for Crypt functions, in
398         rand.c, at least.)  This could be resolved with an SSL library, or
399         randomization in APR itself.
400         - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
401         actually works) and add in a splash of Win9x service code.
402
403     * Fix the worker MPM to use POD to kill child processes instead
404       of ap_os_killpg, regardless of how they should die. (Ryan Bloom)
405
406     * Scoreboard structures could be changed in the future such that
407       proper alignment is not maintained, leading to segfaults on 
408       some systems.  Cliff posted a patch to deal with this issue but
409       later recanted. See this message to dev@apr.apache.org:
410       Message-ID: <Pine.LNX.4.44.0203011354090.16457-200000@deepthought
411                   .cs.virginia.edu>
412
413 TODO ISSUES REMAINING IN MOD_SSL:
414
415     * In order to use a DSO version of mod_ssl we have to link with
416       -lssl and -lcrypto. A workaround is in place right now where the
417       entire EXTRA_LIBS macro is being appended to the objects list, but
418       this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
419       autoconf function or come up with some other autoconf checks to
420       search for libssl and libcrypto and properly add them to mod_ssl's
421       link flags.
422
423     * SSL renegotiations in combination with POST request
424
425     * Port or dispose all code inside #if 0...#endif blocks that remain
426       from the porting effort.
427
428     * Do we need SSL_set_read_ahead()?
429
430     * the ssl_expr api is NOT THREAD SAFE.  race conditions exist:
431        -in ssl_expr_comp() if SSLRequire is used in .htaccess
432         (ssl_expr_info is global)
433        -is ssl_expr_eval() if there is an error
434         (ssl_expr_error is global)
435
436     * SSLRequire directive (parsing of) leaks memory
437
438     * Diffie-Hellman-Parameters for temporary keys are hardcoded in
439       ssl_engine_dh.c, while the comment in ssl_engine_kernel.c says:
440       "it is suggested that keys be changed daily or every 500
441       transactions, and more often if possible."
442
443     * ssl_var_lookup could be rewritten to be MUCH faster
444
445     * CRL callback should be pluggable
446
447     * session cache store should be pluggable
448
449     * init functions should return status code rather than ssl_die()
450
451     * ssl_engine_pphrase.c needs to be reworked so it is generic enough
452       to also decrypt proxy keys
453
454     * the shmcb code should just align its memory segment rather than
455       jumping through all the "safe" memcpy and memset hoops
456
457
458 EXPERIMENTAL MODULES:
459
460     Experimental modules should eventually be be promoted to fully supported
461     status or removed from the repository entirely (ie, the
462     'experiment' failed). This section tracks what needs to happen to 
463     get the modules promoted to fully supported status.
464
465     mod_cache/mod_mem_cache/mod_disk_cache:
466
467     * mod_cache: handle cache_control: no_cache "field_name" to enable 
468       cacheing the response w/o header "field_name"
469       See RFC2616 section 14.9.1
470
471     * mod_cache: CacheEnable/CacheDisable should accept regular expressions.
472
473     * mod_cache: Fix dependency on ATOMIC operators. Need
474       APR_HAS_ATOMIC_* feature macros.
475
476     * mod_disk_cache: Implement garbage collection
477
478     * mod_mem_cache/mod_disk_cache: Need to be able to query cache
479       status (num of entries, cache object properties, etc.).
480       mod_status could be extended to query optional hooks defined
481       by modules for the purpose of reporting module status.
482       mod_cache (et. al.) could define optional hooks that are called
483       to collect status.  Status should be queryable by
484       HTTP or SNMP?
485
486     * mod_mem_cache: garbage collection. One strategy is to simply
487       remove stale entries as we attempt to serve them. Another
488       strategy is to kick off a GC thread that traverses the cache
489       and preemptively remove stale entries.  How to manage a 
490       cache that is full? Do LRU GC? Other? Bueller?
491
492     * mod_mem_cache/mod_disk_cache: Complete implementing config
493       directives. 
494
495     * Sample config for mod_cache/mod_mem_cache/mod_disk_cache for
496       inclusion into httpd.conf.
497
498     * mod_cache/mod_mem_cache/mod_disk_cache: Documentation.
499     
500     mod_auth_ldap/util_ldap:
501     
502     * implement cross-platform/cross-library TLS support
503     
504     * General stabilization and testing
505     
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_info
690
691       PR#2415: /server-info doesn't check for the virtual host to list the info
692         Status: 
693
694     * mod_log-any
695
696       PR#1050: Logging of virtual server to error_log as well
697         Status: 
698
699       PR#1358: Selective url-encode of log fields (or maybe a pseudo
700       log_rewrite module?)
701         Status: 
702
703       PR#2073: pipelined connections are not logged correctly
704         Status: 
705
706       PR#4448: Please allow CGI env variables (QUERY_STRING, ...) to be logged
707       with %{}e
708         Status: 
709
710     * mod_negotiation
711
712       PR#3191: no way to set global quality-of-source (qs) coneg values
713       with multiviews
714         Status: 
715
716     * mod_proxy
717
718       PR#362: Mod_proxy doesn't allow change of error pages
719         Status: 
720
721       PR#440: Proxy doesn't deliver documents if not connected
722         Status: 
723
724       PR#534: proxy converts ~name to %7Ename when name starts with a dot (.)
725         Status: 
726
727       PR#612: Proxy FTP Authentication Fails
728         Status: 
729
730       PR#700: Proxy doesn't do links right for OpenVMS files through ftp:
731         Status: 
732
733       PR#980: Controlling Access to Remote Proxies would be nice...
734         Status: 
735
736       PR#994: Adding authentication "on the fly" through the proxy module
737         Status: 
738
739       PR#1085: ProxyRemote make a dead cycle.
740         Status: 
741
742       PR#1166: ``nph-'' not honored (no buffering) for ProxyRemote mapping
743         Status: 
744
745       PR#1290: Need to know "hit-rate" on proxy cache
746         Status: 
747
748       PR#1532: Proxy transfer logging
749         Status: 
750
751       PR#1547: No HTTP_X_FORWARDED_FOR set...
752         Status: 
753
754       PR#1567: ProxyRemote proxy requests fail authentication by firewall
755         Status: 
756
757       PR#1702: mod_proxy to support persistent conns?
758         Status: 
759
760       PR#1878: listing of proxy cache content
761         Status: 
762
763       PR#2314: patterns in ProxyRemote
764         Status: 
765
766       PR#2648: Cache file names in Proxy module
767         Status: 
768
769       PR#3568: Accessing URL through proxy server corrupts data.
770         Status: 
771
772       PR#3605: Some anonymous FTP URLs ask for authentication
773         Status: 
774
775     * mod_rewrite
776
777       PR#1582: mod_rewrite forms REQUEST_URI different than mod_cgi does
778         Status: 
779
780       PR#2074: mod_rewrite doesn't pass Proxy Throughput on internal subrequests
781         Status: 
782
783     * mod_status
784
785       PR#2138: mod_status always displays 256 possible connection slots
786         Status: 
787
788       PR#2343: Status module averages are for entire uptime
789         Status: 
790
791     * apache-api
792
793       PR#1004: request_config field in request_rec is moderately bogus
794         Status: 
795
796       PR#1158: improvements to child spawning API
797         Status: 
798
799       PR#1233: there is no way to keep per-connection per-module state
800         Status: 
801
802       PR#2024: adding auth_why to conn_rec
803         Status: 
804
805       PR#2873: Feedback/Comment on APACI
806         Status: 
807
808       PR#3143: No module specific data hook for per-connection data
809         Status: 
810
811     * generally odds and ends
812
813       PR#2431: A small addition to rotatelogs.c to improve program functionality.
814         Status: 
815
816       PR#2763: mailto tags and bundling bug report script
817         Status: 
818
819       PR#2785: os-aix Support for System Resource Controller
820         Status: 
821
822       PR#2889: Inclusion of RPM spec file in CVS/distributions
823         Status: 
824
825       PR#5713: os-windows [PATCH] install as win32 service with domain account
826         Status: Cannot accept password-as-arg, we should prompt the
827                 user when -k install/-k config with a user argument.
828
829
830
831 Other bugs that need fixing:
832
833     * ap_discard_request should be converted to use the bucket API
834       directly rather than waste cycles copying buffers with the old API.
835
836     * MaxRequestsPerChild measures connections, not requests.
837         Until someone has a better way, we'll probably just rename it
838         "MaxConnectionsPerChild".
839     
840     * Regex containers don't work in an intutive way
841         Status: No one has come up with an efficient way to fix this
842         behavior. Dean has suggested getting rid of regex containers
843         completely.
844         OtherBill suggests: We at least seem to agree on eliminating
845                             the <Container ~ foo> forms, and using only
846                             <ContainerMatch foo> semantics.
847
848     * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
849       sigwaiting thread. We need to work around this, perhaps unless
850       there is hope soon for a fixed glibc.
851
852     * orig_ct in the byterange/multipart handling may not be
853       needed. Apache 1.3 just never stashed "multipart" into
854       r->content_type. We should probably follow suit since the
855       byterange stuff doesn't want the rest of the code to see the
856       multipart content-type; the other code should still think it is
857       dealing with the <orig_ct> stuff.
858         Status: Greg volunteers to investigate (esp. since he was most 
859                 likely the one to break it :-)
860
861 Binaries (2.0.40):
862
863  Platform                      Avail.  Volunteer
864  ------------------------------------------------------------------
865  AIX 4.3.3                     no      Bill Stoddard
866  Mandrake 8.1                  no      Ryan Bloom
867  FreeBSD 4.1                   no      Ryan Bloom
868  hppa2.0w-hp-hpux11.00         yes     Cliff Woolley
869  i386-pc-solaris2.8            no      Aaron Bannert
870  i386-unknown-freebsd4.5       no
871  i386-unknown-freebsd4.6       yes     Cliff Woolley
872  i686-pc-linux-gnu-slackware81 yes     Cliff Woolley
873  i686-pc-linux-gnu-rh70        no      Aaron Bannert
874  i686-pc-linux-gnu-rh73        yes     Cliff Woolley
875  ia64-hp-hpux11.20             no
876  powerpc-apple-darwin5.5       no      Aaron Bannert
877  powerpc-unknown-linux-gnu     no      Graham Leggett
878  s390-ibm-linux                yes     Greg Ames
879  sparc-sun-solaris2.8          no      Jim Jagielski
880  NetWare                       yes     Brad Nicholes
881  OS/2                          no      Brian Havard
882  OS/390                        yes     Greg Ames
883  Win32-x86                     yes     William Rowe