fix(`config_ini`): convert tabs to single space to prevent false +ves (#163)

* Fix #162
* Check for any number of tabs after the keyword
* If found, replace them by a single space to match the `separator` used
  in the `ini_options.present` state
This commit is contained in:
Imran Iqbal 2019-06-23 13:33:54 +01:00 committed by Niels Abspoel
parent 3e01ad816a
commit 14966e9a09
1 changed files with 16 additions and 3 deletions

View File

@ -1,10 +1,23 @@
{% from "openssh/map.jinja" import openssh, sshd_config with context %} {%- from "openssh/map.jinja" import openssh, sshd_config with context %}
include: include:
- openssh - openssh
{% if sshd_config %} {%- if sshd_config %}
sshd_config-with-ini: sshd_config-with-ini:
{#- Convert any tabs to a single space to prevent false positives #}
{#- Ref: https://github.com/saltstack-formulas/openssh-formula/issues/162 #}
{%- set regex_search_for_tabs = '^(\w+)\t+(\w)' %}
{%- if salt['file.contains_regex'](openssh.sshd_config, regex_search_for_tabs) %}
file.replace:
- name: {{ openssh.sshd_config }}
- pattern: {{ regex_search_for_tabs }}
- repl: '\1 \2'
- show_changes: True
- require_in:
- ini_manage: sshd_config-with-ini
{%- endif %}
ini.options_present: ini.options_present:
- name: {{ openssh.sshd_config }} - name: {{ openssh.sshd_config }}
- separator: ' ' - separator: ' '
@ -14,4 +27,4 @@ sshd_config-with-ini:
{%- for k,v in sshd_config.items() %} {%- for k,v in sshd_config.items() %}
{{ k }}: '{{ v }}' {{ k }}: '{{ v }}'
{%- endfor %} {%- endfor %}
{% endif %} {%- endif %}