瀏覽代碼

Merge pull request #2576 from enkore/pr/2573+split

BORG_PASSCOMMAND: use same cmd-string splitting as BORG_RSH
enkore 8 年之前
父節點
當前提交
1b66d8d109
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      src/borg/crypto/key.py

+ 2 - 1
src/borg/crypto/key.py

@@ -1,6 +1,7 @@
 import configparser
 import configparser
 import getpass
 import getpass
 import os
 import os
+import shlex
 import sys
 import sys
 import textwrap
 import textwrap
 import subprocess
 import subprocess
@@ -430,7 +431,7 @@ class Passphrase(str):
         passcommand = os.environ.get('BORG_PASSCOMMAND', None)
         passcommand = os.environ.get('BORG_PASSCOMMAND', None)
         if passcommand is not None:
         if passcommand is not None:
             try:
             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:
             except (subprocess.CalledProcessError, FileNotFoundError) as e:
                 raise PasscommandFailure(e)
                 raise PasscommandFailure(e)
             return cls(passphrase.rstrip('\n'))
             return cls(passphrase.rstrip('\n'))