|
From 91715c09a4595af6451ad97c43bf41fec107c69e Mon Sep 17 00:00:00 2001
|
|
From: Willy Tarreau <w@1wt.eu>
|
|
Date: Fri, 10 Mar 2017 11:49:21 +0100
|
|
Subject: [PATCH 1/7] MINOR: config: warn when some HTTP rules are used in a
|
|
TCP proxy
|
|
|
|
Surprizingly, http-request, http-response, block, redirect, and capture
|
|
rules did not cause a warning to be emitted when used in a TCP proxy, so
|
|
let's fix this.
|
|
|
|
This patch may be backported to older versions as it helps spotting
|
|
configuration issues.
|
|
(cherry picked from commit de7dc88c517e22d3ae02ce8a8a23046ab2c62238)
|
|
---
|
|
src/cfgparse.c | 30 ++++++++++++++++++++++++++++++
|
|
1 file changed, 30 insertions(+)
|
|
|
|
diff --git a/src/cfgparse.c b/src/cfgparse.c
|
|
index fc6e149..d8d2fda 100644
|
|
--- a/src/cfgparse.c
|
|
+++ b/src/cfgparse.c
|
|
@@ -8681,6 +8681,36 @@ out_uri_auth_compat:
|
|
curproxy->uri_auth = NULL;
|
|
}
|
|
|
|
+ if (curproxy->capture_name) {
|
|
+ Warning("config : 'capture' statement ignored for %s '%s' as it requires HTTP mode.\n",
|
|
+ proxy_type_str(curproxy), curproxy->id);
|
|
+ err_code |= ERR_WARN;
|
|
+ }
|
|
+
|
|
+ if (!LIST_ISEMPTY(&curproxy->http_req_rules)) {
|
|
+ Warning("config : 'http-request' rules ignored for %s '%s' as they require HTTP mode.\n",
|
|
+ proxy_type_str(curproxy), curproxy->id);
|
|
+ err_code |= ERR_WARN;
|
|
+ }
|
|
+
|
|
+ if (!LIST_ISEMPTY(&curproxy->http_res_rules)) {
|
|
+ Warning("config : 'http-response' rules ignored for %s '%s' as they require HTTP mode.\n",
|
|
+ proxy_type_str(curproxy), curproxy->id);
|
|
+ err_code |= ERR_WARN;
|
|
+ }
|
|
+
|
|
+ if (!LIST_ISEMPTY(&curproxy->block_rules)) {
|
|
+ Warning("config : 'block' rules ignored for %s '%s' as they require HTTP mode.\n",
|
|
+ proxy_type_str(curproxy), curproxy->id);
|
|
+ err_code |= ERR_WARN;
|
|
+ }
|
|
+
|
|
+ if (!LIST_ISEMPTY(&curproxy->redirect_rules)) {
|
|
+ Warning("config : 'redirect' rules ignored for %s '%s' as they require HTTP mode.\n",
|
|
+ proxy_type_str(curproxy), curproxy->id);
|
|
+ err_code |= ERR_WARN;
|
|
+ }
|
|
+
|
|
if (curproxy->options & (PR_O_FWDFOR | PR_O_FF_ALWAYS)) {
|
|
Warning("config : 'option %s' ignored for %s '%s' as it requires HTTP mode.\n",
|
|
"forwardfor", proxy_type_str(curproxy), curproxy->id);
|
|
--
|
|
2.10.2
|
|
|