summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--paramiko/config.py3
-rw-r--r--tests/test_util.py20
2 files changed, 23 insertions, 0 deletions
diff --git a/paramiko/config.py b/paramiko/config.py
index 91943ffb..233a87d9 100644
--- a/paramiko/config.py
+++ b/paramiko/config.py
@@ -73,6 +73,9 @@ class SSHConfig (object):
'host': self._get_hosts(value),
'config': {}
}
+ elif key == 'proxycommand' and value.lower() == 'none':
+ # Proxycommands of none should not be added as an actual value. (Issue #415)
+ continue
else:
if value.startswith('"') and value.endswith('"'):
value = value[1:-1]
diff --git a/tests/test_util.py b/tests/test_util.py
index 7f68de21..bfdc525e 100644
--- a/tests/test_util.py
+++ b/tests/test_util.py
@@ -464,3 +464,23 @@ Host param3 parara
assert safe_vanilla == vanilla, err.format(safe_vanilla, vanilla)
assert safe_has_bytes == expected_bytes, \
err.format(safe_has_bytes, expected_bytes)
+
+ def test_proxycommand_none_issue_418(self):
+ test_config_file = """
+Host proxycommand-standard-none
+ ProxyCommand None
+
+Host proxycommand-with-equals-none
+ ProxyCommand=None
+ """
+ for host, values in {
+ 'proxycommand-standard-none': {'hostname': 'proxycommand-standard-none'},
+ 'proxycommand-with-equals-none': {'hostname': 'proxycommand-with-equals-none'}
+ }.items():
+
+ f = StringIO(test_config_file)
+ config = paramiko.util.parse_ssh_config(f)
+ self.assertEqual(
+ paramiko.util.lookup_ssh_host_config(host, config),
+ values
+ )