From: Christopher Faulet Date: Mon, 16 Sep 2024 20:29:24 +0000 (+0200) Subject: BUG/MEDIUM: promex: Wait to have the request before sending the response X-Git-Tag: v3.1-dev8~16 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bb2a2bc5f2f6d864cd8770cbd2533d3df1878ad1;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: promex: Wait to have the request before sending the response It is similar to the previous fix about the stats applet ("BUG/MEDIUM: cache/stats: Wait to have the request before sending the response"). However, for promex, there is no crash and no obvious issue. But it depends on the filter. Indeed, the request is used by promex, independantly if it was considered as forwarded or not. So if it is modified by the filter, modification are just ignored. Same bug, same fix. We now wait the request was forwarded before processing it and produce the response. --- diff --git a/addons/promex/service-prometheus.c b/addons/promex/service-prometheus.c index 99aa464825..7229930bc4 100644 --- a/addons/promex/service-prometheus.c +++ b/addons/promex/service-prometheus.c @@ -2105,6 +2105,10 @@ static void promex_appctx_handle_io(struct appctx *appctx) switch (appctx->st0) { case PROMEX_ST_INIT: + if (!co_data(req)) { + applet_need_more_data(appctx); + goto out; + } ret = promex_parse_uri(appctx, sc); if (ret <= 0) { if (ret == -1)