From: Glenn Strauss <gstrauss@gluelogic.com>
Subject: [PATCH] [mod_cgi] fix CGI local-redir w/ url.rewrite-once (fixes
 #2793)

x-ref:
  "1.4.40 regression: broken redirect (using Location) between url.rewrite-once URLs"
  https://redmine.lighttpd.net/issues/2793
---
 src/mod_cgi.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

--- a/src/mod_cgi.c
+++ b/src/mod_cgi.c
@@ -560,8 +560,7 @@ static int cgi_demux_response(server *sr
 							}
 
 							connection_response_reset(srv, con); /*(includes con->http_status = 0)*/
-
-							con->mode = DIRECT;
+							plugins_call_connection_reset(srv, con);
 							return FDEVENT_HANDLED_COMEBACK;
 						}
 					}
@@ -780,7 +779,7 @@ static int cgi_recv_response(server *srv
 			/* if we get a IN|HUP and have read everything don't exec the close twice */
 			return HANDLER_FINISHED;
 		case FDEVENT_HANDLED_COMEBACK:
-			cgi_connection_close(srv, hctx);
+			/*cgi_connection_close(srv, hctx);*//*(already cleaned up and hctx is now invalid)*/
 			return HANDLER_COMEBACK;
 		case FDEVENT_HANDLED_ERROR:
 			log_error_write(srv, __FILE__, __LINE__, "s", "demuxer failed: ");
