blob: 382311698ce81654652ae2a7e7d6f3be8e2c40a2 [file] [log] [blame]
---------------------------------------------------------------------------
SHORT TERM STUFF (this section should always be empty in a release version!)
(well, close to it anyhow)
---------------------------------------------------------------------------
- forking under Apache::Registry, exit vs CORE::exit
- 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
- turn of strip of httpd during 'make install'
- 'make htmldoc' (Brian Moseley)
- sfio/solaris problem
Lupe Christoph <lupe@alanya.m.isar.de>, Don Hayward <don@mote.org>
- 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 <jeff@godzilla.tamu.edu>
- -Tw w/o PerlTaintCheck cause SEGV? Dave Hodgkinson <daveh@sift.co.uk>
---------------------------------------------------------------------------
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 <cholet@logilune.com>
- SIGALRM/flock, Lincoln Stein <lstein@cshl.org>
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 <bem@cmc.net>
- sometimes w/ <Perl> 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 <useny036@IMATION.COM>
Brian Slesinsky <bslesins@best.com>
- From: brian moore <bem@CMC.NET>
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 <khera@kciLink.com>]
- 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 <coffman@value.net>
- option to set uid/gid before running any Perl code (copy-n-paste
from http_main.c)
Doug Bagley <doug@dejanews.com>
- 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 <ejr@cise.ufl.edu>
- 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
- <Perl> 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 <Perl>
- 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 <doug@dejanews.com>
+ 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 <Perl></Perl> 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 <ben@algroup.co.uk>
- 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
- 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