mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 13:51:26 +02:00
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:
parent
38aac2c7bc
commit
f7e5718596
@ -395,6 +395,9 @@ static int spoe_init_appctx(struct appctx *appctx)
|
|||||||
s->scf->flags |= SC_FL_NOHALF;
|
s->scf->flags |= SC_FL_NOHALF;
|
||||||
s->parent = spoe_appctx->spoe_ctx->strm;
|
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->st0 = SPOE_APPCTX_ST_WAITING_ACK;
|
||||||
appctx_wakeup(appctx);
|
appctx_wakeup(appctx);
|
||||||
return 0;
|
return 0;
|
||||||
@ -511,8 +514,6 @@ static void spoe_handle_appctx(struct appctx *appctx)
|
|||||||
case SPOE_APPCTX_ST_EXIT:
|
case SPOE_APPCTX_ST_EXIT:
|
||||||
if (SPOE_APPCTX(appctx)->status_code != SPOP_ERR_NONE)
|
if (SPOE_APPCTX(appctx)->status_code != SPOP_ERR_NONE)
|
||||||
applet_set_error(appctx);
|
applet_set_error(appctx);
|
||||||
else
|
|
||||||
applet_set_eoi(appctx);
|
|
||||||
if (!SPOE_APPCTX(appctx)->spoe_ctx) {
|
if (!SPOE_APPCTX(appctx)->spoe_ctx) {
|
||||||
appctx->st0 = SPOE_APPCTX_ST_END;
|
appctx->st0 = SPOE_APPCTX_ST_END;
|
||||||
applet_set_eos(appctx);
|
applet_set_eos(appctx);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user