diff --git a/src/server.c b/src/server.c index cfb2db3df..cddfac0cf 100644 --- a/src/server.c +++ b/src/server.c @@ -3398,6 +3398,14 @@ static int _srv_check_proxy_mode(struct server *srv, char postparse) err_code |= ERR_ALERT | ERR_FATAL; } } + + if (srv->proxy->mode != PR_MODE_TCP && srv->proxy->mode != PR_MODE_HTTP && + srv->pp_opts) { + srv->pp_opts = 0; + ha_warning("'send-proxy*' server option is unsupported there, ignoring it\n"); + err_code |= ERR_WARN; + } + out: if (srv->conf.file) reset_usermsgs_ctx(); diff --git a/src/sink.c b/src/sink.c index 73924ec7c..eef10006d 100644 --- a/src/sink.c +++ b/src/sink.c @@ -1092,16 +1092,6 @@ int cfg_parse_ring(const char *file, int linenum, char **args, int kwm) if (err_code & ERR_CODE) goto err; - - /* FIXME: ideally this check should be performed during server postparsing - * for all proxies where this option is unsupported, but for now we lack - * server postparsing rules for sinks so let's put that here - */ - if (cfg_sink->forward_px->srv && cfg_sink->forward_px->srv->pp_opts) { - cfg_sink->forward_px->srv->pp_opts = 0; - ha_warning("parsing [%s:%d] : 'send-proxy*' server option is unsupported there, ignoring it\n", file, linenum); - err_code |= ERR_WARN; - } } else if (strcmp(args[0],"timeout") == 0) { if (!cfg_sink || !cfg_sink->forward_px) {