summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJeff Forcier <jeff@bitprophet.org>2014-08-25 22:45:07 -0700
committerJeff Forcier <jeff@bitprophet.org>2014-08-25 22:45:07 -0700
commitbc07b04e8ed4ddf9e97cf80cf39021828b94b3cf (patch)
treefa760f0407e32c2280d7737411acfa300a6641af
parenta22bf77030acaa476512752a2862244e90a3f1b6 (diff)
parent12e752d11aa22ee6ba959115725e386ca779c1cb (diff)
Merge branch '1.13' into 1.14
-rw-r--r--paramiko/config.py2
-rw-r--r--sites/www/changelog.rst2
-rw-r--r--tests/test_util.py6
3 files changed, 9 insertions, 1 deletions
diff --git a/paramiko/config.py b/paramiko/config.py
index 77fa13d7..f650ee24 100644
--- a/paramiko/config.py
+++ b/paramiko/config.py
@@ -55,7 +55,7 @@ class SSHConfig (object):
"""
host = {"host": ['*'], "config": {}}
for line in file_obj:
- line = line.rstrip('\n').lstrip()
+ line = line.rstrip('\r\n').lstrip()
if (line == '') or (line[0] == '#'):
continue
if '=' in line:
diff --git a/sites/www/changelog.rst b/sites/www/changelog.rst
index 5b8e1702..82076178 100644
--- a/sites/www/changelog.rst
+++ b/sites/www/changelog.rst
@@ -2,6 +2,8 @@
Changelog
=========
+* :bug:`239` Add Windows-style CRLF support to SSH config file parsing. Props
+ to Christopher Swenson.
* :support:`229` Fix a couple of incorrectly-copied docstrings' ``..
versionadded::`` RST directives. Thanks to Aarni Koskela for the catch.
* :support:`169 backported` Minor refactor of
diff --git a/tests/test_util.py b/tests/test_util.py
index 69c75518..44fb8ab5 100644
--- a/tests/test_util.py
+++ b/tests/test_util.py
@@ -333,3 +333,9 @@ IdentityFile something_%l_using_fqdn
"""
config = paramiko.util.parse_ssh_config(StringIO(test_config))
assert config.lookup('meh') # will die during lookup() if bug regresses
+
+ def test_13_config_dos_crlf_succeeds(self):
+ config_file = StringIO("host abcqwerty\r\nHostName 127.0.0.1\r\n")
+ config = paramiko.SSHConfig()
+ config.parse(config_file)
+ self.assertEqual(config.lookup("abcqwerty")["hostname"], "127.0.0.1")