From b08c6d06e712b148bf396dcf13f7da590a6104c9 Mon Sep 17 00:00:00 2001 From: Yves Lafon Date: Mon, 8 Jun 2020 16:08:06 +0200 Subject: [PATCH] BUG/MINOR: cli: allow space escaping on the CLI It was not possible to escape spaces over the CLI, making impossible the insertion of new ACL entries with spaces from the CLI. This patch fixes the escaping of spaces over the CLI. It is now possible to launch "add acl agents.acl My\ User\ Agent" over the CLI. Could be backported in all stable branches. Should fix issue #400. --- src/cli.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/cli.c b/src/cli.c index 12dc8e648..5912e21b0 100644 --- a/src/cli.c +++ b/src/cli.c @@ -526,7 +526,18 @@ static int cli_parse_request(struct appctx *appctx) break; args[i] = p; - p += strcspn(p, " \t"); + while (1) { + p += strcspn(p, " \t\\"); + /* escaped chars using backlashes (\) */ + if (*p == '\\') { + if (!*++p) + break; + if (!*++p) + break; + } else { + break; + } + } *p++ = 0; /* unescape backslashes (\) */