From: Yves Lafon Date: Mon, 8 Jun 2020 14:08:06 +0000 (+0200) Subject: BUG/MINOR: cli: allow space escaping on the CLI X-Git-Tag: v2.2-dev10~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b08c6d06e712b148bf396dcf13f7da590a6104c9;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/cli.c b/src/cli.c index 12dc8e6485..5912e21b02 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 (\) */