cvs commit: modperl-2.0/todo api.txt
stas2003/02/18 20:07:17 Modified:todo api.txt Log: $uri->rpath is missing from APR::URI Revision ChangesPath 1.33 +3 -0 modperl-2.0/todo/api.txt Index: api.txt === RCS file: /home/cvs/modperl-2.0/todo/api.txt,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- api.txt 17 Feb 2003 09:03:17 - 1.32 +++ api.txt 19 Feb 2003 04:07:17 - 1.33 @@ -28,6 +28,9 @@ needs to default to current pool (pconf at startup, r->pool at request time) +APR::URI +missing $uri->rpath + Apache::Util::* escape_path() - (was escape_uri) can be changed in apache not to require a pool
cvs commit: modperl-2.0/todo api.txt
dougm 2002/09/04 18:52:26 Modified:todo api.txt Log: update Revision ChangesPath 1.26 +2 -1 modperl-2.0/todo/api.txt Index: api.txt === RCS file: /home/cvs/modperl-2.0/todo/api.txt,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- api.txt 28 Aug 2002 03:28:35 - 1.25 +++ api.txt 5 Sep 2002 01:52:26 - 1.26 @@ -54,10 +54,11 @@ be used for implementing 1.x compatible send_fd. $r->auth_{name,type}: - are not yet writable. will also require locking. + are not yet writable. need wrappers to call modperl_config_insert_request $r->get_basic_auth_pw: does not yet default AuthType and AuthName as 1.x does +(should use modperl_config_insert_request to do so) $r->as_string: not yet implemented
cvs commit: modperl-2.0/todo api.txt missing_old_features.txt
dougm 2002/08/27 20:28:35 Modified:.STATUS todo api.txt missing_old_features.txt Log: some todo/status updates Revision ChangesPath 1.9 +21 -5 modperl-2.0/STATUS Index: STATUS === RCS file: /home/cvs/modperl-2.0/STATUS,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- STATUS20 Aug 2002 16:45:00 - 1.8 +++ STATUS28 Aug 2002 03:28:35 - 1.9 @@ -12,10 +12,10 @@ 1.99_01: Released Apr 06, 2002 - === - === We are using the todo/ directory to === - === track status; please look there ... === - === + + === We are still using the todo/ directory to=== + === track some status; please look there too ... === + @@ -54,7 +54,23 @@ Needs Patch or Further Investigation: - +* pluggable sections have been implemented but need a default + handler to actually convert the Perl code into apache config +* Apache->httpd_conf compat method mapping to Apache::Directive->insert + +* directive handlers are supported but need some work for 1.x compat + - Apache::ModuleConfig->get needs a compat method mapping to +Apache::Module->get_config + + - Apache::CmdParms::info for CmdParms implemented by Perl modules + + - Apache::CmdParms::{GETC,getline} needs compat mapping, similar to +what Apache::Directive->as_string does, but one char or line at a time + + - converting req_override and args_how string values to constant +values, e.g. "OR_ALL" -> Apache::OR_ALL, "TAKE1" -> Apache::TAKE1 + Open Issues or Core Enhancements: - 1.25 +0 -3 modperl-2.0/todo/api.txt Index: api.txt === RCS file: /home/cvs/modperl-2.0/todo/api.txt,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- api.txt 4 Jun 2002 00:44:23 - 1.24 +++ api.txt 28 Aug 2002 03:28:35 - 1.25 @@ -75,9 +75,6 @@ need to deal properly with modification of the current handler phase we're running. -Apache->httpd_conf: -depends on sections - Apache->request: need to deal with subclass objects which are not a request_rec (e.g. HASH ref) 1.20 +0 -6 modperl-2.0/todo/missing_old_features.txt Index: missing_old_features.txt === RCS file: /home/cvs/modperl-2.0/todo/missing_old_features.txt,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- missing_old_features.txt 25 May 2002 17:50:39 - 1.19 +++ missing_old_features.txt 28 Aug 2002 03:28:35 - 1.20 @@ -2,16 +2,12 @@ implemented unless otherwise noted. there are more missing features listed in deprecated_features.txt -- DirectiveHandlers - - PerlCleanupHandler - PerlModule, PerlRequire, Perl{Set,Add}Var in .htaccess is missing - pod directives (=pod,=back,=cut) and __END__ -- sections - - modperl_include #perl - PerlOpCodeMask (experimental in 1.xx) @@ -37,8 +33,6 @@ core modules: - -- Apache::ModuleConfig - see also: xs/maps/apache_functions.map
cvs commit: modperl-2.0/todo api.txt
dougm 2002/06/03 17:44:24 Modified:lib/Apache compat.pm t/response/TestApache compat2.pm todo api.txt Log: add Apache->define compat method Revision ChangesPath 1.60 +5 -0 modperl-2.0/lib/Apache/compat.pm Index: compat.pm === RCS file: /home/cvs/modperl-2.0/lib/Apache/compat.pm,v retrieving revision 1.59 retrieving revision 1.60 diff -u -r1.59 -r1.60 --- compat.pm 3 Jun 2002 18:27:03 - 1.59 +++ compat.pm 4 Jun 2002 00:44:23 - 1.60 @@ -99,6 +99,11 @@ return Symbol::gensym(); } +sub define { +shift if @_ == 2; +exists_config_define(@_); +} + package Apache::Constants; use Apache::Const (); 1.16 +5 -1 modperl-2.0/t/response/TestApache/compat2.pm Index: compat2.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestApache/compat2.pm,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- compat2.pm3 Jun 2002 18:27:03 - 1.15 +++ compat2.pm4 Jun 2002 00:44:23 - 1.16 @@ -24,7 +24,7 @@ sub handler { my $r = shift; -plan $r, tests => 46; +plan $r, tests => 47; $r->send_http_header('text/plain'); @@ -233,6 +233,10 @@ ok t_cmp(!$r->main, $r->is_main, '$r->is_main'); + +ok t_cmp(Apache::exists_config_define('MODPERL2'), + Apache->define('MODPERL2'), + 'Apache->define'); #note these are not actually part of the tests #since i think on platforms where crypt is not supported, 1.24 +0 -4 modperl-2.0/todo/api.txt Index: api.txt === RCS file: /home/cvs/modperl-2.0/todo/api.txt,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- api.txt 25 May 2002 17:49:03 - 1.23 +++ api.txt 4 Jun 2002 00:44:23 - 1.24 @@ -40,10 +40,6 @@ 1.x ht_time compat. should we just leave as is or see if ht_time can be changed to not require a pool? -Apache->define: -exists as Apache::exists_config_define, which should stay, -Apache::compat could implement a wrapper. - $r->document_root: cannot currently be modified. requires locking since it is part of the per-server config structure which is shared between threads
cvs commit: modperl-2.0/todo api.txt
dougm 02/05/25 10:49:03 Modified:lib/Apache compat.pm t/response/TestApache compat2.pm todo api.txt Log: add a compat alias for $r->post_connection Revision ChangesPath 1.55 +4 -0 modperl-2.0/lib/Apache/compat.pm Index: compat.pm === RCS file: /home/cvs/modperl-2.0/lib/Apache/compat.pm,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- compat.pm 24 May 2002 17:50:33 - 1.54 +++ compat.pm 25 May 2002 17:49:03 - 1.55 @@ -182,6 +182,10 @@ shift->pool->cleanup_register(@_); } +sub post_connection { +shift->connection->pool->cleanup_register(@_); +} + sub parse_args { my($r, $string) = @_; return () unless defined $string and $string; 1.13 +2 -0 modperl-2.0/t/response/TestApache/compat2.pm Index: compat2.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestApache/compat2.pm,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- compat2.pm24 May 2002 17:50:33 - 1.12 +++ compat2.pm25 May 2002 17:49:03 - 1.13 @@ -233,6 +233,8 @@ t_cmp(1, Apache::Util::validate_password("dougm", $hash)); t_cmp(0, Apache::Util::validate_password("mguod", $hash)); +$r->post_connection(sub { OK }); + OK; } 1.23 +0 -3 modperl-2.0/todo/api.txt Index: api.txt === RCS file: /home/cvs/modperl-2.0/todo/api.txt,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- api.txt 25 May 2002 17:16:57 - 1.22 +++ api.txt 25 May 2002 17:49:03 - 1.23 @@ -89,9 +89,6 @@ $r->cgi_header_out: anything in 1.x land actually using it? -$r->post_connection: -alias not implemented - $r->slurp_filename: optimized version not yet implemented (compat version exists in Apache::compat)
cvs commit: modperl-2.0/todo api.txt
dougm 02/05/25 10:16:57 Modified:todo api.txt Log: remove 2 items that have been taken care of Revision ChangesPath 1.22 +0 -7 modperl-2.0/todo/api.txt Index: api.txt === RCS file: /home/cvs/modperl-2.0/todo/api.txt,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- api.txt 24 May 2002 17:59:13 - 1.21 +++ api.txt 25 May 2002 17:16:57 - 1.22 @@ -10,9 +10,6 @@ need apr_finfo_t <-> struct stat conversion (might already be there, haven't looked close enough yet) -$r->subprocess_env: -in void context should populate %ENV as 1.x does - $r->chdir_file: not safe for threaded environments. should at least unshift @INC with dirname $r->filename. consider overriding open() to resolve relative @@ -59,10 +56,6 @@ and calls ap_send_fd() underneath. ap_send_fd() in APR doesn't work with fd's which aren't files and of unknown length, therefore it cannot be used for implementing 1.x compatible send_fd. - -$r->{hard,reset,soft,kill}_timeout: -do not exist in 2.0. should be deprecated. consider adding noops in -Apache::compat $r->auth_{name,type}: are not yet writable. will also require locking.
cvs commit: modperl-2.0/todo api.txt missing_old_features.txt
dougm 02/05/24 10:59:13 Modified:.Changes todo api.txt missing_old_features.txt Log: Apache::Util updates Revision ChangesPath 1.13 +2 -0 modperl-2.0/Changes Index: Changes === RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- Changes 24 May 2002 02:47:01 - 1.12 +++ Changes 24 May 2002 17:59:13 - 1.13 @@ -10,6 +10,8 @@ =item 1.99_02-dev +complete Apache::Util 1.x compat + added Apache::MPM_IS_THREADED constant added compat function for Apache::Constants::SERVER_VERSION 1.21 +10 -6 modperl-2.0/todo/api.txt Index: api.txt === RCS file: /home/cvs/modperl-2.0/todo/api.txt,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- api.txt 29 Jan 2002 05:41:59 - 1.20 +++ api.txt 24 May 2002 17:59:13 - 1.21 @@ -31,13 +31,17 @@ time) Apache::Util::* -not very usable at the moment. -also need to default to current pool (pconf at startup, r->pool at -request time) -missing: size_string() -missing: validate_password() (now lives in APR) -enhancements: consider jeff baker's more robust implementation of +escape_path() - (was escape_uri) can be changed in apache not to require a +pool + +size_string() - can we use apr_strfsize ? + +escape_html() - consider jeff baker's more robust implementation of my_escape_html(), which should probably be made in apache-2.0 itself + +ht_time() - now requires a pool, temporarily renamed format_time for +1.x ht_time compat. should we just leave as is or see if ht_time can +be changed to not require a pool? Apache->define: exists as Apache::exists_config_define, which should stay, 1.18 +0 -2 modperl-2.0/todo/missing_old_features.txt Index: missing_old_features.txt === RCS file: /home/cvs/modperl-2.0/todo/missing_old_features.txt,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- missing_old_features.txt 21 Jan 2002 08:40:54 - 1.17 +++ missing_old_features.txt 24 May 2002 17:59:13 - 1.18 @@ -42,8 +42,6 @@ - Apache::ModuleConfig -- Apache::Util - - see also: xs/maps/apache_functions.map addon modules:
cvs commit: modperl-2.0/todo api.txt README deprecated_features.txt missing_old_features.txt possible_new_features.txt Apache-class.txt
dougm 01/05/08 15:26:07 Modified:todo README deprecated_features.txt missing_old_features.txt possible_new_features.txt Added: todo api.txt Removed: todo Apache-class.txt Log: update todos Revision ChangesPath 1.3 +10 -5 modperl-2.0/todo/README Index: README === RCS file: /home/cvs/modperl-2.0/todo/README,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- README2001/01/02 19:03:05 1.2 +++ README2001/05/08 22:25:56 1.3 @@ -1,14 +1,17 @@ this directory contains notes on whats left to be done, covering all areas including: -o interptreter management -o Perl interfaces to Apache structures -o Perl interfaces to Apache API functions -o I/O + filtering +o interpreter management +o hook code and callback mechanism o stacked handlers, method handlers +o Perl interfaces to Apache/APR structures +o Perl interfaces to Apache/APR API functions +o I/O + filtering +o protocol module support o sections o directive handlers o cgi emulation, i.e. %ENV/END{}/@INC/exit() management +o 1.x compat mode o pure Perl Apache::* extras (e.g. Apache::Status, etc) o build framework o test framework @@ -17,8 +20,10 @@ somewhat prioritized into: +- api.txt + - missing_old_features.txt - deprecated_features.txt -- possible_new_features.txt \ No newline at end of file +- possible_new_features.txt 1.2 +11 -1 modperl-2.0/todo/deprecated_features.txt Index: deprecated_features.txt === RCS file: /home/cvs/modperl-2.0/todo/deprecated_features.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- deprecated_features.txt 2001/01/02 19:03:06 1.1 +++ deprecated_features.txt 2001/05/08 22:25:57 1.2 @@ -4,9 +4,19 @@ c) be a form that was nothing like 1.xx (e.g. Apache::Leek) d) split off into something standalone on cpan +- PerlSendHeader (implemented in 2.0 as "PerlOptions +ParseHeaders") + should have a compat wrapper + +- PerlTaintCheck, PerlWarn (implemented in 2.0 with PerlSwitches) + should have a compat wrapper + - MaxModPerlRequestsPerChild + +- $r->seqno, $r->sent_header, $r->cgi_env, $r->cgi_var, + $r->query_string, $r->basic_http_header, $r->new_read, + $r->write_client, $r->read_client_block, $r->translate_name -- $r->seqno +- $r->content, $r->args in-a-list-context (exist in Apache::compat) - $Apache::Server::Starting, $Apache::Server::ReStarting 1.2 +16 -10modperl-2.0/todo/missing_old_features.txt Index: missing_old_features.txt === RCS file: /home/cvs/modperl-2.0/todo/missing_old_features.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- missing_old_features.txt 2001/01/02 19:03:06 1.1 +++ missing_old_features.txt 2001/05/08 22:25:59 1.2 @@ -2,10 +2,20 @@ implemented unless otherwise noted. there are more missing features listed in deprecated_features.txt -- test suite - - DirectiveHandlers +- PerlCleanupHandler + +- Perl{Set,Add}Var + +- PerlSetupEnv (currently on by default w/ SetHandler perl-script) + +- PerlSetEnv, PerlPassEnv + +- PerlModule, PerlRequire: not yet implemented + +- pod directives (=pod,=back,=cut) and __END__ + - sections - modperl_include #perl @@ -14,8 +24,6 @@ - PerlFreshRestart -- PerlSendHeader - - cgi emulation, i.e. %ENV/END{}/@INC/exit() management - set Perl ids after fork $( $) $< $> (child_init) @@ -26,14 +34,12 @@ core modules: - -- Apache, Apache::Server, Apache::Connection -- Apache::Constants, Apache::Constants::Exports +- Apache::ModuleConfig -- Apache::ModuleConfig, Apache::CmdParms +- Apache::File, Apache::Util -- Apache::File, Apache::Log, Apache::URI, Apache::Util +- see also: xs/maps/apache_function.map addon modules: - @@ -54,4 +60,4 @@ - Apache::ExtUtils -- Bundle::Apache \ No newline at end of file +- Bundle::Apache 1.3 +5 -7 modperl-2.0/todo/possible_new_features.txt Index: possible_new_features.txt === RCS file: /home/cvs/modperl-2.0/todo/possible_new_features.txt,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- possible_new_features.txt 2001/01/02 19:48:45 1.2 +++ possible_new_features.txt 2001/05/08 22:26:00 1.3 @@ -16,8 +16,6 @@ - @ARGV magic, tie to query string -- overload %ENV magic to call subprocess_env when a value is s