diff options
| author | Jan Cholasta <jcholast@redhat.com> | 2015-11-20 09:35:43 +0100 |
|---|---|---|
| committer | Jan Cholasta <jcholast@redhat.com> | 2015-11-20 12:29:04 +0100 |
| commit | 2d041daf17a4c461489cdd0879056d0cb5eacde5 (patch) | |
| tree | 348ae80273aae9217f3446937e6af86e84507b66 | |
| parent | 7f0d018c66da1fe2adedd45aa9f5a63c913e4527 (diff) | |
client install: do not corrupt OpenSSH config with Match sections
https://fedorahosted.org/freeipa/ticket/5461
Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
| -rwxr-xr-x | ipa-client/ipa-install/ipa-client-install | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install index 3011d25f3..05a550b11 100755 --- a/ipa-client/ipa-install/ipa-client-install +++ b/ipa-client/ipa-install/ipa-client-install @@ -1332,6 +1332,7 @@ def change_ssh_config(filename, changes, sections): section_keys = tuple(key.lower() for key in sections) lines = [] + in_section = False for line in f: line = line.rstrip('\n') pline = line.strip() @@ -1340,7 +1341,7 @@ def change_ssh_config(filename, changes, sections): continue option = pline.split()[0].lower() if option in section_keys: - lines.append(line) + in_section = True break if option in change_keys: line = '#' + line @@ -1348,6 +1349,9 @@ def change_ssh_config(filename, changes, sections): for option, value in changes.items(): if value is not None: lines.append('%s %s' % (option, value)) + if in_section: + lines.append('') + lines.append(line) for line in f: line = line.rstrip('\n') lines.append(line) @@ -1388,7 +1392,7 @@ def configure_ssh_config(fstore, options): changes['VerifyHostKeyDNS'] = 'yes' changes['HostKeyAlgorithms'] = 'ssh-rsa,ssh-dss' - change_ssh_config(ssh_config, changes, ['Host']) + change_ssh_config(ssh_config, changes, ['Host', 'Match']) root_logger.info('Configured %s', ssh_config) def configure_sshd_config(fstore, options): |
