Also install opendkim if antispam is amavis

This commit is contained in:
Antoine Nguyen
2025-08-19 17:34:55 +02:00
parent 4d49f182ec
commit 21a6f85786
3 changed files with 6 additions and 18 deletions

View File

@@ -42,7 +42,7 @@ class Clamav(base.Installer):
"""Additional tasks."""
if package.backend.FORMAT == "deb":
user = self.config.get(self.appname, "user")
if self.config.get("amavis", "enabled").lower() == "true":
if self.config.getboolean("amavis", "enabled"):
system.add_user_to_group(
user, self.config.get("amavis", "user")
)

View File

@@ -49,24 +49,11 @@ class Modoboa(base.Installer):
self.instance_path = self.config.get("modoboa", "instance_path")
self.extensions = self.config.get("modoboa", "extensions").split()
self.devmode = self.config.getboolean("modoboa", "devmode")
# Sanity check for amavis and rspamd
self.amavis_enabled = self.sanity_check("modoboa-amavis", "amavis")
self.sanity_check("modoboa-rspamd", "rspamd")
self.amavis_enabled = self.config.getboolean("amavis", "enabled")
self.dovecot_enabled = self.config.getboolean("dovecot", "enabled")
self.opendkim_enabled = self.config.getboolean("opendkim", "enabled")
self.dkim_cron_enabled = False
def sanity_check(self, extension, plugin):
# Sanity check for plugin requirements
enabled = False
if extension in self.extensions:
if self.config.getboolean(plugin, "enabled"):
enabled = True
else:
self.extensions.remove(extension)
return enabled
def is_extension_ok_for_version(self, extension, version):
"""Check if extension can be installed with this modo version."""
version = utils.convert_version_to_int(version)

7
run.py
View File

@@ -196,9 +196,10 @@ def main(input_args):
config.set("modoboa", "version", args.version)
config.set("modoboa", "install_beta", str(args.beta))
PRIMARY_APPS.append(
"amavis" if config.get("antispam", "type") == "amavis" else "rspamd"
)
if config.get("antispam", "type") == "amavis":
PRIMARY_APPS += ["amavis", "opendkim"]
else:
PRIMARY_APPS += ["rspamd"]
if args.backup or args.silent_backup:
backup_system(config, args)