[MEDIUM] fix configuration sanity checks for TCP listeners
A log chain of if/else prevented many sanity checks from being performed on TCP listeners, resulting in dangerous configs being accepted. Removed the offending 'else'.
This commit is contained in:
parent
10806d50da
commit
193cf93ec0
@ -2410,7 +2410,8 @@ int readcfgfile(const char *file)
|
|||||||
file, proxy_type_str(curproxy), curproxy->id);
|
file, proxy_type_str(curproxy), curproxy->id);
|
||||||
cfgerr++;
|
cfgerr++;
|
||||||
}
|
}
|
||||||
else if ((curproxy->mode != PR_MODE_HEALTH) && (curproxy->options & PR_O_BALANCE)) {
|
|
||||||
|
if ((curproxy->mode != PR_MODE_HEALTH) && (curproxy->options & PR_O_BALANCE)) {
|
||||||
if (curproxy->options & PR_O_TRANSP) {
|
if (curproxy->options & PR_O_TRANSP) {
|
||||||
Alert("parsing %s : %s '%s' cannot use both transparent and balance mode.\n",
|
Alert("parsing %s : %s '%s' cannot use both transparent and balance mode.\n",
|
||||||
file, proxy_type_str(curproxy), curproxy->id);
|
file, proxy_type_str(curproxy), curproxy->id);
|
||||||
@ -2428,15 +2429,12 @@ int readcfgfile(const char *file)
|
|||||||
file, proxy_type_str(curproxy), curproxy->id);
|
file, proxy_type_str(curproxy), curproxy->id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (curproxy->mode == PR_MODE_TCP || curproxy->mode == PR_MODE_HEALTH) { /* TCP PROXY or HEALTH CHECK */
|
|
||||||
|
if (curproxy->mode == PR_MODE_TCP || curproxy->mode == PR_MODE_HEALTH) { /* TCP PROXY or HEALTH CHECK */
|
||||||
if (curproxy->cookie_name != NULL) {
|
if (curproxy->cookie_name != NULL) {
|
||||||
Warning("parsing %s : cookie will be ignored for %s '%s'.\n",
|
Warning("parsing %s : cookie will be ignored for %s '%s'.\n",
|
||||||
file, proxy_type_str(curproxy), curproxy->id);
|
file, proxy_type_str(curproxy), curproxy->id);
|
||||||
}
|
}
|
||||||
if ((newsrv = curproxy->srv) != NULL) {
|
|
||||||
Warning("parsing %s : servers will be ignored for %s '%s'.\n",
|
|
||||||
file, proxy_type_str(curproxy), curproxy->id);
|
|
||||||
}
|
|
||||||
if (curproxy->rsp_exp != NULL) {
|
if (curproxy->rsp_exp != NULL) {
|
||||||
Warning("parsing %s : server regular expressions will be ignored for %s '%s'.\n",
|
Warning("parsing %s : server regular expressions will be ignored for %s '%s'.\n",
|
||||||
file, proxy_type_str(curproxy), curproxy->id);
|
file, proxy_type_str(curproxy), curproxy->id);
|
||||||
@ -2457,7 +2455,15 @@ int readcfgfile(const char *file)
|
|||||||
file, proxy_type_str(curproxy), curproxy->id);
|
file, proxy_type_str(curproxy), curproxy->id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (curproxy->mode == PR_MODE_HTTP) { /* HTTP PROXY */
|
|
||||||
|
if (curproxy->mode == PR_MODE_HEALTH) { /* TCP PROXY or HEALTH CHECK */
|
||||||
|
if ((newsrv = curproxy->srv) != NULL) {
|
||||||
|
Warning("parsing %s : servers will be ignored for %s '%s'.\n",
|
||||||
|
file, proxy_type_str(curproxy), curproxy->id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (curproxy->mode == PR_MODE_HTTP) { /* HTTP PROXY */
|
||||||
if ((curproxy->cookie_name != NULL) && ((newsrv = curproxy->srv) == NULL)) {
|
if ((curproxy->cookie_name != NULL) && ((newsrv = curproxy->srv) == NULL)) {
|
||||||
Alert("parsing %s : HTTP proxy %s has a cookie but no server list !\n",
|
Alert("parsing %s : HTTP proxy %s has a cookie but no server list !\n",
|
||||||
file, curproxy->id);
|
file, curproxy->id);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user