HTML-Mason

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

1.31  August 20, 2005

    [ BUG FIXES ]

    - Fix several regressions in the CGIHandler and FakeApache modules.
      Some changes from the stable branch were never merged into the trunk
      before 1.30.  Reported by Jesse Vincent.  Task id #589.

    - Under Apache2, if an ApacheHandler object was created during server
      startup and the associated Interp object created any files or
      directories, Mason would crash when attempting to chown those
      files/dirs to the uid/gid that Apache will use after forking.  Task
      #586.

    - The compiler was adding an extra block around a component's
      body, which meant that variables declared in the body (in perl lines
      or blocks) were not seen in the cleanup section.  Task id #587.

    - The compiler was also adding "no warnings 'uninitialized'" in this
      block, which could hide various errors.

Changes  view on Meta::CPAN

      For example, the Interp object contains a Resolver object and Request
      objects.  The Interp's new method will accept constructor parameter
      for both the Resolver and Request objects.
    - The ApacheHandler args_method is now a per-object parameter.
    - Mason is now much smarter about recompiling components.  In general,
      it can detect if compiler options for a compiled component are
      different from the current options, and will recompile the component
      if necessary.  The exception to this is that with compiler parameters
      which take callbacks (such as preprocess), Mason can only tell if such
      a parameter is present, not whether the actual callback has changed.
    - The ApacheHandler object will chown any files created during server
      startup as needed.

    [ BUG FIXES ]

    - The <%args> section can now contain comments which contain the
      string '=>' (reported by Chris Hutchinson).
    - Fixed the longstanding bug that using print() or $r->print() causes
      output/headers to appear out of order.  You can now safely use these,
      though we still recommend that you use Mason to send output.
    - Filtered output now does appear when $m->abort() used.  However, an

Changes  view on Meta::CPAN

      stand-alone mode as well
    - Interp::exec is now re-entrant with all request specific information
      having been moved to Request class.
    - ** Reworked Parser API. parse is now called make_component, has a
      simplified set of options, and returns a component object
      directly. make is now called make_dirs.
    - Source references now read from the object file, cleaner for a
      variety of reasons. Preprocess and postprocess now work with source
      references.
    - Removed obsolete and undocumented Interp::vars and mc_var functions
    - Simplified chown/getpwuid usage in handler.pl (submitted by Randal
      Schwartz)

0.6.2  August 20, 1999

    - Fixed problem with shared data cache locks over NFS (submitted by
      Tom Hughes)
    - Fixed mc_auto_comp, which never really worked as documented
    - Fixed preloading for directories (submitted by Dennis Watson)
    - Added back Utils::get_lock, which is used by content management

UPGRADE  view on Meta::CPAN


  - Apache::Request always parses the query string, even for POST requests.

- The out_mode parameter (batch vs. stream) has been replaced with
the autoflush parameter, which is a much simpler version of the same
idea.  See the Request class documentation for details.

- The ApacheHandler module now requires a minimum of mod_perl 1.22
(though using something more up to date is highly recommended).

- The ApacheHandler module will take care of chown'ing files created
during server startup, when needed. If you have a line like

   chown (Apache->server->uid, Apache->server->gid, $interp->files_written);

in your handler.pl, it is now unnecessary (but harmless).

- The MasonMultipleConfig parameter is no longer needed, and will
cause an error if given.  Mason can now figure out for itself whether
or not multiple ApacheHandler objects should be created.

- The debug file feature has been removed, as it could not accurately
support multiple versions of the Apache API. Use Apache::DB to run
your server through the debugger.

lib/HTML/Mason/ApacheHandler.pm  view on Meta::CPAN

        error "The resolver class your Interp object uses does not implement " .
              "the 'apache_request_to_comp_path' method.  This means that ApacheHandler " .
              "cannot resolve requests.  Are you using a handler.pl file created ".
              "before version 1.10?  Please see the handler.pl sample " .
              "that comes with the latest version of Mason.";
    }

    # If we're running as superuser, change file ownership to http user & group
    if (!($> || $<) && $self->interp->files_written)
    {
        chown $self->get_uid_gid, $self->interp->files_written
            or system_error( "Can't change ownership of files written by interp object: $!\n" );
    }

    $self->_initialize;
    return $self;
}

sub get_uid_gid
{
    return (Apache->server->uid, Apache->server->gid) unless APACHE2;



( run in 1.787 second using v1.01-cache-2.11-cpan-71847e10f99 )