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.
This commit is contained in:
Christopher Faulet 2025-07-18 09:05:45 +02:00
parent 5b5ecf848d
commit 0d371d2729

View File

@ -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);
}