summaryrefslogtreecommitdiff
path: root/paramiko/config.py
diff options
context:
space:
mode:
Diffstat (limited to 'paramiko/config.py')
-rw-r--r--paramiko/config.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/paramiko/config.py b/paramiko/config.py
index 77fa13d..96ec9ef 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:
@@ -83,7 +83,7 @@ class SSHConfig (object):
#identityfile, localforward, remoteforward keys are special cases, since they are allowed to be
# specified multiple times and they should be tried in order
# of specification.
-
+
elif key in ['identityfile', 'localforward', 'remoteforward']:
if key in host['config']:
host['config'][key].append(value)
@@ -200,10 +200,12 @@ class SSHConfig (object):
for find, replace in replacements[k]:
if isinstance(config[k], list):
for item in range(len(config[k])):
- config[k][item] = config[k][item].\
- replace(find, str(replace))
+ if find in config[k][item]:
+ config[k][item] = config[k][item].\
+ replace(find, str(replace))
else:
- config[k] = config[k].replace(find, str(replace))
+ if find in config[k]:
+ config[k] = config[k].replace(find, str(replace))
return config