diff options
-rw-r--r-- | roles/IMAP/tasks/mda.yml | 10 | ||||
-rw-r--r--[l---------] | roles/IMAP/templates/etc/postfix/relay_clientcerts.j2 | 7 | ||||
-rw-r--r-- | roles/out/tasks/main.yml | 10 | ||||
-rw-r--r-- | roles/out/templates/etc/postfix/relay_clientcerts.j2 | 5 |
4 files changed, 9 insertions, 23 deletions
diff --git a/roles/IMAP/tasks/mda.yml b/roles/IMAP/tasks/mda.yml index 897a61d..04d2b54 100644 --- a/roles/IMAP/tasks/mda.yml +++ b/roles/IMAP/tasks/mda.yml @@ -22,16 +22,6 @@ - recipient_canonical.pcre - transport -- name: Build the Postfix relay clientcerts map - sudo: False - # smtpd_tls_fingerprint_digest MUST be sha256! - local_action: shell openssl x509 -in certs/postfix/{{ item }}.pem -noout -fingerprint -sha256 | sed -nr 's/^.*=(.*)/\1 {{ item }}/p' - with_items: groups.MX | difference([inventory_hostname]) | sort - register: relay_clientcerts - changed_when: False - tags: - - tls_policy - - name: Copy the Postfix relay clientcerts map template: src=etc/postfix/relay_clientcerts.j2 dest=/etc/postfix-{{ postfix_instance[inst].name }}/relay_clientcerts diff --git a/roles/IMAP/templates/etc/postfix/relay_clientcerts.j2 b/roles/IMAP/templates/etc/postfix/relay_clientcerts.j2 index b375aa0..42a83b5 120000..100644 --- a/roles/IMAP/templates/etc/postfix/relay_clientcerts.j2 +++ b/roles/IMAP/templates/etc/postfix/relay_clientcerts.j2 @@ -1 +1,6 @@ -../../../../out/templates/etc/postfix/relay_clientcerts.j2
\ No newline at end of file +# {{ ansible_managed }} +# /!\ WARNING: smtp_tls_fingerprint_digest MUST be sha256! + +{% for h in groups.MX | difference([inventory_hostname]) | sort %} +{{ lookup('pipe', 'openssl x509 -in certs/postfix/'+h+'.pem -noout -fingerprint -sha256 | cut -d= -f2') }} {{ h }} +{% endfor %} diff --git a/roles/out/tasks/main.yml b/roles/out/tasks/main.yml index 791bfa3..2a9cf71 100644 --- a/roles/out/tasks/main.yml +++ b/roles/out/tasks/main.yml @@ -9,16 +9,6 @@ notify: - Reload Postfix -- name: Build the Postfix relay clientcerts map - sudo: False - # smtpd_tls_fingerprint_digest MUST be sha256! - local_action: shell openssl x509 -in certs/postfix/{{ item }}.pem -noout -fingerprint -sha256 | sed -nr 's/^.*=(.*)/\1 {{ item }}/p' - with_items: groups.all | difference([inventory_hostname]) | sort - register: relay_clientcerts - changed_when: False - tags: - - tls_policy - - name: Copy the Postfix relay clientcerts map template: src=etc/postfix/relay_clientcerts.j2 dest=/etc/postfix-{{ postfix_instance[inst].name }}/relay_clientcerts diff --git a/roles/out/templates/etc/postfix/relay_clientcerts.j2 b/roles/out/templates/etc/postfix/relay_clientcerts.j2 index 3f724ea..d70432e 100644 --- a/roles/out/templates/etc/postfix/relay_clientcerts.j2 +++ b/roles/out/templates/etc/postfix/relay_clientcerts.j2 @@ -1,5 +1,6 @@ # {{ ansible_managed }} +# /!\ WARNING: smtp_tls_fingerprint_digest MUST be sha256! -{% for x in relay_clientcerts.results %} -{{ x.stdout }} +{% for h in groups.all | difference([inventory_hostname]) | sort %} +{{ lookup('pipe', 'openssl x509 -in certs/postfix/'+h+'.pem -noout -fingerprint -sha256 | cut -d= -f2') }} {{ h }} {% endfor %} |