From 0d371d2729e720be175b81a8fad208b87b7462b0 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Fri, 18 Jul 2025 09:05:45 +0200 Subject: [PATCH] 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. --- include/haproxy/applet.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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); } -- 2.47.2