[Remove entries to the current 2.0 section below, when backported]
+ *) mod_cgi: Ensure that all stderr is logged for a script which returns
+ a Location header to generate a non-local redirect. PR 20111.
+ [Joe Orton]
+
*) Added the Event MPM to more efficiently handle clients during a
Keep Alive request.
[Paul Querna, Greg Ames]
location = apr_table_get(r->headers_out, "Location");
- if (location && location[0] == '/' && r->status == 200) {
+ if (location && r->status == 200) {
+ /* For a redirect whether internal or not, discard any
+ * remaining stdout from the script, and log any remaining
+ * stderr output, as normal. */
discard_script_output(bb);
apr_brigade_destroy(bb);
apr_file_pipe_timeout_set(script_err, r->server->timeout);
log_script_err(r, script_err);
+ }
+
+ if (location && location[0] == '/' && r->status == 200) {
/* This redirect needs to be a GET no matter what the original
* method was.
*/
/* XX Note that if a script wants to produce its own Redirect
* body, it now has to explicitly *say* "Status: 302"
*/
- discard_script_output(bb);
- apr_brigade_destroy(bb);
return HTTP_MOVED_TEMPORARILY;
}