From 88f508f28e8f63b4fc8d57c50158269507fd5957 Mon Sep 17 00:00:00 2001 From: Peter Barabas Date: Wed, 7 Sep 2016 10:04:56 +0200 Subject: Properly handle quotes in argument masking Use shlex to parse the command line, thus handling quotes and other special characters. Change-Id: Icc3a2cd934aac8f67e07d967f76c7679bcb34996 Signed-off-by: Peter Barabas (cherry picked from commit bddbf2a740b46d1ad763967b8c8662b1877a4d75) --- deploy/common.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deploy/common.py b/deploy/common.py index 353045867..80832e201 100644 --- a/deploy/common.py +++ b/deploy/common.py @@ -18,6 +18,7 @@ import shutil import stat import errno import time +import shlex N = {'id': 0, 'status': 1, 'name': 2, 'cluster': 3, 'ip': 4, 'mac': 5, 'roles': 6, 'pending_roles': 7, 'online': 8, 'group_id': 9} @@ -41,7 +42,7 @@ os.chmod(LOGFILE, 0664) def mask_arguments(cmd, mask_args, mask_str): - cmd_line = cmd.split() + cmd_line = shlex.split(cmd) for pos in mask_args: # Don't mask the actual command; also check if we don't reference # beyond bounds -- cgit 1.2.3-korg