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