Made 90-sieve a template

This commit is contained in:
Spitfireap
2024-01-12 18:26:35 +01:00
committed by Antoine Nguyen
parent 38eae741bf
commit e73d318e14
2 changed files with 7 additions and 10 deletions

View File

@@ -4,7 +4,6 @@ import glob
import os
import pwd
import shutil
import uuid
from .. import database
from .. import package
@@ -15,6 +14,7 @@ from . import base
class Dovecot(base.Installer):
"""Dovecot installer."""
appname = "dovecot"
@@ -27,9 +27,8 @@ class Dovecot(base.Installer):
}
config_files = [
"dovecot.conf", "dovecot-dict-sql.conf.ext", "conf.d/10-ssl.conf",
"conf.d/10-master.conf", "conf.d/20-lmtp.conf", "conf.d/10-ssl-keys.try",
"conf.d/dovecot-oauth2.conf.ext"
]
"conf.d/10-master.conf", "conf.d/20-lmtp.conf",
"conf.d/10-ssl-keys.try", "conf.d/90-sieve.conf"]
with_user = True
def setup_user(self):
@@ -43,8 +42,7 @@ class Dovecot(base.Installer):
_config_files = self.config_files
if self.app_config["move_spam_to_junk"]:
_config_files += ["conf.d/90-sieve.conf",
"conf.d/custom_after_sieve/spam-to-junk.sieve"]
_config_files += ["conf.d/custom_after_sieve/spam-to-junk.sieve"]
return _config_files + [
"dovecot-sql-{}.conf.ext=dovecot-sql.conf.ext"
@@ -80,7 +78,7 @@ class Dovecot(base.Installer):
def get_template_context(self):
"""Additional variables."""
context = super().get_template_context()
context = super(Dovecot, self).get_template_context()
pw_mailbox = pwd.getpwnam(self.mailboxes_owner)
dovecot_package = {"deb": "dovecot-core", "rpm": "dovecot"}
ssl_protocol_parameter = "ssl_protocols"
@@ -122,8 +120,7 @@ class Dovecot(base.Installer):
"ssl_protocols": ssl_protocols,
"ssl_protocol_parameter": ssl_protocol_parameter,
"modoboa_2_2_or_greater": "" if self.modoboa_2_2_or_greater else "#",
"not_modoboa_2_2_or_greater": "" if not self.modoboa_2_2_or_greater else "#",
"oauth2_introspection_url": oauth2_introspection_url
"not_modoboa_2_2_or_greater": "" if not self.modoboa_2_2_or_greater else "#"
})
return context
@@ -153,7 +150,7 @@ class Dovecot(base.Installer):
# See https://github.com/modoboa/modoboa/issues/2157.
if self.app_config["move_spam_to_junk"]:
# Compile sieve script
sieve_file = "/etc/dovecot/conf.d/custom_after_sieve/spam-to-junk.sieve"
sieve_file = f"{self.config_dir}/conf.d/custom_after_sieve/spam-to-junk.sieve"
utils.exec_cmd(f"/usr/bin/sievec {sieve_file}")
system.add_user_to_group(self.mailboxes_owner, 'dovecot')