From 1780416e33defbeddcd20c7107bb0b6e70f1b449 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Mon, 9 Nov 2009 21:27:51 +0100 Subject: [PATCH] [BUG] config: disable 'option httplog' on TCP proxies Gabriel Sosa reported that logs were appearing with BADREQ when 'option httplog' was used with a TCP proxy (eg: inherited via a default instance). This patch detects it and falls back to tcplog after emitting a warning. (cherry picked from commit 5f0bd6537f8b56b643ef485d7a3c96d996d9b01a) --- src/proxy.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/proxy.c b/src/proxy.c index 181cdd8bd..38eb2be89 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -391,6 +391,11 @@ int proxy_cfg_ensure_no_http(struct proxy *curproxy) Warning("config : Layer 7 hash not possible for %s '%s' (needs 'mode http'). Falling back to round robin.\n", proxy_type_str(curproxy), curproxy->id); } + if (curproxy->to_log & (LW_REQ | LW_RESP)) { + curproxy->to_log &= ~(LW_REQ | LW_RESP); + Warning("config : 'option httplog' not usable with %s '%s' (needs 'mode http'). Falling back to 'option tcplog'.\n", + proxy_type_str(curproxy), curproxy->id); + } return 0; }