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.
This commit is contained in:
Yves Lafon 2020-06-08 16:08:06 +02:00 committed by William Lallemand
parent 5c8be272c7
commit b08c6d06e7

View File

@ -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 (\) */