From 3605a3bec31f5e1bc79fdfb830b84e188f060982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20B=C3=BChler?= Date: Wed, 2 Apr 2014 10:04:11 +0000 Subject: [PATCH 02/29] use keep-alive timeout while waiting for HTTP headers; use always the read timeout while waiting for the HTTP body MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Stefan Bühler git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2962 152afb58-edef-0310-8abb-c4023f1b3aa9 --- NEWS | 2 +- src/server.c | 20 +++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/NEWS b/NEWS index b9bd48f..e82b90b 100644 --- a/NEWS +++ b/NEWS @@ -4,7 +4,7 @@ NEWS ==== - 1.4.36 - * + * use keep-alive timeout while waiting for HTTP headers; use always the read timeout while waiting for the HTTP body - 1.4.35 - 2014-03-12 * [network/ssl] fix build error if TLSEXT is disabled diff --git a/src/server.c b/src/server.c index 5691921..d47fd62 100644 --- a/src/server.c +++ b/src/server.c @@ -1296,23 +1296,25 @@ int main (int argc, char **argv) { if (con->state == CON_STATE_READ || con->state == CON_STATE_READ_POST) { - if (con->request_count == 1) { + if (con->request_count == 1 || con->state == CON_STATE_READ_POST) { if (srv->cur_ts - con->read_idle_ts > con->conf.max_read_idle) { /* time - out */ -#if 0 - log_error_write(srv, __FILE__, __LINE__, "sd", - "connection closed - read-timeout:", con->fd); -#endif + if (con->conf.log_request_handling) { + log_error_write(srv, __FILE__, __LINE__, "sd", + "connection closed - read timeout:", con->fd); + } + connection_set_state(srv, con, CON_STATE_ERROR); changed = 1; } } else { if (srv->cur_ts - con->read_idle_ts > con->keep_alive_idle) { /* time - out */ -#if 0 - log_error_write(srv, __FILE__, __LINE__, "sd", - "connection closed - read-timeout:", con->fd); -#endif + if (con->conf.log_request_handling) { + log_error_write(srv, __FILE__, __LINE__, "sd", + "connection closed - keep-alive timeout:", con->fd); + } + connection_set_state(srv, con, CON_STATE_ERROR); changed = 1; } -- 2.4.5