From cf0d28a24fddc33dfde8e5873860cf104e472c96 Mon Sep 17 00:00:00 2001 From: Marian Beermann Date: Wed, 31 May 2017 19:41:17 +0200 Subject: [PATCH] BORG_PASSCOMMAND: use same cmd-string splitting as BORG_RSH (cherry picked from commit 4e6a771ee7cb4fb98b839d7c85454fc12d05ecd3) --- borg/key.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/borg/key.py b/borg/key.py index 2333f7810..fdbb2e04b 100644 --- a/borg/key.py +++ b/borg/key.py @@ -2,6 +2,7 @@ from binascii import hexlify, a2b_base64, b2a_base64 import configparser import getpass import os +import shlex import subprocess import sys import textwrap @@ -327,7 +328,7 @@ class Passphrase(str): passcommand = os.environ.get('BORG_PASSCOMMAND', None) if passcommand is not None: try: - passphrase = subprocess.check_output(passcommand.split(), universal_newlines=True) + passphrase = subprocess.check_output(shlex.split(passcommand), universal_newlines=True) except (subprocess.CalledProcessError, FileNotFoundError) as e: raise PasscommandFailure(e) return cls(passphrase.rstrip('\n'))