From 6e8a41d8fcb38a0d12efef3d6c521d23a8fa82f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Nephtali?= Date: Thu, 15 Mar 2018 21:48:50 +0100 Subject: [PATCH] BUG/MINOR: cli: Ensure all command outputs end with a LF MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since 200b0fac ("MEDIUM: Add support for updating TLS ticket keys via socket"), 4147b2ef ("MEDIUM: ssl: basic OCSP stapling support."), 4df59e9 ("MINOR: cli: add socket commands and config to prepend informational messages with severity") and 654694e1 ("MEDIUM: stats/cli: add support for "set table key" to enter values"), commands 'set ssl tls-key', 'set ssl ocsp-response', 'set severity-output' and 'set table' do not always send an extra LF at the end of their outputs. This is required as mentioned in doc/management.txt: "Since multiple commands may be issued at once, haproxy uses the empty line as a delimiter to mark an end of output for each command" Signed-off-by: Aurélien Nephtali --- src/cli.c | 2 +- src/ssl_sock.c | 4 ++-- src/stick_table.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cli.c b/src/cli.c index 84b6229b7..7bffbdd56 100644 --- a/src/cli.c +++ b/src/cli.c @@ -1145,7 +1145,7 @@ static int cli_parse_set_severity_output(char **args, struct appctx *appctx, voi return 0; appctx->ctx.cli.severity = LOG_ERR; - appctx->ctx.cli.msg = "one of 'none', 'number', 'string' is a required argument"; + appctx->ctx.cli.msg = "one of 'none', 'number', 'string' is a required argument\n"; appctx->st0 = CLI_ST_PRINT; return 1; } diff --git a/src/ssl_sock.c b/src/ssl_sock.c index daf428247..5acf38f60 100644 --- a/src/ssl_sock.c +++ b/src/ssl_sock.c @@ -8554,7 +8554,7 @@ static int cli_parse_set_tlskeys(char **args, struct appctx *appctx, void *priva } ssl_sock_update_tlskey_ref(ref, &trash); appctx->ctx.cli.severity = LOG_INFO; - appctx->ctx.cli.msg = "TLS ticket key updated!"; + appctx->ctx.cli.msg = "TLS ticket key updated!\n"; appctx->st0 = CLI_ST_PRINT; return 1; @@ -8591,7 +8591,7 @@ static int cli_parse_set_ocspresponse(char **args, struct appctx *appctx, void * return 1; } appctx->ctx.cli.severity = LOG_INFO; - appctx->ctx.cli.msg = "OCSP Response updated!"; + appctx->ctx.cli.msg = "OCSP Response updated!\n"; appctx->st0 = CLI_ST_PRINT; return 1; #else diff --git a/src/stick_table.c b/src/stick_table.c index fe26e3121..73c70d3e2 100644 --- a/src/stick_table.c +++ b/src/stick_table.c @@ -3334,7 +3334,7 @@ static int table_prepare_data_request(struct appctx *appctx, char **args) { if (appctx->ctx.table.action != STK_CLI_ACT_SHOW && appctx->ctx.table.action != STK_CLI_ACT_CLR) { appctx->ctx.cli.severity = LOG_ERR; - appctx->ctx.cli.msg = "content-based lookup is only supported with the \"show\" and \"clear\" actions"; + appctx->ctx.cli.msg = "content-based lookup is only supported with the \"show\" and \"clear\" actions\n"; appctx->st0 = CLI_ST_PRINT; return 1; }