From: Willy Tarreau Date: Mon, 9 Nov 2009 20:27:51 +0000 (+0100) Subject: [BUG] config: disable 'option httplog' on TCP proxies X-Git-Tag: v1.4-dev5~66 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1780416e33defbeddcd20c7107bb0b6e70f1b449;p=thirdparty%2Fhaproxy.git [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) --- diff --git a/src/proxy.c b/src/proxy.c index 181cdd8bdc..38eb2be899 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; }