diff --git a/src/log.c b/src/log.c index cf82832db..1e08b66c4 100644 --- a/src/log.c +++ b/src/log.c @@ -415,7 +415,8 @@ int add_sample_to_logformat_list(char *text, char *arg, int arg_len, struct prox cmd[1] = ""; cmd_arg = 0; - expr = sample_parse_expr(cmd, &cmd_arg, curpx->conf.args.file, curpx->conf.args.line, err, &curpx->conf.args, endptr); + expr = sample_parse_expr(cmd, &cmd_arg, curpx->conf.args.file, curpx->conf.args.line, err, + (curpx->cap & PR_CAP_DEF) ? NULL: &curpx->conf.args, endptr); if (!expr) { memprintf(err, "failed to parse sample expression <%s> : %s", text, *err); goto error_free; diff --git a/src/tcpcheck.c b/src/tcpcheck.c index 2b93af546..c34095df7 100644 --- a/src/tcpcheck.c +++ b/src/tcpcheck.c @@ -2432,7 +2432,7 @@ struct tcpcheck_rule *parse_tcpcheck_connect(char **args, int cur_arg, struct pr px->conf.args.ctx = ARGC_SRV; port_expr = sample_parse_expr((char *[]){args[cur_arg], NULL}, &idx, - file, line, errmsg, &px->conf.args, NULL); + file, line, errmsg, (px->cap & PR_CAP_DEF) ? NULL: &px->conf.args, NULL); if (!port_expr) { memprintf(errmsg, "error detected while parsing port expression : %s", *errmsg); @@ -3234,7 +3234,7 @@ struct tcpcheck_rule *parse_tcpcheck_expect(char **args, int cur_arg, struct pro release_sample_expr(status_expr); px->conf.args.ctx = ARGC_SRV; status_expr = sample_parse_expr((char *[]){args[cur_arg], NULL}, &idx, - file, line, errmsg, &px->conf.args, NULL); + file, line, errmsg, (px->cap & PR_CAP_DEF) ? NULL: &px->conf.args, NULL); if (!status_expr) { memprintf(errmsg, "error detected while parsing status-code expression : %s", *errmsg); goto error; diff --git a/src/vars.c b/src/vars.c index a4c6f4528..37ff5f774 100644 --- a/src/vars.c +++ b/src/vars.c @@ -878,7 +878,7 @@ static enum act_parse_ret parse_store(const char **args, int *arg, struct proxy } else { /* set-var */ rule->arg.vars.expr = sample_parse_expr((char **)args, arg, px->conf.args.file, - px->conf.args.line, err, &px->conf.args, NULL); + px->conf.args.line, err, (px->cap & PR_CAP_DEF) ? NULL: &px->conf.args, NULL); if (!rule->arg.vars.expr) return ACT_RET_PRS_ERR;