--------------------------------------------------------------------------- SHORT TERM STUFF (this section should always be empty in a release version!) (well, close to it anyhow) --------------------------------------------------------------------------- --------------------------------------------------------------------------- DOCUMENTATION (areas that *really* need some more or don't have any) --------------------------------------------------------------------------- - forking under Apache::Registry, exit vs CORE::exit - misc: + DONE + SUID access http://www.courtesan.com/sudo/ + $ENV{PATH}/PerlSetEnv and PerlTaintCheck - PerlRun::handler in cgi_to_mod_perl.pod - HTTP Headers!!!! - Apache::exit/child_terminate - push_handlers/set_handlers --------------------------------------------------------------------------- KNOWN BUGS --------------------------------------------------------------------------- - sfio/solaris problem Lupe Christoph , Don Hayward - Gerald's report of Embperl/sub-request/print breakage - looks like we need a per-server configuration merge routine - need turn of strip of httpd during 'make install' - SSIs executed using /bin/sh, not suexec as configured? Theo Van Dinter - /perl/perl-status?sig dumps core under hpux 10.20 [David-Michael.Lincke@unisg.ch] - USE_DSO=1 --> END blocks are run at startup time - USE_DSO=1 broken on most platforms (core dump in dlclose) - $r cannot use many api methods during ChildInit/ChildExit -> SEGV - bytes_sent are not logged if header don't go through send_http_header(), e.g CGI->header(-nph => 1, ...) Eric Cholet - SIGALRM/flock, Lincoln Stein I often use this type of code to handle possibly blocked flocks(): local($timed_out) = 0; local($SIG{ALRM}) = sub { $timed_out++; die "timed out"; } alarm(5); eval { flock(FH,LOCK_EX); } alarm(0); if ($timed_out) { print "We timed out. Sorry."; } This has been working in standalone CGI scripts, but no longer works in mod_perl. The signal handler gets called, but then the flock() call seems to be restarted. It never exit the eval. So this is no big deal, I just replace the blocking flock() with a poll. - find a way to prevent "httpd spinning" (bug in Perl, not mod_perl) - linkage problem w/ mod_auth_dbm (-ldbm) Config.pm New: libs='-lsocket -lnsl -ldl -lm -lc -lcrypt -ldb' Was: libs='-lsocket -lnsl -ldb -ldl -lm -lc -lcrypt' SunOS mailhost.cmc.net 5.5 Generic_103093-17 sun4m sparc sun4m brian moore - sometimes w/ we get: [warning] PerlSetVar->nelts = 1111992, e.g.: $User = "www"; $ServerType = "standalone"; @ScriptAlias = [('/cgi-bin','/the/path')]; @Alias = [('/web/','/usr/home/web')]; - perl_config should not av_shift ARRAY refs from %Apache::ReadConfig:: - die and AUTOLOADed DESTROY == empty $@ (Perl or mod_perl bug?) - ExtUtils::Embed/ExtUtils::Liblist clash sometime w/ PERL_STATIC_EXTS, like so: Unrecognized argument in LIBS ignored: '/opt/oracle/product/7.3.3/lib/libclient.a' Note (probably harmless): No library found for -l:libcma.sl -Wl,-E -Wl,-B,deferred -L/usr/local/lib /home/web/perl5/lib/site_perl/portable/auto/DBD/Oracle/Oracle.a /home/ etc etc ... mark rostron Brian Slesinsky - From: brian moore As Apacheweek reported a couple weeks ago, 'some' modules on Solaris have problems with the mutex locking method used by 1.3b5. One of which is mod_perl. To make it work I had to -DUSE_FCNTL_SERIALIZED_ACCEPT or the server would never answer a request. --------------------------------------------------------------------------- NEW STUFF --------------------------------------------------------------------------- - 'make htmldoc' (Brian Moseley) - make 'make test_report' more useful - hooks into Perl interactive debugger (Graham TerMarsch ) - should be able to set PerlSetVar's to an empty string (Eric Cholet) - $r->method could be a dualval, method_number in a numeric context (Gisle Aas) - PerlAllowOverride directive to enable/disable hooks (Jason Riedy ) - PerlEngine On/Off [Vivek Khera ] - perl_clear_env() should skip those found in PerlPassEnv? - File::copy($file,*STDOUT) doesn't work (pp_syswrite needs tie support) Bill Coffman - option to set uid/gid before running any Perl code (copy-n-paste from http_main.c) Doug Bagley - provide namespace protection when 'use Foo' might be two different modules i.e. re-visit Apache::Safe - move away from read_client_block to {setup,should,get}_client_block see Apache.pm/Apache::new_read - PerlOptions directive? Jason Riedy - some mod_perlIO type methods for xs modules? (e.g. Apache::Peek) - make 'PerlSetVar $Foo value' work like 'local $Foo = value' for the given location - in .htaccess (could also call known bug) - provide namespace protection for mod_include #perl's - change configuration during runtime? - $Apache::ServerStarting in - something with exec()? - Apache->http_message(501); #rc code returns a string - PerlFreshRestart, restarts on startup, should we stop that? - special treatment for nph- scripts? - fix Thread->new == linux<-SIGUSR1->Apache signal clash - win32: + integrate with Perl 5.005's threading + mod_include #perl support + ability to nmake w/o going into VC++ + ability to disable Perl*Handler callback hooks + get rid of dup between t/conf/httpd.conf-dist/httpd.conf-win32 + fix perl-status?mod_perl_hooks - @ARGV magic, tie to query string - overload %ENV magic: + call subprocess_env when a value is set Doug Bagley + so it's not setup unless asked for - "save stack" mechanism so we can go back to caching CV lookups - improve the "stacked handlers" implementation, including: + config merging of AV*'s + allow push_handlers to have an additional argument, an array ref, which will be passed to the handler as arguments, e.g. $r->push_handlers("PerlHandler", \&some_sub, ['one', 'two', 'etc']); - allow Perl*Handler's to have arguments in config files, e.g.: (calls &FooPackage::handler($r, "One", "Two", "Three"); - allow configuration sections to have read access to internal configuration structures (would be nice if we could tie a %namespace::) --------------------------------------------------------------------------- KNOWN MODULE BUGS --------------------------------------------------------------------------- - can't multiple Apache::Include->virtual in a single request - 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 --------------------------------------------------------------------------- NEW MODULE STUFF --------------------------------------------------------------------------- - StatINC doesn't reimport the imported symbols? Stas Bekman , Message-Id: - Look at Apache::ASP's handling of exported functions (for implementation in Apache::StatINC) (same thing as above?) [ask] - Option to StatINC to make it possible to only watch chosen modules [ask] - Apache::Registry should check return value of the subroutine, e.g. for REDIRECT - should Apache::Registry use filename instead of vhost_name+uri? Ben Laurie - apache.pm: use apache '1.3b3'; - have Apache::Status hunt for AUTOLOADing - Apache::SawAmpersand - Apache::Status should list number of things - Apache::Constant's import should compile the constant sub - Apache::DProf as a Fixup - Apache::Include->virtual should update %ENV? - Apache->request vs. $_[0] - Apache::Registry should honor __END__ and __DATA__, but how to get it right? --------------------------------------------------------------------------- CLEANUPS - "if it ain't broke, don't muck with it", but we should tidy these things at some point --------------------------------------------------------------------------- early startup/auto pre-load Apache/@INC mess now that PerlRequire/PerlModule start Perl if not running already, no need for the array_headers in perl_srv_config get rid of Apache->can_stack_handlers (since we have UNIVERSAL->can now) mod_perl C code symbols, should look at cleaning up names with a common prefix, e.g. mp_, mod_perl_, mperl_ ? also static-ize those functions we can remove Apache::Symbol::undef cruft, now that the mandatory const sub redefined warning is downgraded in 5.004_05-tobe change cgi_header_out and send_cgi_header to use new ap_scan_script_header_err_core function cleanup Makefile.PL!!! loose dup code in Apache::Registry, use Apache::PerlRun functions use 5.005's newCONSTSUB in Constants.xs --------------------------------------------------------------------------- OPTIMIZATIONS --------------------------------------------------------------------------- - preloading of method cache - replace Apache::PerlRun with Apache::PerlRunXS - replace Apache::Registry with Apache::RegistryXS - make Apache::RegistryLoader work with RegistryXS - avoid a copy in PerlRunXS (use SvPVX instead of safemalloc'd copy) - XS_IMPORT=1 on by default - in places where Apache did a pstrdup, don't use newSVpv(), use newSV()->sv_upgrade()->SvPVX/SvCUR_set to avoid another copy - Apache::Constants::constant