MINOR: flt-spoe: Report end of input immediately after applet init

The SPOE applet forwards the message that must be sent to agent during its
init stage. So just after it is created. When it is performed, the end of
input must be reported because no more data will be forwarded. However, it
was performed after receiving the ACK response. It is harmless, but there is
no reason to delay the EOI. It is now fixed.

This patch must be backported to 3.1.
This commit is contained in:
Christopher Faulet 2025-02-04 10:46:28 +01:00
parent 38aac2c7bc
commit f7e5718596

View File

@ -395,6 +395,9 @@ static int spoe_init_appctx(struct appctx *appctx)
s->scf->flags |= SC_FL_NOHALF;
s->parent = spoe_appctx->spoe_ctx->strm;
/* The frame was forwarded to the SPOP mux, set EOI now */
applet_set_eoi(appctx);
appctx->st0 = SPOE_APPCTX_ST_WAITING_ACK;
appctx_wakeup(appctx);
return 0;
@ -511,8 +514,6 @@ static void spoe_handle_appctx(struct appctx *appctx)
case SPOE_APPCTX_ST_EXIT:
if (SPOE_APPCTX(appctx)->status_code != SPOP_ERR_NONE)
applet_set_error(appctx);
else
applet_set_eoi(appctx);
if (!SPOE_APPCTX(appctx)->spoe_ctx) {
appctx->st0 = SPOE_APPCTX_ST_END;
applet_set_eos(appctx);