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  Changes    Path
  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
  --- README    2001/01/02 19:03:05     1.2
  +++ README    2001/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 <Perl> 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 -10    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.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__
  +
   - <Perl> 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 set 
  -
   - sub handler : method ($) {}
     call $class->new($r) and pass the returned object as the first and
     only arg to the method handler
  @@ -27,6 +25,8 @@
   optimization features:
   ---------------------
   
  +- use 5.7.1+'s PerlIO rather than tied filehandles
  +
   - copy-on-write SvPVX
   
   - hook Perl malloc into apr_pool
  @@ -42,15 +42,13 @@
     trigger)
   
   - use subpools per-callback/handler (might trim some memory bloat)
  +  note: creating subpools requires a malloc mutex lock with threaded
  +  mpms
   
   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']);
  @@ -82,4 +80,4 @@
   apache features that would be neat for mod_perl:
   -----------------------------------------------
   
  -- "autoload" hook for configuration directives
  \ No newline at end of file
  +- "autoload" hook for configuration directives
  
  
  
  1.1                  modperl-2.0/todo/api.txt
  
  Index: api.txt
  ===================================================================
  important parts of the api that are missing
  in no particular order
  ------------------------------------------
  
  tied filehandle interface:
   -CLOSE, GETC, PRINTF, READLINE
  
  APR::Table tie mechanism:
  $r->headers_out->{KEY} is not currently supported
  might want to make this optional, disabled by default
  
  missing: APR::Table->do
  
  $r->finfo:
  need apr_finfo_t <-> struct stat conversion (might already be there,
  haven't looked close enough yet)
  
  $r->header_{in,out}:
  deprecated, but should be included in Apache::compat
  
  $r->no_cache:
  does not yet manage Pragma, Cache-control headers as 1.x did
  
  $r->pnotes:
  not yet implemented
  
  $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
  filenames.
  
  $r->child_terminate:
  haven't looked into this, but clearly not an option with threaded
  mpms.  might consider knocking off the current PerlInterpreter
  instead.
  
  $r->log_reason:
  should be simple, see modperl_log.h
  
  Apache->module:
  not yet implemented
  
  Apache->server_root_relative:
  needs to default to current pool (pconf at startup, r->pool at request
  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
  my_escape_html(), which should probably be made in apache-2.0 itself
  
  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
  
  $r->send_fd:
  need to figure out howto map PerlIO <-> apr_file_t
  at the moment $r->send_fd is implement in Apache::compat, functions,
  but does not have the performance benefits of ap_send_fd()
  however, $r->sendfile is a new function that opens the file for you
  and calls ap_send_fd() underneath.
  
  $r->print:
  does not yet honor $|
  
  $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.
  
  $r->get_basic_auth_pw:
  does not yet default AuthType and AuthName as 1.x does
  
  $r->as_string:
  not yet implemented
  
  Apache::{Server,Process} classes:
  require mutex lock for writing
  
  Apache->untaint:
  not yet implemented, required for Apache::Registry
  
  Apache->exit:
  not yet implemented
  maybe use die $r/PROPAGATE instead of tie-ing $@ ?
  
  Apache->import:
  not yet implemented, required for exit/warn overridding
  
  $r->current_callback:
  not yet implemented
  
  $r->{get,set,push}_handlers:
  need to deal properly with modification of the current handler phase
  we're running.
  
  $r->dir_config:
  depends on Perl{Set,Add}Var
  
  Apache->httpd_conf:
  depends on <Perl> sections
  
  $r->location:
  not yet implemented
  
  Apache->request:
  need to deal with subclass objects which are not a request_rec
  (e.g. HASH ref)
  
  $r->cgi_header_out:
  anything in 1.x land actually using it?
  
  Apache->gensym:
  >> Apache::compat ?
  
  $r->post_connection:
  alias not implemented
  
  $r->slurp_filename:
  optimized version not yet implemented (compat version exists in
  Apache::compat)
  
  $r->{stash,clear}_rgy_endav:
  not yet implemented, nor is any END block management
  
  Apache->unescape_url{_info}:
  not yet implemented.  should be moved to Apache::Util
  
  $r->content_language:
  deprecate in favor of $r->content_languages?
  would require that apache-2.0 is also rid of r->content_language usage
  
  apr_array_header_t:
  needs an interface, either methods and/or tied array interface
  
  Apache::perl_hook:
  should have this or something check if PerlOptions allows the given
  handler/feature to be used.
  
  mod_perl::import():
  not yet implemented
  
  Apache::FakeRequest:
  since APR can be used outside of httpd, and we can alloc request_rec
  and similar structures, it should be possible to bootstrap an
  inside-httpd interface and outside-httpd interface.  its not really
  worthwhile looking at until APR actually installs its *.so or *.a
  libraries somewhere apxs can find them.  and, there's a bunch of util
  functions (e.g. URI stuff) that is supposed to move from httpd into
  apr-util.
  
  
  

Reply via email to