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