@@ -156,8 +157,11 @@ the request headers and/or body from client.
handshake=0 header=0 body=0
- This disables mod_reqtimeout completely (note that
- handshake=0 is the default already and could be omitted).
+ This disables mod_reqtimeout completely. This may be
+ useful in virtual hosts used with alternate protocols where the stages
+ of this module do not map to the protocol and may not transition
+ past the handshake setting.
+
Timeout value that is increased when data is
diff --git a/modules/filters/mod_reqtimeout.c b/modules/filters/mod_reqtimeout.c
index 0e5afca57e4..064d7d4a518 100644
--- a/modules/filters/mod_reqtimeout.c
+++ b/modules/filters/mod_reqtimeout.c
@@ -29,9 +29,9 @@
module AP_MODULE_DECLARE_DATA reqtimeout_module;
#define UNSET -1
-#define MRT_DEFAULT_handshake_TIMEOUT 0 /* disabled */
+#define MRT_DEFAULT_handshake_TIMEOUT 10
#define MRT_DEFAULT_handshake_MAX_TIMEOUT 0
-#define MRT_DEFAULT_handshake_MIN_RATE 0
+#define MRT_DEFAULT_handshake_MIN_RATE 250
#define MRT_DEFAULT_header_TIMEOUT 20
#define MRT_DEFAULT_header_MAX_TIMEOUT 40
#define MRT_DEFAULT_header_MIN_RATE 500
@@ -375,8 +375,7 @@ static int reqtimeout_init(conn_rec *c)
&reqtimeout_module);
AP_DEBUG_ASSERT(cfg != NULL);
- /* For compatibility, handshake timeout is disabled when UNSET (< 0) */
- if (cfg->handshake.timeout <= 0
+ if (cfg->handshake.timeout == 0
&& cfg->header.timeout == 0
&& cfg->body.timeout == 0) {
/* disabled for this vhost */
@@ -391,9 +390,7 @@ static int reqtimeout_init(conn_rec *c)
ap_add_input_filter(reqtimeout_filter_name, ccfg, NULL, c);
ccfg->type = "handshake";
- if (cfg->handshake.timeout > 0) {
- INIT_STAGE(cfg, ccfg, handshake);
- }
+ INIT_STAGE(cfg, ccfg, handshake);
}
/* we are not handling the connection, we just do initialization */