MINOR: config: disable header captures in TCP mode and complain

In order to help users fix their configs, report a warning when a capture
has been set on a non-HTTP frontend.

This should be backported to 1.4.
This commit is contained in:
Willy Tarreau 2012-03-24 08:33:05 +01:00
parent 42f7d89156
commit 9a54e13788
1 changed files with 27 additions and 8 deletions

View File

@ -6062,14 +6062,33 @@ int check_config_validity()
}
/* The small pools required for the capture lists */
if (curproxy->nb_req_cap)
curproxy->req_cap_pool = create_pool("ptrcap",
curproxy->nb_req_cap * sizeof(char *),
MEM_F_SHARED);
if (curproxy->nb_rsp_cap)
curproxy->rsp_cap_pool = create_pool("ptrcap",
curproxy->nb_rsp_cap * sizeof(char *),
MEM_F_SHARED);
if (curproxy->nb_req_cap) {
if (curproxy->mode == PR_MODE_HTTP) {
curproxy->req_cap_pool = create_pool("ptrcap",
curproxy->nb_req_cap * sizeof(char *),
MEM_F_SHARED);
} else {
Warning("config : 'capture request header' ignored for %s '%s' as it requires HTTP mode.\n",
proxy_type_str(curproxy), curproxy->id);
err_code |= ERR_WARN;
curproxy->to_log &= ~LW_REQHDR;
curproxy->nb_req_cap = 0;
}
}
if (curproxy->nb_rsp_cap) {
if (curproxy->mode == PR_MODE_HTTP) {
curproxy->rsp_cap_pool = create_pool("ptrcap",
curproxy->nb_rsp_cap * sizeof(char *),
MEM_F_SHARED);
} else {
Warning("config : 'capture response header' ignored for %s '%s' as it requires HTTP mode.\n",
proxy_type_str(curproxy), curproxy->id);
err_code |= ERR_WARN;
curproxy->to_log &= ~LW_REQHDR;
curproxy->nb_rsp_cap = 0;
}
}
/* first, we will invert the servers list order */
newsrv = NULL;