From: Christopher Faulet Date: Fri, 18 Jul 2025 07:05:45 +0000 (+0200) Subject: BUG/MEDIUM: applet: State inbuf is no longer full if input data are skipped X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bea0c441149f8cca6d872f4bf659ac552b179f70;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: applet: State inbuf is no longer full if input data are skipped When data are skipped from the input buffer of an applet, we must take care to notify the input buffer is no longer full. Otherwise, this could prevent the stream to push data to the applet. It is 3.3-specific. No backport needed. --- diff --git a/include/haproxy/applet.h b/include/haproxy/applet.h index 65e1af67e..261adfa1d 100644 --- a/include/haproxy/applet.h +++ b/include/haproxy/applet.h @@ -324,8 +324,10 @@ static inline size_t applet_input_data(const struct appctx *appctx) */ static inline void applet_skip_input(struct appctx *appctx, size_t len) { - if (appctx->flags & APPCTX_FL_INOUT_BUFS) + if (appctx->flags & APPCTX_FL_INOUT_BUFS) { b_del(&appctx->inbuf, len); + applet_fl_clr(appctx, APPCTX_FL_INBLK_FULL); + } else co_skip(sc_oc(appctx_sc(appctx)), len); }