[MINOR] tarpit timeout is also allowed in backends
Since the tarpit action may be set in backends too, its timeout
must be configurable there.
diff --git a/doc/configuration.txt b/doc/configuration.txt
index 3cd48d3..497e58e 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -607,7 +607,7 @@
timeout queue X - X X
timeout server X - X X
timeout srvtimeout X - X X (deprecated)
-timeout tarpit X X X -
+timeout tarpit X X X X
transparent X X X -
use_backend - X X -
usesrc X - X X
diff --git a/src/cfgparse.c b/src/cfgparse.c
index b9cf62f..0c89c5b 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -680,6 +680,7 @@
curproxy->timeout.connect = defproxy.timeout.connect;
curproxy->timeout.server = defproxy.timeout.server;
curproxy->timeout.queue = defproxy.timeout.queue;
+ curproxy->timeout.tarpit = defproxy.timeout.tarpit;
curproxy->source_addr = defproxy.source_addr;
}
@@ -2761,9 +2762,8 @@
* parameters have been set or must be copied from contimeouts.
*/
if (curproxy != &defproxy) {
- if ((curproxy->cap & PR_CAP_FE) &&
- (!tv_isset(&curproxy->timeout.tarpit) ||
- __tv_iseq(&curproxy->timeout.tarpit, &defproxy.timeout.tarpit))) {
+ if (!tv_isset(&curproxy->timeout.tarpit) ||
+ __tv_iseq(&curproxy->timeout.tarpit, &defproxy.timeout.tarpit)) {
/* tarpit timeout not set. We search in the following order:
* default.tarpit, curr.connect, default.connect.
*/
diff --git a/src/proxy.c b/src/proxy.c
index e2e6b15..7019606 100644
--- a/src/proxy.c
+++ b/src/proxy.c
@@ -103,7 +103,7 @@
} else if (!strcmp(args[0], "tarpit")) {
tv = &proxy->timeout.tarpit;
td = &defpx->timeout.tarpit;
- cap = PR_CAP_FE;
+ cap = PR_CAP_FE | PR_CAP_BE;
} else if (!strcmp(args[0], "http-request")) {
tv = &proxy->timeout.httpreq;
td = &defpx->timeout.httpreq;