dougm 01/01/02 11:03:09 Modified: . 00README_FIRST ToDo todo Apache-class.txt README Added: todo deprecated_features.txt missing_old_features.txt possible_new_features.txt Removed: todo breakdown.txt c-sources.txt perl-modules.txt request_rec.typdef xs-sources.txt Log: cleanup todo docs a bit Revision Changes Path 1.11 +3 -3 modperl-2.0/00README_FIRST Index: 00README_FIRST =================================================================== RCS file: /home/cvs/modperl-2.0/00README_FIRST,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- 00README_FIRST 2000/06/14 16:07:06 1.10 +++ 00README_FIRST 2001/01/02 19:03:01 1.11 @@ -19,7 +19,7 @@ % perl Makefile.PL && make -% cd ../apache-2.0/src +% cd ../httpd-2.0 % ./configure --prefix=$HOME/apache-2.0 --with-mpm=mpmt_pthread % patch -p1 < ../../modperl-2.0/patches/link-hack.pat % make @@ -28,7 +28,7 @@ % perl Makefile.PL MP_USE_DSO=1 && make -% cd ../apache-2.0/src +% cd ../httpd-2.0 % ./configure --with-mpm=mpmt_pthread ... % make @@ -58,4 +58,4 @@ warn "hey, it works!"; } ---dougm 04/28 +--dougm 01/02 1.2 +8 -131 modperl-2.0/ToDo Index: ToDo =================================================================== RCS file: /home/cvs/modperl-2.0/ToDo,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ToDo 1999/04/07 16:01:02 1.1 +++ ToDo 2001/01/02 19:03:02 1.2 @@ -1,135 +1,12 @@ -ToDo items carried over from the 1.xx ToDo -see the todo/ directory for whats really going on here +this is a *very* short-term todo list, anything more should be in the +todo directory. -directives/configuration ------------------------- +should never have gone in, get out soon: +--------------------------------------- -- PerlAllowOverride directive to enable/disable hooks - (Jason Riedy <[EMAIL PROTECTED]>) +- s/stderr/MP_logfp/ -- PerlEngine On/Off [Vivek Khera <[EMAIL PROTECTED]>] +other: +----- -- make 'PerlSetVar $Foo value' work like 'local $Foo = value' - for the given location - -- <Perl> in .htaccess (could also call known bug) - -- change configuration during runtime? - -- 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::) - -namespace/globals ------------------ - -- provide namespace protection when 'use Foo' might be two different modules - i.e. re-visit Apache::Safe - -- provide namespace protection for mod_include #perl's - -- @ARGV magic, tie to query string - -- overload %ENV magic: - + call subprocess_env when a value is set - Doug Bagley <[EMAIL PROTECTED]> - + so it's not setup unless asked for - -- "save stack" mechanism so we can go back to caching CV lookups - ---------------------------------------------------------------------------- -OPTIMIZATIONS ---------------------------------------------------------------------------- - -- avoid write_client symtab lookup in print() - -- 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 - - ---------------------------------------------------------------------------- -NEW MODULE STUFF ---------------------------------------------------------------------------- - -- Apache::Status extensions (ix) - -- StatINC doesn't reimport the imported symbols? - Stas Bekman <[EMAIL PROTECTED]>, - Message-Id: <[EMAIL PROTECTED]> -- 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 <[EMAIL PROTECTED]> - -- apache.pm: use apache '1.3b3'; - -- have Apache::Status hunt for AUTOLOADing - -- Apache::Status should list number of things - -- Apache::Include->virtual should update %ENV? - -- Apache::Registry should honor __END__ and __DATA__, - but how to get it right? - ---------------------------------------------------------------------------- -MISC NEW STUFF ---------------------------------------------------------------------------- - -- 'make htmldoc' (Brian Moseley) - -- make 'make test_report' more useful - -- should be able to set PerlSetVar's to an empty string (Eric Cholet) - -- perl_clear_env() should skip those found in PerlPassEnv? - -- File::copy($file,*STDOUT) doesn't work (pp_syswrite needs tie support) - Bill Coffman <[EMAIL PROTECTED]> - -- option to set uid/gid before running any Perl code (copy-n-paste - from http_main.c) - Doug Bagley <[EMAIL PROTECTED]> - -- $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 +- filter/bucket stats, e.g. mod_autoindex is brutal \ No newline at end of file 1.2 +2 -0 modperl-2.0/todo/Apache-class.txt Index: Apache-class.txt =================================================================== RCS file: /home/cvs/modperl-2.0/todo/Apache-class.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Apache-class.txt 1999/04/07 16:01:03 1.1 +++ Apache-class.txt 2001/01/02 19:03:05 1.2 @@ -1,3 +1,5 @@ +Apache.xs in 1.xx is way bloated. + Apache::Constants imports DECLINED OK 1.2 +23 -7 modperl-2.0/todo/README Index: README =================================================================== RCS file: /home/cvs/modperl-2.0/todo/README,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- README 1999/04/07 16:01:03 1.1 +++ README 2001/01/02 19:03:05 1.2 @@ -1,8 +1,24 @@ -there is much ToDo for 2.0, this directory contains notes and test -code. +this directory contains notes on whats left to be done, covering all +areas including: -breakdown.txt - major components of mod_perl -Apache-class.txt - notes on Apache.{pm,xs} -c-sources.txt - notes on the mod_perl .[ch] sources -perl-modules.txt - notes on the mod_perl Apache::* modules -xs-sources.txt - notes on the mod_perl xs interfaces +o interptreter management +o Perl interfaces to Apache structures +o Perl interfaces to Apache API functions +o I/O + filtering +o stacked handlers, method handlers +o <Perl> sections +o directive handlers +o cgi emulation, i.e. %ENV/END{}/@INC/exit() management +o pure Perl Apache::* extras (e.g. Apache::Status, etc) +o build framework +o test framework +o examples +o docs + +somewhat prioritized into: + +- missing_old_features.txt + +- deprecated_features.txt + +- possible_new_features.txt \ No newline at end of file 1.1 modperl-2.0/todo/deprecated_features.txt Index: deprecated_features.txt =================================================================== these features with either: a) never be in 2.0 b) only be in #ifdef MP_DEPRECATED c) be a form that was nothing like 1.xx (e.g. Apache::Leek) d) split off into something standalone on cpan - MaxModPerlRequestsPerChild - $r->seqno - $Apache::Server::Starting, $Apache::Server::ReStarting - $Apache::Server::AddVersion, $Apache::Server::CWD - modules: + Apache::SIG: dead + Apache::StatINC: replace with or point to Apache::Reload or rewrite in C + Apache::Symbol: unknown + Apache::Leak: could be made useful + Apache::RedirectLogFix: dead + Apache::Include: was just an example + Apache::Debug: could be make useful + Apache::FakeRequest: should be built in + Apache::httpd_conf: dead (to be replaced by new test framework) + Apache::Symdump: unknown + Apache::Opcode: was experimental, needs much attention to be useful 1.1 modperl-2.0/todo/missing_old_features.txt Index: missing_old_features.txt =================================================================== this file contains known missing features from 1.3, these are to be implemented unless otherwise noted. there are more missing features listed in deprecated_features.txt - test suite - DirectiveHandlers - <Perl> sections - modperl_include #perl - PerlOpCodeMask (experimental in 1.xx) - PerlFreshRestart - PerlSendHeader - cgi emulation, i.e. %ENV/END{}/@INC/exit() management - set Perl ids after fork $( $) $< $> (child_init) - die 404; - ... others ... core modules: ------------ - Apache, Apache::Server, Apache::Connection - Apache::Constants, Apache::Constants::Exports - Apache::ModuleConfig, Apache::CmdParms - Apache::File, Apache::Log, Apache::URI, Apache::Util addon modules: ------------- - mod_perl.pm::import - Apache::PerlRun, Apache::{Registry,RegistryNG}, Apache::RegistryLoader - Apache::Status - Apache::test: tobe a compat stub around new test framework - Apache::src: tobe a compat stub around new build framework - Apache::PerlSections: depends on <Perl> - Apache::SizeLimit and Apache::Resource - Apache::ExtUtils - Bundle::Apache 1.1 modperl-2.0/todo/possible_new_features.txt Index: possible_new_features.txt =================================================================== config features: ---------------- - make 'PerlSetVar $Foo value' work like 'local $Foo = value' for the given location - allow Perl*Handler's to have arguments in config files - allow <Perl></Perl> configuration sections to have read access to internal configuration structures (would be nice if we could tie a %namespace::) - setuid/gid before running any Perl code perl language features: ---------------------- - @ARGV magic, tie to query string - overload %ENV magic to call subprocess_env when a value is set - sub handler : method ($) {} call $class->new($r) and pass the returned object as the first and only arg to the method handler - some mod_perlIO/PerlIO type methods for xs modules? (e.g. Apache::Peek) optimization features: --------------------- - copy-on-write SvPVX - hook Perl malloc into apr_pool - for "compiled handlers" w/ ithreads manage SV allocation via server-lifetime apr_pool_t - "garbage collector" thread to walk padlists looking for certain things worth releasing. - "mip manager" thread to watch # of active interpreters, cloning/destroying when needed (rather than waiting for a request to trigger) api: --- - Apache->http_message(501); #rc code returns a string - 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']); modules: ------- - Apache::Registry should check return value of the subroutine, e.g. for REDIRECT - should Apache::Registry use filename instead of vhost_name+uri? - Apache::Registry should honor __END__ and __DATA__, - core Apache::SubProcess w/ proper CORE::GLOBAL::{fork,exec} support new modules: ----------- - apache.pm: use apache '1.3b3'; misc new stuff: -------------- - 'make html' - 'make test_report' apache features that would be neat for mod_perl: ----------------------------------------------- - "autoload" hook for configuration directives