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