]> granicus.if.org Git - apache/blob - STATUS
get the last worker in a given child initialized properly
[apache] / STATUS
1 APACHE 2.0 STATUS:                                              -*-text-*-
2 Last modified at [$Date: 2001/02/22 01:28:51 $]
3
4 Release:
5
6     2.0b1   : Scheduled to release End of January, 2001
7         rbb volunteers to be RM
8     2.0a9   : released December 12, 2000
9     2.0a8   : released November 20, 2000
10     2.0a7   : released October 8, 2000
11     2.0a6   : released August 18, 2000
12     2.0a5   : released August 4, 2000
13     2.0a4   : released June 7, 2000
14     2.0a3   : released April 28, 2000
15     2.0a2   : released March 31, 2000
16     2.0a1   : released March 10, 2000
17
18 RELEASE SHOWSTOPPERS:
19
20     WARNING: ALWAYS check srclib/apr/STATUS and srclib/apr-util/STATUS
21
22     * Generic Hooks are absolutely wrong in linkage, they are declared as
23       exported from APU, but actually exported from modules.  This needs
24       heavy fixup, which Bill will do on the plane tommorow.  The actual
25       'Apache' declaration is in Apache's files, with the 'explicit linkage'
26       flavor in apr-util.  (Unless you folks will finally buckle and accept
27       the linkspec in hook declarations.  I'm not holding my breath.)
28
29     * Root all file systems with <Directory /> for WIN32/OS2/NW permissions 
30         Status: patch brought forward from 1.3.14
31                 WIN32 and OS2 need review [William Rowe, Brian Harvard]
32
33     * Win32: Enable the Windows MPM to honor max_requests_per_child
34         Status: FirstBill will fix this?
35
36     * Win32: Get Apache working on Windows 95/98. The following work
37         (at least) needs to be done:
38         - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
39         specific code that is still not in NT only code paths
40         - IOL binds to APR sendfile, implemented with TransmitFile, which 
41         is not available on 95/98.
42         - Document warning that OSR2 is required (for Crypt functions, in
43         rand.c, at least.)
44
45     * Win32: Test access logging with multiple threads. Will the 
46         native file I/O calls serialize automagically like the 
47         CRT calls or do we need to add region locking each time 
48         we access the logs?
49         Status: 
50
51     * Win32: Complete the revamp the service environment and relocation
52         into the WinNT MPM.  Changes ServerRoot service registry 
53         parameter into ConfigArgs for multiple service startup parameters.
54         Problems to fix in the revamp: -k shutdown/restart are broken, 
55         signals are not being acknowledged.  Close window and shutdown 
56         also seem out of sorts.
57         OtherBill is working on this and will finish over the weekend.
58
59     * We need a thread-safe resolver, at least on Unix.
60         Status: The best known candidate would be something from
61         BIND v9.
62         Status: Greg asks, "why? doesn't gethostbyname_r() handle this?"
63
64     * The AddInputFilter and AddOutputFilter directives do not allow the
65       administrator to remove or reorder filters.  Once a filter is added
66       in a container, it is present in any subcontainers.  It can only be
67       added to the filter chain after any filters specified in enclosing
68       containers.
69
70     * remove the --disable-shared from the subdir config of APR(UTIL)
71       before the final release. (in fact, it might even be nice to
72       allow for Apache config/build against an already-installed
73       APR(UTIL))
74       Note: we need to do a "make install" for APR(UTIL) so the shared
75             libraries can be installed properly. We could also use that
76             point to install include files (rather than have Apache
77             know everything that needs to be installed from the
78             sub-packages). The original impetus for doing the
79             disable-shared was because the shared lib wasn't getting
80             installed and a "make clean" in aprutil would make Apache
81             fail to load.
82
83     * users who want to install third-party modules into the Apache
84       source tree (for static linking) need to have autoconf and
85       libtool installed. This is because the module needs to have its
86       config.m4 incorporated into ./configure, which means "buildconf"
87       must be run.
88       Note: This is in part because we have removed the "extra" directory.
89             In the Apache-2.0 repository, this directory had a config.m4
90             file that allowed people to add external modules by
91             specifying --with-module on the configure line.
92
93     * ap_vrprintf() needs to handle more than 4K
94         Status: Greg volunteers
95
96 RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
97
98     * mod_include doesn't stream data when there are no SSI tags in
99       a file.  If the OS doesn't have MMAP, this means that the entire
100       file is read into memory before we send it down the filter
101       stack.  The includes_filter should only ever parse about 9K of
102       data at one time, so that we always look like we are streaming
103       the data.
104
105     * All of our MPMs should use APR for threads/processes.  This 
106       will allow us to error out if a threaded MPM is chosen on a
107       platform that doesn't support threads.
108
109     * Combine log_child and piped_log_spawn. Clean up http_log.c.
110       Common logging API.
111
112     * Document mod_file_cache.
113
114     * OS/2: Get loadable modules working again. Requires shared core support
115       which doesn't appear to be catered for in the current build system.
116
117     * OS/2: Make mod_status work for spmt_os2 MPM.
118
119     * Win32: Enable the winnt MPM to use the new scoreboard API
120
121     * Win32: Win9x console window still won't play nice with the
122         close window, logoff and shutdown scenarios.
123         Status: OtherBill will move the patch forward from 1.3.15, once we 
124         get our other Win9x issues solved.
125
126     * Win32: Add a simple hold console open patch (wait for close or
127         the ESC key, with a nice message) if the server died a bad 
128         death (non-zero exit code) in console mode.
129         Status: OtherBill is bringing forward same ugly hack from 1.3.13
130
131     * Platforms that do not support fork (primarily Win32 and AS/400)
132       Architect start-up code that avoids initializing all the modules 
133       in the parent process on platforms that do not support fork.
134
135     * Win32: Migrate the MPM over to use APR thread/process calls. This
136       would eliminate some code in the Win32 branch that essentially
137       duplicates what is in APR.
138
139     * There are still a number of places in the code where we are
140       losing error status (i.e. throwing away the error returned by a
141       system call and replacing it with a generic error code)
142
143     * Win32: Implement reliable piped logs on Windows
144
145     * Mass vhosting version of suEXEC.
146
147     * All DBMs suffer from confusion in support/dbmmanage (perl script) since 
148         the dbmmanage employs the first-matched dbm format.  This is not
149         necessarily the library that Apache was built with.  Aught to
150         rewrite dbmmanage upon installation to bin/ with the proper library 
151         for predictable mod_auth_db/dbm administration.
152
153     * use apu_dbm in mod_auth_dbm
154         Status: Greg +1 (low-priority volunteer)
155
156     * Integrate mod_dav.
157         Some additional items remaining:
158         - case_preserved_filename stuff
159             (use the new canonical name stuff?)
160         - find a new home for ap_text(_header)
161         - is it possible to remove the DAV: namespace stuff from util_xml?
162
163     * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
164       are a bit wonky.  The function should probably be exposed as a utility 
165       function (such as ap_translate_url2fs() or ap_validate_fs_url() or 
166       something).  Another approach would be a new hook phase after
167       "translate" which would allow the module to munge what the
168       translation has decided to do.
169         Status: Greg +1 (volunteers), Ryan +1
170
171     * Explore use of a post-config hook for the code in http_main.c which
172       calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
173       ap_sort_hooks()  [to reduce the logic in main()]
174
175     * read the config tree just once, and process N times (as necessary)
176
177     * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
178
179     * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
180       into a VirtualHost container) to 2.0.
181
182     * the LTFLAGS = -export-dynamic in the config.m4 is wrong. it is getting
183       added multiple times during the config process. The -export-dynamic
184       should probably move into build/special.mk (the make file used for
185       building Apache modules).
186
187     * shift stuff to mod_core.h
188
189     * APR-ize resolver stuff in mod_unique_id (Jeff volunteers)
190
191 PRs that have been suspended forever waiting for someone to
192 put them into 'the next release':
193
194     * PR#76: general
195       missing call to "setlocale();"
196         Status: 
197
198     * PR#78: mod_include
199       Additional status for XBitHack directive
200         Status: 
201
202     * PR#161: mod_dir
203       Questionable performace of mod_dir() with negotiation
204         Status: 
205
206     * PR#362: mod_proxy
207       Mod_proxy doesn't allow change of error pages
208         Status: 
209
210     * PR#370: mod_env
211       Modified PATH environemnt variable is not passed, instead
212       system's is used
213         Status: 
214
215     * PR#440: mod_proxy
216       Proxy doesn't deliver documents if not connected
217         Status: 
218
219     * PR#534: mod_proxy
220       proxy converts ~name to %7Ename when name starts with a dot (.)
221         Status: 
222
223     * PR#537: mod_access
224       mod_access syntax allows hosts that should be restricted
225         Status: 
226
227     * PR#557: mod_auth-any
228       ~UserHome directories are not honored in absolute pathname
229       requests (.htaccess)
230         Status: 
231
232     * PR#573: mod_log-any
233       More LogFormat directives
234         Status: 
235
236     * PR#612: mod_proxy
237       Proxy FTP Authentication Fails
238         Status: 
239
240     * PR#623: mod_include
241       A smarter "Last Modified" value for SSI documents (see PR number 600)
242         Status: 
243
244     * PR#628: config
245       Request of "Options SymLinksIfGroupMatch"
246         Status: 
247
248     * PR#697: mod_include
249       A security tweak I've been using for a few years for SSI
250         Status: 
251
252     * PR#700: mod_proxy
253       Proxy doesn't do links right for OpenVMS files through ftp:
254         Status: 
255
256     * PR#759: mod_imap
257       imap should read <MAP><AREA>*</MAP> too!
258         Status: 
259
260     * PR#793: general
261       RLimitCPU and RLimitMEM don't apply to all children like they should
262         Status: 
263
264     * PR#921: suexec
265       Uses cwd before filling it in, doesn't use syslog
266         Status: 
267
268     * PR#922: config
269       it is useful to allow specifiction that root-owned symlinks
270       should always be followed
271         Status: 
272
273     * PR#980: mod_proxy
274       Controlling Access to Remote Proxies would be nice...
275         Status: 
276
277     * PR#994: mod_proxy
278       Adding authentication "on the fly" through the proxy module
279         Status: 
280
281     * PR#1004: apache-api
282       request_config field in request_rec is moderately bogus
283         Status: 
284
285     * PR#1028: other
286       DoS attacks involving memory consumption
287         Status: 
288
289     * PR#1050: mod_log-any
290       Logging of virtual server to error_log as well
291         Status: 
292
293     * PR#1085: mod_proxy
294       ProxyRemote make a dead cycle.
295         Status: 
296
297     * PR#1117: mod_auth-any
298       Using NIS passwd.byname dbm files with AuthDBMUserFile
299         Status: 
300
301     * PR#1120: suexec
302       suexec does not parse arguments to #exec cmd
303         Status: 
304
305     * PR#1145: mod_include
306       Allow for Last-Modified: without resorting to XBitHack
307         Status: 
308
309     * PR#1156: config
310       insufficent AllowOverrides granularity for autoindexing
311         Status: 
312
313     * PR#1158: apache-api
314       improvements to child spawning API
315         Status: 
316
317     * PR#1166: mod_proxy
318       ``nph-'' not honored (no buffering) for ProxyRemote mapping
319         Status: 
320
321     * PR#1176: mod_cgi
322       Apache cannot handle continuation line in headers
323         Status: 
324
325     * PR#1191: general
326       setlogin() is not called, causing problems with e.g. identd
327         Status: 
328
329     * PR#1204: general
330       regerror() exists, use it
331         Status: 
332
333     * PR#1233: apache-api
334       there is no way to keep per-connection per-module state
335         Status: 
336
337     * PR#1263: mod_dir
338       Add frame-safe anchor attribute to mod_autoindex links
339         Status: 
340
341     * PR#1268: suexec
342       CGI scripts running as Apache user: security (suexec etc.)
343         Status: 
344
345     * PR#1285: suexec
346       Error messages could be easier to spot in cgi.log file for suexec.c
347         Status: 
348
349     * PR#1287: mod_access
350       add allow,deny/deny,allow warning to mod_access
351         Status: 
352
353     * PR#1290: mod_proxy
354       Need to know "hit-rate" on proxy cache
355         Status: 
356
357     * PR#1358: mod_log-any
358       Selective url-encode of log fields (or maybe a pseudo
359       log_rewrite module?)
360         Status: 
361
362     * PR#1383: mod_headers
363       I make mod_headers to modify request headers as well as
364       response ones.
365         Status: 
366
367     * PR#1532: mod_proxy
368       Proxy transfer logging
369         Status: 
370
371     * PR#1547: mod_proxy
372       No HTTP_X_FORWARDED_FOR set...
373         Status: 
374
375     * PR#1567: mod_proxy
376       ProxyRemote proxy requests fail authentication by firewall
377         Status: 
378
379     * PR#1574: mod_autoindex
380       ReadmeName and HeaderName don't allow for server-parsed html.
381         Status: 
382
383     * PR#1582: mod_rewrite
384       mod_rewrite forms REQUEST_URI different than mod_cgi does
385         Status: 
386
387     * PR#1677: mod_headers
388       mod_headers should allow mod_log_config-style formats in
389       header values
390         Status: 
391
392     * PR#1702: mod_proxy
393       mod_proxy to support persistent conns?
394         Status: 
395
396     * PR#1803: mod_include
397       patches to mod_include to allow for file tests
398         Status: 
399
400     * PR#1809: mod_auth-any
401       Suggestion for improving authentication modules and core source
402       code, problem with 401 and ErrorDocument
403         Status: 
404
405     * PR#1855: mod_autoindex
406       More Control over autoindex layout
407         Status: 
408
409     * PR#1878: mod_proxy
410       listing of proxy cache content
411         Status: 
412
413     * PR#1905: suexec
414       Allow modules to set user:group for execution.
415         Status: 
416
417     * PR#2024: apache-api
418       adding auth_why to conn_rec
419         Status: 
420
421     * PR#2073: mod_log-any
422       pipelined connections are not logged correctly
423         Status: 
424
425     * PR#2074: mod_rewrite
426       mod_rewrite doesn't pass Proxy Throughput on internal subrequests
427         Status: 
428
429     * PR#2113: config
430       HTTP Server Rebuild Line Needs Changing for the better
431         Status: 
432
433     * PR#2138: mod_status
434       mod_status always displays 256 possible connection slots
435         Status: 
436
437     * PR#2221: documentation
438       Make online documentation search link back to my installation
439         Status: 
440
441     * PR#2284: general
442       Can not POST to ErrorDocument - Apache/1.3b6
443         Status: 
444
445     * PR#2314: mod_proxy
446       patterns in ProxyRemote
447         Status: 
448
449     * PR#2343: mod_status
450       Status module averages are for entire uptime
451         Status: 
452
453     * PR#2360: suexec
454       suexec for general access of user content?
455         Status: 
456
457     * PR#2396: general
458       Proposal for TimeZone directive
459         Status: 
460
461     * PR#2415: mod_info
462       /server-info doesn't check for the virtual host to list the info
463         Status: 
464
465     * PR#2421: config
466       problem specifying ndbm library for build ?with autoconfigure
467         Status: 
468
469     * PR#2431: general
470       A small addition to rotatelogs.c to improve program functionality.
471         Status: 
472
473     * PR#2446: config
474       AllowOverride FileInfo is too coarse
475         Status: 
476
477     * PR#2460: mod_cgi
478       TimeOut applies to output of CGI scripts
479         Status: 
480
481     * PR#2512: mod_access
482       &lt;IfDenied&gt; directive wanted
483         Status: 
484
485     * PR#2573: suexec
486       CGI's for general use still have to be run as another user
487       with suExec
488         Status: 
489
490     * PR#2648: general
491       Cache file names in Proxy module
492         Status: 
493
494     * PR#2760: config
495       [PATCH] User/Group for <Directory> and <Location> i.e. not only
496       in global and <Virtual>.
497         Status: 
498
499     * PR#2763: general
500       mailto tags and bundling bug report script
501         Status: 
502
503     * PR#2772: mod_log-any
504       more % escapes
505         Status: 
506
507     * PR#2785: os-aix
508       Support for System Resource Controller
509         Status: 
510
511     * PR#2793: protocol
512       When will Apache support P3P? Any Plans?
513         Status: 
514
515     * PR#2873: config
516       Feedback/Comment on APACI
517         Status: 
518
519     * PR#2889: general
520       Inclusion of RPM spec file in CVS/distributions
521         Status: 
522
523     * PR#2906: general
524       Propose that Apache recommend $UNIQUE_ID for all "session id"
525       algorithms
526         Status: 
527
528     * PR#2907: config
529       suggestion: power up your Include directive :)
530         Status: 
531
532     * PR#3018: general
533       cannot limit some HTTP methods
534         Status: 
535
536     * PR#3026: mod_autoindex
537       No way to change ReadmeName/HeaderName suffixes.
538         Status: 
539
540     * PR#3143: apache-api
541       No module specific data hook for per-connection data
542         Status: 
543
544     * PR#3181: config
545       Configuration file in Japanese
546         Status: 
547
548     * PR#3191: mod_negotiation
549       no way to set global quality-of-source (qs) coneg values
550       with multiviews
551         Status: 
552
553     * PR#3430: mod_negotiation
554       Enhancement: MultiViews, Multi-Language Documents
555         Status: 
556
557     * PR#3568: mod_proxy
558       Accessing URL through proxy server corrupts data.
559         Status: 
560
561     * PR#3594: os-windows
562       Please add an Apache icon to the systray instead of a DOS window
563         Status: 
564
565     * PR#3605: mod_proxy
566       Some anonymous FTP URLs ask for authentication
567         Status: 
568
569     * PR#3654: mod_autoindex
570       BORDER=0 makes Icons look nicer (FancyIndexing)
571         Status: 
572
573     * PR#3677: general
574       New ErrorDocumentMatch directive
575         Status: 
576
577     * PR#4180: os-windows
578       Alternative for win95 users
579         Status: 
580
581     * PR#4241: config
582       Need to be able to override shebang line to make CGI scripts
583       more portable.
584         Status: 
585
586     * PR#4244: config
587       "Files" and "FilesMatch" regexp does not recognize bang as
588       negation operator
589         Status: 
590
591     * PR#4448: mod_log-any
592       Please allow CGI env variables (QUERY_STRING, ...) to be logged
593       with %{}e
594         Status: 
595
596     * PR#4459: mod_include
597       Suggestion for better handling of Last-modified headers
598         Status: 
599
600     * PR#4490: mod_cgi
601       mod_cgi prevents handling of OPTIONS requests
602         Status: 
603
604     * PR#4520: mod_autoindex
605       mod_autoindex does not generate Last-Modified response headers
606         Status: 
607
608     * PR#4658: os-windows
609       The output of CGI scripts appears in the window that apache
610       is running in
611         Status: 
612
613     * PR#5713: os-windows
614       [PATCH] install as service with domain account
615         Status: 
616
617     * PR#5993: general
618       AllowOverride should have a 'CheckNone' and 'AllowNone' argument
619       instead of only 'None'
620         Status: 
621
622     * PR#6347: mod_mime
623       MIME types for MNG and JNG files need adding to mime.types and
624       the mime.types and magic files
625         Status: Waiting for IANA types to be defined
626
627 Other bugs that need fixing:
628
629     * MaxRequestsPerChild measures connections, not requests.
630         Until someone has a better way, we'll probably just rename it
631         "MaxConnectionsPerChild".
632     
633     * Regex containers don't work in an intutive way
634         Status: No one has come up with an efficient way to fix this
635         behavior. Dean has suggested getting rid of regex containers
636         completely.
637
638     * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
639       sigwaiting thread. We need to work around this, perhaps unless
640       there is hope soon for a fixed glibc.
641
642     * orig_ct in the byterange/multipart handling may not be
643       needed. Apache 1.3 just never stashed "multipart" into
644       r->content_type. We should probably follow suit since the
645       byterange stuff doesn't want the rest of the code to see the
646       multipart content-type; the other code should still think it is
647       dealing with the <orig_ct> stuff.
648         Status: Greg volunteers to investigate (esp. since he was most 
649                 likely the one to break it :-)
650
651 Other features that need writing:
652
653     * Finish infrastructure in core for async MPMs
654         Status: post 2.0
655
656     * TODO in source -- just do an egrep on "TODO" and see what's there
657
658 Documentation that needs writing:
659     * Mod_status docs are needed.
660
661     * The concept of MPMs, especially if we ship more than one MPM for a
662       given platform
663
664     * New directives in the various MPMs and appropriate links from
665         obsolete directives in core.html to the MPM documentation.
666
667     * Revise manual/stopping.html and the last part of
668         manual/misc/perf-tuning.html to take account of the MPMs.
669
670     * API documentation
671         Status: Ben Laurie has written some hooks documentation
672         (apache-2.0/htdocs/hooks.html)
673
674     * Changes since 1.3.9 can be more easily seen in the commitlog file
675          dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
676       which includes some of Roy's comments when the changes were
677       committed in rough change-sets by purpose.  Note that the commitlog
678       does not show the contents of new files until later.
679
680 Available Patches:
681
682    * Jon Travis's <jtravis@covalent.net> patch to deal with thread-safe
683      issues with inet_ntoa.  See message <20001201163220.A12827@covalent.net>
684         Status:  This is being set aside until the IPv6 work is finished
685                  so that we know exactly what is required.
686
687    * Martin Sojka <msojka@gmx.de>'s patch to add error reporting for failed 
688      htpasswd actions due to a full /tmp volume (other programs may have
689      similar problems?)
690         PR: 6475
691         Status:
692
693    * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
694      performance
695        Status: These were written for 1.3, and are awaiting a port to
696        2.0
697  
698    * Jim Winstead's <jimw@trainedmonkey.com> patch to add CookieDomain and 
699      other small mod_usertrack features
700
701    * Dan Rench's <drench@xnet.com> patch to add allow the errmsg and timefmt 
702      of SSI's to be modified in the config file.  Patch is available in 
703      PR6193
704
705 Open issues:
706
707    * What do we do about mod_proxy?
708
709    * Which MPMs will be included with Apache 2.0?
710