Fix for internal redirect handling based on a patch submitted by Erik Murrey <ejm@onmedia.com>.  Previously, if the original request was a POST, the redirect wasn't changed to GET even though the input stream had been consumed.  Some response were also handled as internal redirects which shouldn't have been, this caused Apache to get confused.
Fix for internal redirect handling based on a patch submitted by Erik
Murrey <ejm@onmedia.com>.  Previously, if the original request was a
POST, the redirect wasn't changed to GET even though the input stream
had been consumed.  Some response were also handled as internal
redirects which shouldn't have been, this caused Apache to get confused.

Nowf a "Status: 200" header sent with a "Location: URL" header when URL
begins with a "/", mod_fastcgi handles it as an internal
redirect.  If the URL begins with something other than "/", mod_fastcgi
returns REDIRECT and apache handles it as an external redirect.

There are still differences between how mod_cgi and mod_fastcgi handle
redirects.  This will have to be revisited.


Fix which prevents a memory leak and crash contributed by Rob Heittman
[rob@worldweb.net].  FreeFcgiServerInfo() was free() memory twice when
handling dynamic applications.


Fix to change the groupId and the process groups for the KillMgr,
ProcMgr, and all fcgi child applications based on a patch submitted by
Rob Heittman <rob@worldweb.net>.

This means the apps no longer run with root group permissions.
Additionaly, if MULTIPLE_GROUPS isn't defined at compile time, the
supplemantary group list is limited to that of the GroupId assigned to
Apache.  If it is defined, Apache's UserId is used to set the group list
based on the user's group(s) membership.

Apache uses the MULTIPLE_GROUPS macro to govern similar functionality.
Instead of altering the way the group list is created, it determines
whether or not CGI scripts are allowed to be executed based on the gid
execute bit when gid isn't equal to the the gid of the process but is
equal to one the groups in the supplementary list.  I submitted an
Apache bug requesting functionality like that implemented in this patch.


The return value is now checked on the two unlink() calls in
FreeFcgiServerInfo() and an error messages is printed in the event of
failure.


errorLog handling is cleaned up a bit.  There was some weird passing of
pointers to functions and I couldn't resist renaming errorLogFile to
errorLog.


is_scriptaliased() is now called (in addition to checking
allow_options(reqPtr) & OPT_EXECCGI) by FastCgiHandler() when
determining if the fcgi script request should be all handled or dumped
with the message "Options ExecCGI is off in this directory".
This change is based on mod_cgi.c as a result of problems reported by
-bill- [bill@HoundsOfHeaven.com].


Trim trailing white space.  Sorry about that, it makes the diff hard
deal with... too late now.

hollow/mod_fastcgi_handler,Gandi/mod_fastcgi_handler,Gandi/mod_fastcgi_handler