diff --git a/doc/configuration.txt b/doc/configuration.txt index 3cd48d366..497e58e66 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -607,7 +607,7 @@ timeout httpreq X X X - 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 b9cf62f07..0c89c5bb8 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -680,6 +680,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int inv) 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 @@ int readcfgfile(const char *file) * 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 e2e6b15fc..7019606f0 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -103,7 +103,7 @@ int proxy_parse_timeout(const char **args, struct proxy *proxy, } 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;