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