]> granicus.if.org Git - apache/blob - STATUS
I say the input filtering change are as complete as it will be for 2.0,
[apache] / STATUS
1 APACHE 2.0 STATUS:                                              -*-text-*-
2 Last modified at [$Date: 2002/02/09 06:20:53 $]
3
4 Release:
5
6     2.0.32  : in development
7     2.0.31  : rolled Feburary 1, 2002.
8     2.0.30  : tagged January 8, 2002.  not rolled.
9     2.0.29  : tagged November 27, 2001.  not rolled.
10     2.0.28  : released November 13, 2001
11     2.0.27  : rolled November 6, 2001
12     2.0.26  : tagged October 16, 2001.  not rolled.
13     2.0.25  : rolled August 29, 2001
14     2.0.24  : rolled August 18, 2001
15     2.0.23  : rolled August 9, 2001
16     2.0.22  : rolled July 29, 2001
17     2.0.21  : rolled July 20, 2001
18     2.0.20  : rolled July 8, 2001
19     2.0.19  : rolled June 27, 2001
20     2.0.18  : rolled May 18, 2001
21     2.0.17  : rolled April 17, 2001
22     2.0.16  : rolled April 4, 2001
23     2.0.15  : rolled March 21, 2001
24     2.0.14  : rolled March 7, 2001
25     2.0a9   : released December 12, 2000
26     2.0a8   : released November 20, 2000
27     2.0a7   : released October 8, 2000
28     2.0a6   : released August 18, 2000
29     2.0a5   : released August 4, 2000
30     2.0a4   : released June 7, 2000
31     2.0a3   : released April 28, 2000
32     2.0a2   : released March 31, 2000
33     2.0a1   : released March 10, 2000
34
35 Please consult the following STATUS files for information
36 on related projects:
37
38     * srclib/apr/STATUS
39     * srclib/apr-util/STATUS
40     * docs/STATUS
41
42
43 CURRENT RELEASE NOTES:
44
45     * 32 status:
46       Proposed tag is JRE_1.  A proposed tarball is at:
47         http://www.apache.org/~jerenkrantz/2.0.32-jre/httpd-2.0.32-JRE-1-alpha.tar.gz
48       Win32 is not expected to work.
49
50     * 31 + fixes for all resolved problems and call it 32 (instead of HEAD)
51         See: http://www.apache.org/~jerenkrantz/httpd-2.0.jre.patch
52         +1: trawick, Justin, Ian
53         +0:
54         -1:
55
56 FINAL RELEASE SHOWSTOPPERS:
57
58     * ap_directory_walk skips some per-dir config merge functions
59       if there is no "<Directory />" block in the configuration
60         Message-ID: <m3itbdiijq.fsf@rdu163-40-092.nc.rr.com>
61         * That is very unlikely, merges are additive.  Much more likely,
62           the default SetOutputFilter default or merge is borked.
63           Unless it's the code that permits 'null' merges, per module.
64           Still, it's probably in SetOutputFilter's behavior.
65         * BrianP notes: directory_walk's handling of trailing slashes
66           appears to be the cause: <3C1CF721.1090300@pacbell.net>
67
68     * If any request gets to the core handler, without a flag that this 
69       r->filename was tested by dir/file_walk, we need to 500 at the very 
70       end of the ap_process_request_internal() processing.  This provides
71       authors of older modules better compatibility, while still improving
72       the security and robustness of 2.0. 
73         Status: still need to decide where this goes, OtherBill comments...
74         Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
75         we need to look at halting this in the 'default handler' case,
76         and that implies pushing the 'handler election' into the request
77         internal processing phase from the run request phase.
78
79     * Convert all instances of the old apr_lock_t type to the new
80       types (once they are fully supported in APR).
81         Status: Aaron is working on converting INTRAPROCESS
82                 to apr_thread_mutex_t types. Full replacements for
83                 LOCKALL and CROSS_PROCESS are not yet complete on all
84                 platforms, and should only be used in MPMs like worker
85                 with limited OS exposure.
86         BrianP asks: "Is this really a showstopper?"
87         IanH says: "If we don't do it before we go live we will have 2
88                     different API's to support in APR"
89
90     * [Ken] Test suite failures:
91       o worker is also failing some of the 'cgi' subtests
92       (see <URL:http://Source-Zone.Org/Apache/regression/>):
93         Justin says: "Worker should be fine and passes httpd-test here.
94                       If you can provide evidence that it can be reproduced
95                       outside of httpd-test, then it's a showstopper.  I
96                       think it's a perl or a httpd-test problem."
97         Not a showstopper: Justin
98
99     * [Ken] A binbuild installation picks up the right libraries when
100       running apachectl because we set the appropriate environment
101       variable, but ab, htpasswd, etc. don't know how to pick up apr,
102       apr-util, etc.
103         Message-ID: <20020116000226.GA15991@ebuilt.com>
104         gregames says: what about httpd?  yeah, it works at the moment
105                        if you use apachectl.  But I've already heard
106                        complaints about not being able to execute 
107                        httpd directly.
108         Status: Aaron has committed this for all the support binaries,
109                 but is hesitant to do the same for the httpd binary.
110         Message-ID: <20020207142751.T31582@clove.org>
111
112
113 CURRENT VOTES:
114
115     * Should we always build binaries statically unless otherwise
116       indicated?
117         Message-ID: <20020129210006.B23512@Lithium.MeepZor.Com>
118
119       +1:  Ken
120       -1:  Justin, Ian
121         
122     * If the parent process dies, should the remaining child processes
123       "gracefully" self-terminate. Or maybe we should make it a runtime
124       option, or have a concept of 2 parent processes (one being a 
125       "hot spare").
126       See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
127
128       Self-destruct: Ken, Martin
129       Not self-destruct: BrianP, Ian, Cliff, BillS
130       Make it runtime configurable: Aaron, Jim, Justin
131       Have 2 parents: +1: Jim
132                       -1: Justin
133                       +0: Martin (while standing by, could it do
134                                   something useful?)
135       look at accept() error handling first: gregames
136
137     * Make the worker MPM the default MPM for threaded Unix boxes.
138       +1:   Justin, Ian, Cliff
139       -0:   Aaron (premature decision, needs more discussion), Lars
140
141 RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
142
143     * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
144       removed if possible.
145         Message-ID: <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
146         
147     * There is a bug in how we sort some hooks, at least the pre-config
148       hook.  The first time we call the hooks, they are in the correct 
149       order, but the second time, we don't sort them correctly.  Currently,
150       the modules/http/config.m4 file has been renamed to 
151       modules/http/config2.m4 to work around this problem, it should moved
152       back when this is fixed.    rbb
153         Justin says: "Is this really a showstopper?  This has been here
154                       forever.  What's wrong?  Does this have to do with
155                       autoconf or m4?"
156         Not a showstopper: Justin, BrianP, trawick, gregames
157
158     * The Add...Filter and Set...Filter directives do not allow the
159       administrator to order filters, beyond the order of filename (mime)
160       extensions.  It isn't clear if Set...Filter(s) should be inserted 
161       before or after the Add...Filter(s) which are ordered by sequence of
162       filename extensions.  At minimum, some sort of +-[0-10] syntax seems
163       like the quickest fix for a 2.0 gold release.
164         Justin says: "Could we delay this for a point release or 2.1?"
165         Not a showstopper: justin, wrowe, trawick, stoddard, Jim, Ian, Aaron,
166                            gregames
167
168     * Make some modifications to the scoreboard creation routines,
169       prefer anonymous shared memory, and allow a configuration
170       directive to override the defaults.
171         Message-ID: <20020130080804.C16977@clove.org>
172       Status: Aaron volunteers
173
174     * Get perchild to work on platforms other than Linux. This
175       will require a portable mechanism to pass data and file/socket
176       descriptors between vhost child groups. An API was proposed
177       on dev@apr:
178         Message-ID: <20020111115006.K1529@clove.org>
179
180     * Recent changes to ap_rgetline may have broken EBCDIC boxes.
181         Message-ID: <20020122072605.GF28051@ebuilt.com>
182         Justin says: "I don't have an EBCDIC box to test on.  A potential
183                       solution is to split out ap_rgetline into two
184                       functions as described in this message."
185         gregames says: I see the breakage now, and volunteer to fix it
186                        when things calm down a little.  It looks OK when 
187                        there are complete lines and no mime continuations.
188
189     * Modify the worker MPM so that it doesn't need to create and
190       destroy a pool for each request--possibly by adopting a
191       leader/follower model in which each worker owns a persistent
192       ptrans pool (like the prefork MPM) and the workers take
193       turns acting as listeners...this approach might also help
194       reduce context-switching
195
196     * CGI single-byte reads
197       BrianP suggests that this is caused by the ap_scan_script_header_err()
198       routine, which will do single-byte reads until it finds the end
199       of the header, at which point it constructs a pipe-bucket (buffered)
200       to read from.
201       Proposed solution in:
202         Message-ID: <3C36ADAF.60601@cnet.com>
203
204     * Try to get libtool inter-library dependency code working on AIX.
205         Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
206
207       Justin says: If we get it working on AIX, we can enable this
208                    on all platforms and clean up our build system
209                    somewhat.
210       Jeff says:   I thought I tested a patch for you sometime in
211                    January that you were going to commit within a few
212                    days.
213
214     * Handling of %2f in URIs.  Currently both 1.3 and 2.0
215       completely disallow %2f in the request URI path (see
216       ap_unescape_url() in util.c).  It's permitted and passed
217       through in the query string, however.  Roy says the
218       original reason for disallowing it, from five years ago,
219       was to protect CGI scripts that applied PATH_INFO to
220       a filesystem location and which might be tricked by
221       ..%2f..%2f(...).  We *should* allow path-info of the
222       form 'http://foo.com/index.cgi/path/to/path%2finfo'.
223       Since we've revamped a lot of our processing of path
224       segments, it would be nice to allow this, or at least
225       allow it conditionally with a directive.
226
227     * FreeBSD, threads, and worker MPM.  All seems to work fine 
228       if you only have one worker process with many threads.  Add 
229       a second worker process and the accept lock seems to be
230       lost.  This might be an APR issue with how it deals with
231       the child_init hook (i.e. the fcntl lock needs to be resynced).
232       More examination and analysis is required.
233         Status: This has also been reported on Cygwin.  
234         Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
235
236       Justin says: So, FreeBSD-CURRENT and Cywin have the same 
237                    problem.  Yum.  If another platform has this
238                    with worker, this becomes a showstopper.
239       Aaron says: I spent some time disecting this and have come to
240               the conclusion that it is not a problem in the worker MPM
241               (or at least, it is not isolated to a problem in worker).
242               I'll list some of the problems I'm seeing in case someone
243               else wants to pick up where I've left off:
244                - Delivery of just about any signal to one of the child
245                  processes will send it into an infinite loop as well.
246                - Even though the parent is spinning out of control,
247                  at first the child or children will appear to work
248                  properly. At times it is possible to get it into a state,
249                  however, where a request will hang until another concurrent
250                  request "kicks" the first, at which point the second will
251                  hang. My theory is that this has to do with the
252                  pthread_cond_*() implementation in FreeBSD, but it's still
253                  possible that it is in APR.
254       
255       Justin adds: Oh, FreeBSD threads are implemented entirely with 
256                    select()/poll()/longjmp().  Welcome to the nightmare.
257                    So, that means a ktrace output also has the thread 
258                    scheduling internals in it (since it is all the same to 
259                    the kernel).  Which makes it hard to distinguish between 
260                    our select() calls and their select() calls.  
261                    *bangs head on wall repeatedly*  But, some of the libc_r 
262                    files have a DBG_MSG #define.  This is moderately helpful
263                    when used with -DNO_DETACH.  The kernel scheduler isn't 
264                    waking up the threads on a select().  Yum.  And, I bet 
265                    those decrementing select calls have to do with the 
266                    scheduler.  Time to brush up on our OS fundamentals.
267
268     * There is increasing demand from module writers for an API
269       that will allow them to control the server Ã  la apachectl.
270       Reasons include sole-function servers that need to die if
271       an external dependency (e.g., a database) fails, et cetera.
272       Perhaps something in the (ever more abused) scoreboard?
273         rbb: I don't believe the scoreboard is the correct mechanism
274              for this.  We already have a pipe that goes between parent
275              and child for graceful shutdown events, along with an API that
276              can be used to send a message down that pipe.  In threaded MPMs,
277              it is easy enough to make that one pipe be used for graceful
278              and graceless events, and it is also easy to open that pipe
279              to both parent and child for writing.  Then we just need to
280              figure out how to do graceless on non-threaded MPMs.
281
282     * Allow the DocumentRoot directive within <Location > scopes?  This
283       allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
284       by a <Directory /somepath/foo> to become simply 
285       <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
286       and in-your-face.)  DocumentRoot unset would be accepted [and would
287       not permit content to be served, only virtual resources such as
288       server-info or server-status.
289         This proposed change would _not_ depricate Alias.
290
291     * Win32: Rotatelogs sometimes is not terminated when Apache
292       goes down hard.  FirstBill was looking at possibly tracking the 
293       child's-child processes in the parent process.
294         OtherBill asks, wasn't this fixed? 
295         stoddard: Not fixed. Shared scoreboard might offer a good
296         way for the parent to keep track of 'other child' processes
297         and whack them if the child goes down.
298
299     * Win32: Add a simple hold console open patch (wait for close or
300         the ESC key, with a nice message) if the server died a bad 
301         death (non-zero exit code) in console mode.
302         Resolution: bring forward same ugly hacks from 1.3.13-.20
303
304     * Port of mod_ssl to Apache 2.0:
305
306       The current porting state is summarized in modules/ssl/README. The
307       remaining work includes:
308       (1) stablizing/optimizing the SSL filter logic
309       (2) Enabling the various SSL caching mechanisms (shmcb, shmht)
310       (3) Enabling SSL extentions
311       (4) Trying to seperate the https filter logic from mod_ssl -
312           This is to facilitate other modules that wish to use the https
313           filter or the mod_ssl logic or both as required.
314         Justin: mod_ssl filter logic is redone, so that should be fine.
315                 Madhu has submitted a patch for SSL caching - however, I
316                 am -0 on that patch as I *think* we could implement the
317                 shared memory another way that is much cleaner (i.e.
318                 treat shmem directly as a dbm via APR routines).  Justin 
319                 also thinks that the https filter logic may be sufficiently
320                 decoupled now, but isn't really sure.
321
322     * Performance & Debug: Eliminate most (and perhaps all) of the 
323       malloc/free calls in the bucket brigade code.  Need some 
324       light weight memory management functions that allow freeing 
325       memory (putting it back into a memory pool) when it is no 
326       longer needed. Enabling simple debugging features like guard
327       bands, double free detection, etc. would be cool but certainly
328       not a hard requirement.
329
330           Status: Cliff started to implement this using SMS as has
331                   been discussed at length for months, but since
332                   SMS is not being used anywhere else in the server,
333                   several people expressed the opinion that we should
334                   get rid of it entirely, meaning that the buckets
335                   need their own memory management (free list) functions.
336                   Cliff will implement that this weekend so we at least
337                   have something to look at/compare with.
338
339     * Eliminate unnecessary creation of pipes in mod_cgid
340         Status: Ken asks, didn't Jeff fix this when he fixed the queue
341                 overrun?
342
343     * the autoconf setup should be fixed to default to using the 
344       "Apache" layout from config.layout, and each variable settable
345       in a layout should be overridable on the command line.  Plus,
346       what we do right now just doesn't seem to fully fit into how autoconf
347       works, eg. AC_PREFIX_DEFAULT issues.
348         Message-ID: <Pine.BSF.4.20.0104031557420.20876-100000@alive.znep.com>
349
350     * Combine log_child and piped_log_spawn. Clean up http_log.c.
351       Common logging API.
352
353     * Document mod_file_cache.
354
355     * Platforms that do not support fork (primarily Win32 and AS/400)
356       Architect start-up code that avoids initializing all the modules 
357       in the parent process on platforms that do not support fork.
358
359     * Win32: Migrate the MPM over to use APR thread/process calls. This
360       would eliminate some code in the Win32 branch that essentially
361       duplicates what is in APR.
362
363     * There are still a number of places in the code where we are
364       losing error status (i.e. throwing away the error returned by a
365       system call and replacing it with a generic error code)
366
367     * Mass vhosting version of suEXEC.
368
369     * All DBMs suffer from confusion in support/dbmmanage (perl script) since 
370       the dbmmanage employs the first-matched dbm format.  This is not
371       necessarily the library that Apache was built with.  Aught to
372       rewrite dbmmanage upon installation to bin/ with the proper library 
373       for predictable mod_auth_dbm administration.
374         Questions; htdbm exists, time to kill dbmmanage, or does it remain
375                    useful as a perl dbm management example?  If we keep it,
376                    do we address the issue above?
377
378     * Integrate mod_dav.
379         Some additional items remaining:
380         - case_preserved_filename stuff
381             (use the new canonical name stuff?)
382         - find a new home for ap_text(_header)
383         - is it possible to remove the DAV: namespace stuff from util_xml?
384
385     * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
386       are a bit wonky.  The function should probably be exposed as a utility 
387       function (such as ap_translate_url2fs() or ap_validate_fs_url() or 
388       something).  Another approach would be a new hook phase after
389       "translate" which would allow the module to munge what the
390       translation has decided to do.
391         Status: Greg +1 (volunteers), Ryan +1
392
393     * Explore use of a post-config hook for the code in http_main.c which
394       calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
395       ap_sort_hooks()  [to reduce the logic in main()]
396
397     * read the config tree just once, and process N times (as necessary)
398
399     * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
400
401     * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
402       into a VirtualHost container) to 2.0.
403
404     * shift stuff to mod_core.h
405
406     * callers of ap_run_create_request() should check the return value
407       for failure (Doug volunteers)
408
409     * Win32: Get Apache working on Windows 95/98. The following work
410         (at least) needs to be done:
411         - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
412         specific code that is still not in NT only code paths
413         - IOL binds to APR sendfile, implemented with TransmitFile, which 
414         is not available on 95/98.
415         - Document warning that OSR2 is required (for Crypt functions, in
416         rand.c, at least.)  This could be resolved with an SSL library, or
417         randomization in APR itself.
418         - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
419         actually works) and add in a splash of Win9x service code.
420
421     * In order to use a DSO version of mod_ssl we have to link with
422       -lssl and -lcrypto. A workaround is in place right now where the
423       entire EXTRA_LIBS macro is being appended to the objects list, but
424       this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
425       autoconf function or come up with some other autoconf checks to
426       search for libssl and libcrypto and properly add them to mod_ssl's
427       link flags.
428
429     * Fix the worker MPM to use POD to kill child processes instead
430       of ap_os_killpg, regardless of how they should die. (Ryan Bloom)
431
432 PRs that have been suspended forever waiting for someone to
433 put them into 'the next release':
434
435     * PR#76: general
436       missing call to "setlocale();"
437         Status: 
438
439     * PR#78: mod_include
440       Additional status for XBitHack directive
441         Status: 
442
443     * PR#362: mod_proxy
444       Mod_proxy doesn't allow change of error pages
445         Status: 
446
447     * PR#370: mod_env
448       Modified PATH environemnt variable is not passed, instead
449       system's is used
450         Status: 
451
452     * PR#440: mod_proxy
453       Proxy doesn't deliver documents if not connected
454         Status: 
455
456     * PR#534: mod_proxy
457       proxy converts ~name to %7Ename when name starts with a dot (.)
458         Status: 
459
460     * PR#537: mod_access
461       mod_access syntax allows hosts that should be restricted
462         Status: 
463
464     * PR#557: mod_auth-any
465       ~UserHome directories are not honored in absolute pathname
466       requests (.htaccess)
467         Status: 
468
469     * PR#612: mod_proxy
470       Proxy FTP Authentication Fails
471         Status: 
472
473     * PR#623: mod_include
474       A smarter "Last Modified" value for SSI documents (see PR number 600)
475         Status: 
476
477     * PR#628: config
478       Request of "Options SymLinksIfGroupMatch"
479         Status: 
480
481     * PR#700: mod_proxy
482       Proxy doesn't do links right for OpenVMS files through ftp:
483         Status: 
484
485     * PR#759: mod_imap
486       imap should read <MAP><AREA>*</MAP> too!
487         Status: 
488
489     * PR#793: general
490       RLimitCPU and RLimitMEM don't apply to all children like they should
491         Status: 
492
493     * PR#921: suexec
494       Uses cwd before filling it in, doesn't use syslog
495         Status: 
496
497     * PR#922: config
498       it is useful to allow specifiction that root-owned symlinks
499       should always be followed
500         Status: 
501
502     * PR#980: mod_proxy
503       Controlling Access to Remote Proxies would be nice...
504         Status: 
505
506     * PR#994: mod_proxy
507       Adding authentication "on the fly" through the proxy module
508         Status: 
509
510     * PR#1004: apache-api
511       request_config field in request_rec is moderately bogus
512         Status: 
513
514     * PR#1028: other
515       DoS attacks involving memory consumption
516         Status: 
517
518     * PR#1050: mod_log-any
519       Logging of virtual server to error_log as well
520         Status: 
521
522     * PR#1085: mod_proxy
523       ProxyRemote make a dead cycle.
524         Status: 
525
526     * PR#1117: mod_auth-any
527       Using NIS passwd.byname dbm files with AuthDBMUserFile
528         Status: 
529
530     * PR#1120: suexec
531       suexec does not parse arguments to #exec cmd
532         Status: 
533
534     * PR#1145: mod_include
535       Allow for Last-Modified: without resorting to XBitHack
536         Status: 
537
538     * PR#1158: apache-api
539       improvements to child spawning API
540         Status: 
541
542     * PR#1166: mod_proxy
543       ``nph-'' not honored (no buffering) for ProxyRemote mapping
544         Status: 
545
546     * PR#1176: mod_cgi
547       Apache cannot handle continuation line in headers
548         Status: 
549
550     * PR#1191: general
551       setlogin() is not called, causing problems with e.g. identd
552         Status: 
553
554     * PR#1204: general
555       regerror() exists, use it
556         Status: 
557
558     * PR#1233: apache-api
559       there is no way to keep per-connection per-module state
560         Status: 
561
562     * PR#1263: mod_autoexec
563       Add frame-safe anchor attribute to mod_autoindex links
564         Status: 
565
566     * PR#1268: suexec
567       CGI scripts running as Apache user: security (suexec etc.)
568         Status: 
569
570     * PR#1285: suexec
571       Error messages could be easier to spot in cgi.log file for suexec.c
572         Status: 
573
574     * PR#1287: mod_access
575       add allow,deny/deny,allow warning to mod_access
576         Status: 
577
578     * PR#1290: mod_proxy
579       Need to know "hit-rate" on proxy cache
580         Status: 
581
582     * PR#1358: mod_log-any
583       Selective url-encode of log fields (or maybe a pseudo
584       log_rewrite module?)
585         Status: 
586
587     * PR#1383: mod_headers
588       I make mod_headers to modify request headers as well as
589       response ones.
590         Status: 
591
592     * PR#1532: mod_proxy
593       Proxy transfer logging
594         Status: 
595
596     * PR#1547: mod_proxy
597       No HTTP_X_FORWARDED_FOR set...
598         Status: 
599
600     * PR#1567: mod_proxy
601       ProxyRemote proxy requests fail authentication by firewall
602         Status: 
603
604     * PR#1582: mod_rewrite
605       mod_rewrite forms REQUEST_URI different than mod_cgi does
606         Status: 
607
608     * PR#1677: mod_headers
609       mod_headers should allow mod_log_config-style formats in
610       header values
611         Status: 
612
613     * PR#1702: mod_proxy
614       mod_proxy to support persistent conns?
615         Status: 
616
617     * PR#1803: mod_include
618       patches to mod_include to allow for file tests
619         Status: 
620
621     * PR#1809: mod_auth-any
622       Suggestion for improving authentication modules and core source
623       code, problem with 401 and ErrorDocument
624         Status: 
625
626     * PR#1878: mod_proxy
627       listing of proxy cache content
628         Status: 
629
630     * PR#1905: suexec
631       Allow modules to set user:group for execution.
632         Status: 
633
634     * PR#2024: apache-api
635       adding auth_why to conn_rec
636         Status: 
637
638     * PR#2073: mod_log-any
639       pipelined connections are not logged correctly
640         Status: 
641
642     * PR#2074: mod_rewrite
643       mod_rewrite doesn't pass Proxy Throughput on internal subrequests
644         Status: 
645
646     * PR#2113: config
647       HTTP Server Rebuild Line Needs Changing for the better
648         Status: 
649
650     * PR#2138: mod_status
651       mod_status always displays 256 possible connection slots
652         Status: 
653
654     * PR#2221: documentation
655       Make online documentation search link back to my installation
656         Status: 
657
658     * PR#2284: general
659       Can not POST to ErrorDocument - Apache/1.3b6
660         Status: 
661
662     * PR#2314: mod_proxy
663       patterns in ProxyRemote
664         Status: 
665
666     * PR#2343: mod_status
667       Status module averages are for entire uptime
668         Status: 
669
670     * PR#2360: suexec
671       suexec for general access of user content?
672         Status: 
673
674     * PR#2396: general
675       Proposal for TimeZone directive
676         Status: 
677
678     * PR#2415: mod_info
679       /server-info doesn't check for the virtual host to list the info
680         Status: 
681
682     * PR#2421: config
683       problem specifying ndbm library for build ?with autoconfigure
684         Status: 
685
686     * PR#2431: general
687       A small addition to rotatelogs.c to improve program functionality.
688         Status: 
689
690     * PR#2446: config
691       AllowOverride FileInfo is too coarse
692         Status: 
693
694     * PR#2460: mod_cgi
695       TimeOut applies to output of CGI scripts
696         Status: 
697
698     * PR#2512: mod_access
699       &lt;IfDenied&gt; directive wanted
700         Status: 
701
702     * PR#2573: suexec
703       CGI's for general use still have to be run as another user
704       with suExec
705         Status: 
706
707     * PR#2648: general
708       Cache file names in Proxy module
709         Status: 
710
711     * PR#2760: config
712       [PATCH] User/Group for <Directory> and <Location> i.e. not only
713       in global and <Virtual>.
714         Status: 
715
716     * PR#2763: general
717       mailto tags and bundling bug report script
718         Status: 
719
720     * PR#2785: os-aix
721       Support for System Resource Controller
722         Status: 
723
724     * PR#2793: protocol
725       When will Apache support P3P? Any Plans?
726         Status: 
727
728     * PR#2873: config
729       Feedback/Comment on APACI
730         Status: 
731
732     * PR#2889: general
733       Inclusion of RPM spec file in CVS/distributions
734         Status: 
735
736     * PR#2906: general
737       Propose that Apache recommend $UNIQUE_ID for all "session id"
738       algorithms
739         Status: 
740
741     * PR#2907: config
742       suggestion: power up your Include directive :)
743         Status: 
744
745     * PR#3018: general
746       cannot limit some HTTP methods
747         Status: 
748
749     * PR#3143: apache-api
750       No module specific data hook for per-connection data
751         Status: 
752
753     * PR#3191: mod_negotiation
754       no way to set global quality-of-source (qs) coneg values
755       with multiviews
756         Status: 
757
758     * PR#3568: mod_proxy
759       Accessing URL through proxy server corrupts data.
760         Status: 
761
762     * PR#3605: mod_proxy
763       Some anonymous FTP URLs ask for authentication
764         Status: 
765
766     * PR#3677: general
767       New ErrorDocumentMatch directive
768         Status: 
769
770     * PR#4241: config
771       Need to be able to override shebang line to make CGI scripts
772       more portable.
773         Status: 
774
775     * PR#4244: config
776       "Files" and "FilesMatch" regexp does not recognize bang as
777       negation operator
778         Status: 
779
780     * PR#4448: mod_log-any
781       Please allow CGI env variables (QUERY_STRING, ...) to be logged
782       with %{}e
783         Status: 
784
785     * PR#4459: mod_include
786       Suggestion for better handling of Last-modified headers
787         Status: 
788
789     * PR#4490: mod_cgi
790       mod_cgi prevents handling of OPTIONS requests
791         Status: 
792
793     * PR#5713: os-windows
794       [PATCH] install as win32 service with domain account
795         Status: Cannot accept password-as-arg, we should prompt the
796                 user when -k install/-k config with a user argument.
797
798     * PR#5993: general
799       AllowOverride should have a 'CheckNone' and 'AllowNone' argument
800       instead of only 'None'
801         Status: 
802
803 Other bugs that need fixing:
804
805     * MaxRequestsPerChild measures connections, not requests.
806         Until someone has a better way, we'll probably just rename it
807         "MaxConnectionsPerChild".
808     
809     * Regex containers don't work in an intutive way
810         Status: No one has come up with an efficient way to fix this
811         behavior. Dean has suggested getting rid of regex containers
812         completely.
813         OtherBill suggests: We at least seem to agree on eliminating
814                             the <Container ~ foo> forms, and using only
815                             <ContainerMatch foo> semantics.
816
817     * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
818       sigwaiting thread. We need to work around this, perhaps unless
819       there is hope soon for a fixed glibc.
820
821     * orig_ct in the byterange/multipart handling may not be
822       needed. Apache 1.3 just never stashed "multipart" into
823       r->content_type. We should probably follow suit since the
824       byterange stuff doesn't want the rest of the code to see the
825       multipart content-type; the other code should still think it is
826       dealing with the <orig_ct> stuff.
827         Status: Greg volunteers to investigate (esp. since he was most 
828                 likely the one to break it :-)
829
830 Other features that need writing:
831
832     * Finish infrastructure in core for async MPMs
833         Status: post 2.0
834
835     * TODO in source -- just do an egrep on "TODO" and see what's there
836
837 Available Patches:
838
839    * Jon Travis's <jtravis@covalent.net> patch to deal with thread-safe
840      issues with inet_ntoa.  See message <20001201163220.A12827@covalent.net>
841         Status:  This is being set aside until the IPv6 work is finished
842                  so that we know exactly what is required.
843
844    * Martin Sojka <msojka@gmx.de>'s patch to add error reporting for failed 
845      htpasswd actions due to a full /tmp volume (other programs may have
846      similar problems?)
847         PR: 6475
848         Status:
849
850    * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
851      performance
852        Status: These were written for 1.3, and are awaiting a port to
853        2.0
854  
855    * Jim Winstead's <jimw@trainedmonkey.com> patch to add CookieDomain and 
856      other small mod_usertrack features
857
858    * Dan Rench's <drench@xnet.com> patch to add allow the errmsg and timefmt 
859      of SSI's to be modified in the config file.  Patch is available in 
860      PR6193
861
862 Open issues:
863
864    * Which MPMs will be included with Apache 2.0?