diff --git a/src/cfgparse-listen.c b/src/cfgparse-listen.c index 216e6d8d5..bcc89ba36 100644 --- a/src/cfgparse-listen.c +++ b/src/cfgparse-listen.c @@ -406,6 +406,13 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm) proxy_ref_defaults(curproxy, curr_defproxy); } + if ((rc & PR_CAP_BE) && curr_defproxy && (curr_defproxy->nb_req_cap || curr_defproxy->nb_rsp_cap)) { + ha_alert("parsing [%s:%d]: backend or defaults sections cannot inherit from a defaults section defining" + " capptures (defaults section at %s:%d).\n", + file, linenum, curr_defproxy->conf.file, curr_defproxy->conf.line); + err_code |= ERR_ALERT | ERR_ABORT; + } + if (rc & PR_CAP_DEF) { /* last and current proxies must be updated to this one */ curr_defproxy = last_defproxy = curproxy;