From: William Lallemand Date: Tue, 11 Dec 2018 15:10:56 +0000 (+0100) Subject: BUG/MINOR: cli: wait for payload data even without prompt X-Git-Tag: v1.9-dev11~110 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3de09d5c7ed4f107ddb97fbe9ec8604e654c34d6;p=thirdparty%2Fhaproxy.git BUG/MINOR: cli: wait for payload data even without prompt During a payload transfer, we need to wait for the data even when we are not in interactive mode. Indeed, the data could be received line per line progressively instead of in one recv. Previously the CLI was doing a SHUTW just after the first line if it was not in interactive mode. We now check if we are in payload mode to do a SHUTW. Should be backported in 1.8. --- diff --git a/src/cli.c b/src/cli.c index c6d2265575..3af5c6ac86 100644 --- a/src/cli.c +++ b/src/cli.c @@ -758,7 +758,8 @@ static void cli_io_handler(struct appctx *appctx) * buffer is empty. This still allows pipelined requests * to be sent in non-interactive mode. */ - if ((res->flags & (CF_SHUTW|CF_SHUTW_NOW)) || (!(appctx->st1 & APPCTX_CLI_ST1_PROMPT) && !co_data(req))) { + if (((res->flags & (CF_SHUTW|CF_SHUTW_NOW))) || + (!(appctx->st1 & APPCTX_CLI_ST1_PROMPT) && !co_data(req) && (!(appctx->st1 & APPCTX_CLI_ST1_PAYLOAD)))) { appctx->st0 = CLI_ST_END; continue; }