From 265534a6bf78689c1dbac8638094c76035d3b173 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Mon, 21 Feb 2022 15:04:24 -0800 Subject: [PATCH] email: postfix: use inline map for TLS SNI maps Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/modules/email/privileged/tls.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/plinth/modules/email/privileged/tls.py b/plinth/modules/email/privileged/tls.py index 2ad57e4d9..6aeac6c07 100644 --- a/plinth/modules/email/privileged/tls.py +++ b/plinth/modules/email/privileged/tls.py @@ -49,20 +49,21 @@ _postfix_config = { def set_postfix_config(primary_domain, all_domains): """Set postfix configuration for TLS certificates.""" - tls_sni_map = pathlib.Path('/etc/postfix/freedombox-tls-sni.map') + items = [] + for domain in all_domains: + items.append(f'{domain}=/etc/postfix/letsencrypt/{domain}/chain.pem') + + domain_map = ','.join(items) config = dict(_postfix_config) config.update({ 'tls_server_sni_maps': - str(tls_sni_map), + f'inline:{{{domain_map}}}', 'smtpd_tls_chain_files': - f'/etc/postfix/letsencrypt/{primary_domain}/chain.pem' + f'/etc/postfix/letsencrypt/{primary_domain}/chain.pem', + 'smtpd_tls_cert_file': + '' }) postfix.set_config(config) - content = '# This file is managed by FreedomBox\n' - for domain in all_domains: - content += f'{domain} /etc/postfix/letsencrypt/{domain}/chain.pem\n' - - tls_sni_map.write_text(content) def set_dovecot_config(primary_domain, all_domains):