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.
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;
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);