unsigned int inspect_delay; /* inspection delay */
struct list inspect_rules; /* inspection rules */
} tcp_req;
+ int acl_requires; /* Elements required to satisfy all ACLs (ACL_USE_*) */
struct server *srv; /* known servers */
int srv_act, srv_bck; /* # of servers eligible for LB (UP|!checked) AND (enabled+weight!=0) */
return -1;
}
cond->line = linenum;
+ curproxy->acl_requires |= cond->requires;
LIST_ADDQ(&curproxy->block_cond, &cond->list);
warnif_misplaced_block(curproxy, file, linenum, args[0]);
}
}
cond->line = linenum;
+ curproxy->acl_requires |= cond->requires;
rule = (struct redirect_rule *)calloc(1, sizeof(*rule));
rule->cond = cond;
rule->rdr_str = strdup(destination);
}
cond->line = linenum;
+ curproxy->acl_requires |= cond->requires;
if (cond->requires & ACL_USE_RTR_ANY) {
struct acl *acl;
const char *name;
return -1;
}
cond->line = linenum;
+ curproxy->acl_requires |= cond->requires;
LIST_ADDQ(&curproxy->mon_fail_cond, &cond->list);
}
else {
break;
case PR_MODE_HTTP:
+ curproxy->acl_requires |= ACL_USE_L7_ANY;
if ((curproxy->cookie_name != NULL) && (curproxy->srv == NULL)) {
Alert("config : HTTP proxy %s has a cookie but no server list !\n",
curproxy->id);
// FIXME: how to set this ?
// cond->line = linenum;
+ if (cond)
+ curpx->acl_requires |= cond->requires;
if (cond && cond->requires & (ACL_USE_RTR_ANY | ACL_USE_L7_ANY)) {
struct acl *acl;
const char *name;