--------------------------------------------------------------------------- SHORT TERM STUFF (this section should always be empty in a release version!) (well, close to it anyhow) --------------------------------------------------------------------------- - cache method for Apache::PerlRun - $ENV{PATH} - 'make htmldoc' (Brian Moseley) - sfio/solaris problem Lupe Christoph , Don Hayward - make 'make test_report' more useful - Apache::Registry should check return value of the subroutine, e.g. for REDIRECT - /perl/perl-status?sig dumps core under hpux 10.20 [David-Michael.Lincke@unisg.ch] - Gerald's report of Embperl/sub-request/print breakage - perl-status?mod_perl_hooks broken under win32? - rand() broken under win32! Jeff Baker - -Tw w/o PerlTaintCheck cause SEGV? Dave Hodgkinson --------------------------------------------------------------------------- DOCUMENTATION (areas that *really* need some more or don't have any) --------------------------------------------------------------------------- - 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 --------------------------------------------------------------------------- - 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 --------------------------------------------------------------------------- - PerlEngine On/Off [Vivek Khera ] - 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 - 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? - have log_error/log_reason give file/line info of caller - 'make html'? - $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 - @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 --------------------------------------------------------------------------- NEW MODULE STUFF --------------------------------------------------------------------------- - 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 --------------------------------------------------------------------------- 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 --------------------------------------------------------------------------- - replace Apache::PerlRun with Apache::PerlRunXS - replace Apache::Registry with Apache::RegistryXS - make Apache::RegistryLoader work with RegistryXS - XS_IMPORT=1 on by default