Project

General

Profile

[Solved] FastCGI authorizer hang with server.stream-respo... » lighttpd-test.patch

jefftharris, 2021-09-23 18:28

View differences:

lighttpd-BSD/src/gw_backend.h 2021-09-14 17:27:31.154842540 -0400
gw_extension *ext;
gw_extension *ext_auth; /* (future: might allow multiple authorizers)*/
unsigned short gw_mode; /* mode: GW_AUTHORIZER or GW_RESPONDER */
unsigned short resp_stream_response_body;
gw_connection_state_t state;
time_t state_timestamp;
-- lighttpd-1.4.59/src/gw_backend.c 2021-02-02 08:11:28.000000000 -0500
++ lighttpd-BSD/src/gw_backend.c 2021-09-23 14:27:03.751731740 -0400
......
http_response_reset(r); /*(includes r->http_status=0)*/
/* preserve r->physical.path.ptr with modified docroot */
if (physpath) r->physical.path.ptr = physpath;
r->conf.stream_response_body = hctx->resp_stream_response_body;
/*(FYI: if multiple FastCGI authorizers were to be supported,
* next one could be started here instead of restarting request)*/
log_error(r->conf.errh, __FILE__, __LINE__,
"gw_recv_response end");
r->handler_module = NULL;
return HANDLER_COMEBACK;
} else {
......
hctx->host = host;
hctx->proc = NULL;
hctx->ext = extension;
hctx->resp_stream_response_body = r->conf.stream_response_body;
gw_host_assign(host);
hctx->gw_mode = gw_mode;
if (gw_mode == GW_AUTHORIZER) {
hctx->ext_auth = hctx->ext;
//r->conf.stream_response_body = 0;
}
/*hctx->conf.exts = p->conf.exts;*/
(2-2/2)