[core] do not reparse request if async cb

do not reparse request if async callback, e.g. for mod_auth
personal/stbuehler/fix-fdevent
Glenn Strauss 2018-01-01 17:06:05 -05:00
parent b28f03b5a4
commit e8226c11cb
3 changed files with 11 additions and 0 deletions

View File

@ -377,6 +377,7 @@ struct connection {
array *environment; /* used to pass lighttpd internal stuff to the FastCGI/CGI apps, setenv does that */
connection_type mode;
int async_callback;
void **plugin_ctx; /* plugin connection specific config */

View File

@ -699,6 +699,7 @@ int connection_reset(server *srv, connection *con) {
/* config_cond_cache_reset(srv, con); */
con->header_len = 0;
con->async_callback = 0;
con->error_handler_saved_status = 0;
/*con->error_handler_saved_method = HTTP_METHOD_UNSET;*/
/*(error_handler_saved_method value is not valid unless error_handler_saved_status is set)*/

View File

@ -144,6 +144,11 @@ handler_t http_response_prepare(server *srv, connection *con) {
/* no decision yet, build conf->filename */
if (con->mode == DIRECT && buffer_is_empty(con->physical.path)) {
if (!con->async_callback) {
char *qstr;
/* we only come here when we have the parse the full request again
@ -264,6 +269,10 @@ handler_t http_response_prepare(server *srv, connection *con) {
}
}
con->async_callback = 0; /* reset */
/**
*
* call plugins