From 270bb94a46d94298c2fbe3926578650e3f21ae5d Mon Sep 17 00:00:00 2001 From: Jeff Forcier Date: Mon, 5 Nov 2012 17:18:48 -0800 Subject: [PATCH] Fix ProxyCommand equals splitting. Uses regex approach from @lndbrg --- paramiko/config.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/paramiko/config.py b/paramiko/config.py index 458d5dd..cf35cdc 100644 --- a/paramiko/config.py +++ b/paramiko/config.py @@ -22,9 +22,12 @@ L{SSHConfig}. import fnmatch import os +import re import socket SSH_PORT=22 +proxy_re = re.compile(r"^(proxycommand)\s*=*\s*(.*)", re.I) + class SSHConfig (object): """ @@ -56,8 +59,13 @@ class SSHConfig (object): if (line == '') or (line[0] == '#'): continue if '=' in line: - key, value = line.split('=', 1) - key = key.strip().lower() + # Ensure ProxyCommand gets properly split + if line.lower().strip().startswith('proxycommand'): + match = proxy_re.match(line) + key, value = match.group(1).lower(), match.group(2) + else: + key, value = line.split('=', 1) + key = key.strip().lower() else: # find first whitespace, and split there i = 0