mod_perl 1.3 STATUS: Last modified at [$Date$] Release: 1.31: Released May 11, 2009. 1.30: Released March 29, 2007. 1.29: Released Oct 7, 2003. 1.28: Released July 2, 2003. 1.27: Released June 1, 2002. 1.26: Released July 11, 2001. Available Patches: * Need to correct the order of PERL5LIB entries insert into @INC. and document that 'arch' is not automatically inserted Report: +Patch by Gordon Lack http://marc.theaimsgroup.com/?t=110779533400004&r=1&w=2 * Improper signal handler restoration with sigaction() Report: +Patch http://marc.theaimsgroup.com/?l=apache-modperl&m=107177256515969&w=2 http://marc.theaimsgroup.com/?l=apache-modperl&m=103374262313616&w=2 Status: Rafael Garcia-Suarez says the patch looks good at the first glance Followup from Eric: http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=107244468206637&w=2 * if the requested number of bytes was less than or equal to the available amount of input then the call would be successful, otherwise the buffer would come back undefined. In the case that the requested number of bytes was larger than the available number of bytes, the returned number of bytes would still equal the available number of bytes. Report: http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=105903751619552&w=2 Status: * per_request_cleanup() only cleans up the current request. As one consequence, pnotes of parent requests will not get cleaned up. Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=104176956128093&w=2 Status: Patch available at http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=104185397922327&w=2 * $r->print() ignores $\ Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=102874705105904&w=2 Status: Patch available at http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=105359253610093&w=2 * Apache->request(bless {r => $r}, 'My::Apache') Report: http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=98600785703290&w=2 Status: Patch needs to get further testing Patch: http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=105412732722992&w=2 * mp_preload_module and method handlers broken. Report: http://marc.theaimsgroup.com/?t=105532710700003&r=1&w=2 Status: When using Perl*Handler Foo->bar. mp_preload_module will not correctly load the module at all. And if the module is preloaded with PerlModule or added to the startup scripts, Foo->bar(undef) will be called on startup without a valid $r to speak of. Similar broken behaviour happens with Perl*Handler $My::Obj->foo. Patch: http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=105591097807663&w=2 Needs Patch or Further Investigation * *0 = "foo"; doesn't change the process name (at least at the server startup) it probably used to work: http://gossamer-threads.com/lists/modperl/modperl/35091 * make sure that DO_HTTPD=1 and PREP_HTTPD=1 aren't passed at the same time http://marc.theaimsgroup.com/?t=110053652600001&r=1&w=2 * ACL support Report: http://marc.theaimsgroup.com/?t=105042055700005&r=1&w=2 Status: Patch available with the orignial report, but needs to make sure it will work across all platforms, POSIX or not. * src/modules/ApacheModulePerl has been deprecated and replaced by src/modules/win32. Since it's not even distributed anymore, can that directory be deleted? * LWP used to be optional for running 'make test', now I get: /home/stas/perl/5.6.0-ithread/bin/perl t/TEST 0 Can't locate LWP/UserAgent.pm in @INC ... ... Must skip important tests without LWP... but the test suite won't start * $r->print() ignores $, Report: http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=102902480103484&w=2 Status: Patch available with the original report, but needs to be simplified a bit and currently will not work with perl 5.8+, see the patch for $\ * make test fails when a wrong combination of URI and LWP are installed. (e.g. lwp 5.64 and URI 1.09). LWP's Makefile.PL requires the right URI version, but certain binary distributors miss this requirement and distribute LWP without making a dependency on the right version of the URI package Report: many reports in the last year. Status: ??? Suggestion: require libwww-perl 5.64 and URI 1.1 * two identical directives in configuration Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=97449481013350&w=2 Status: doc patch at http://marc.theaimsgroup.com/?l=apache-modperl&m=97450363501652&w=2 however: this documented feature should be supported. * readdir() broken on linux with glibc 2.2 Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=98824089613574&w=2 Status: does anybody have an example to reproduce the bug? * warn() going to the wrong log Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=98190005604037&w=2 Status: coincidentially, I've noticed that s->error_fname is not populated in a vhost when the vhost relies on the ErrorLog from the main server --Geoff s->error_fname == NULL is expected, see ap_open_logs(), only s->error_log is inherited. i would expect stderr to only ever be opened to the main server log at startup. otherwise, we'd need to redirect stderr at the start of every request and restore it at the end. seems expensive. i would be suprised if this every worked as matt expected it to. -dougm * segfaults with DBI->connect (mysql) Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=96392180616185&w=2 Status: * revisit send_http_header and r->status Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=99063926111686&w=2 Status: * recursion triggered by internal_redirect() called by a pushed handler Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=94792974200198&w=2 Status: * IPC::Open3 issues Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=98839218229712&w=2 Status: * Prototype mismatch in Apache::PerlRun Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=97934624332223&w=2 Status: * files that have been created after the server's (child?) startup are being reported with negative age with -M test under Apache::Registry. The workaround is to add $^T = time; at the beginning of the scripts. But it would be much better if the Apache::Registry will do that Report: ? Status: * Apache::DProf seg-fault via Devel::DProf's prof_mark() Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=101923951812332&w=2 Status: * collisions between Apache::Status and English.pm Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=102096856215178&w=2 Status: Open Issues or Core Enhancements: * we need a script that will generate a bug report, similar to mp2bug in mp2 (mp1bug?) * method handler cached-CVs Report: http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=99789775715863&w=2 Status: patch available http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=101164617829467&w=2 * "$ENV{FOO} = 'foo'" is cleared from the %ENV array, but left in the environ[], making it visible to subprocesses. perl_util.c:perl_clear_env() only deletes from %ENV on purpose to prevent other problems. need to rethink this. * option to startup with something other than /dev/null * PerlChildInitHandler should not be allowed inside * rid Apache->can_stack_handlers, make Apache->can('push_handlers') work * fileno(STD{IN,OUT}) should be r->connection->client->fd or fileno(std{in,out}), rather than hardcoded fileno(stdout) * close STDERR; * Apache::FakeRequest improvments [Gary Richardson ] * xsubpp -nolinenumbers is not supported with 5.004 * 'make test' as root permissions problems * USE_APXS=1 + DYNAMIC=1 do not work together * support SSL_BASE=SYSTEM (i.e. test -d $SSL_BASE in Makefile.PL) * disable PERL_SSI unless mod_include is listed in httpd -l and Action unless mod_action, etc. Documentation: * Consider removing the following files from the distribution, they were already removed from the site and not maintained: - cgi_to_mod_perl.pod - mod_perl.pod - mod_perl_tuning.pod - mod_perl_method_handlers.pod - mod_perl_traps.pod - mod_perl_cvs.pod - faq/mjtg-news.txt - faq/mod_perl_api.pod - faq/mod_perl_cgi.pod - faq/mod_perl_faq.pod - benchmark/lwp-simple.pod - benchmark/stopwatch.pod * document Apache::Status Apache::Request preference over CGI.pm and make it more clear that Apache::Status should not be used in a production environment, as it adds quite a bit of bloat * docs: update CREDITS, cleanup install docs Patches unlikely to be applied: * print() dereferencing issues Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=99905070209305&w=2 Status: patch available http://marc.theaimsgroup.com/?l=apache-modperl&m=99999116330145&w=2 the feature of print() dereferencing scalars should be deprecated. therefor, i don't think this patch should be applied as it would introduce overhead to support a deprecated feature. user should simply dereference themselves, print $$foo; -dougm * Apache::test Report: http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=98278446807561&w=2 Status: patch available any further development of testing framework should be put into Apache-Test within httpd-test/perl-framework http://httpd.apache.org/test/ -dougm * get/set handlers issues Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=95721313917562&w=2 Status: patch available http://perl.apache.org/~dougm/set_handlers.pat modperl 1.x is in maintainance mode, this change puts the core stablity at risk to support functionality that few require. -dougm * $r->args parsing of one=&two=2 Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=98018719907031&w=2 Status: patch available at http://marc.theaimsgroup.com/?l=apache-modperl&m=98048943129379&w=2 $r->args and $r->content methods are cheap hacks that probably never should have been written. if they are not good enough as-is, user should use Apache::Request or another library with more robustness. Known bugs unlikely to be fixed: * $r cannot use many api methods during ChildInit/ChildExit -> SEGV Report: ? Status: "don't do that". these hooks were introduced after modperl had already been written around all the hooks which took only a request_rec argument. the "fake" request_rec passed to these new hooks was a quick and dirty hack and will probably stay that way. 2.0 does the right thing. * Apache->server->register_cleanup Report: if modperl is linked static, Apache->server->register_cleanup is only called on the first pass during server startup. Status: this is a legacy bug related to modperl not doing a complete teardown/startup of the interpreter on every restart, so it only happens the first time a Perl{Require,Module} is loaded. this is done properly with dso however. static users can workaround the bug with PerlFreshRestart or delete $INC{__FILE__} * bytes_sent are not logged if header don't go through send_http_header(), e.g CGI->header(-nph => 1, ...) Eric Cholet Report: ? Status: does anybody actually use nph script anymore? * perl_config should not av_shift ARRAY refs from %Apache::ReadConfig:: Report: ? Status: i don't think this is actually a problem for anybody. * die and AUTOLOADed DESTROY == empty $@ (Perl or mod_perl bug?) Report: ? Status: this report is ages old and haven't heard any reports since. if it is a bug, it is likely in perl. solution in that any case: don't AUTOLOAD DESTROY. * can't multiple Apache::Include->virtual in a single request Report: ? Status: Apache::Include was indented as an example. the subrequest api is not complicated, just use it directly for this functionality. * Apache::Include->virtual should return run() value, not status() Report: ? Status: see above. * SERVER_MERGE and DIR_MERGE Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=97351976714878&w=2 Status: The require() part may be legitimate. personally, I never understood the DIR_CREATE happening before SERVER_CREATE either, but it doesn't seem to affect anything. the double DIR_MERGE is just a misunderstanding on Andy's part and is a result of how Apache handles before and after translation. --Geoff '.' is part of the default @INC, so this shouldn't be a problem. as for when the CREATE/MERGE functions are called, that's up to apache when that happens. unless somebody can illustrate that Perl directive handlers are treated any different than C handlers, this is a documentation enhancement, not a bug. the extra DIR_{CREATE,MERGE} is likely related to s->lookup_defaults. -dougm Known bugs unlikely to be fixed because they aren't under our (mod_perl) control: * /perl/perl-status?sig dumps core under hpux 10.20 [David-Michael.Lincke@unisg.ch] and [Silvio.Wanka@alcatel.de] Status: SIGRTMAX is not being picked up by ./Configure under certain circumstances. Patch: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-04/msg01458.html