Fixed dict, few fixes
This commit is contained in:
@@ -49,17 +49,24 @@ 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
|
||||
self.amavis_enabled = False
|
||||
if "modoboa-amavis" in self.extensions:
|
||||
if self.config.getboolean("amavis", "enabled"):
|
||||
self.amavis_enabled = True
|
||||
else:
|
||||
self.extensions.remove("modoboa-amavis")
|
||||
# Sanity check for amavis and rspamd
|
||||
self.amavis_enabled = sanity_check("modoboa-amavis", "amavis")
|
||||
sanity_check("modoboa-rspamd", "rspamd")
|
||||
|
||||
self.dovecot_enabled = self.config.getboolean("dovecot", "enabled")
|
||||
self.opendkim_enabled = self.config.getboolean("opendkim", "enabled")
|
||||
self.dkim_cron_enabled = False
|
||||
|
||||
def sanity_check(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)
|
||||
|
||||
@@ -31,6 +31,23 @@ class Rspamd(base.Installer):
|
||||
"""Return appropriate config dir."""
|
||||
return "/etc/rspamd"
|
||||
|
||||
def install_config_files(self):
|
||||
"""Make sure config directory exists."""
|
||||
user = self.config.get("modoboa", "user")
|
||||
pw = pwd.getpwnam(user)
|
||||
targets = [
|
||||
[self.app_config["dkim_keys_storage_dir"], pw[2], pw[3]]
|
||||
]
|
||||
for target in targets:
|
||||
if not os.path.exists(target[0]):
|
||||
utils.mkdir(
|
||||
target[0],
|
||||
stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP |
|
||||
stat.S_IROTH | stat.S_IXOTH,
|
||||
target[1], target[2]
|
||||
)
|
||||
super().install_config_files()
|
||||
|
||||
def get_config_files(self):
|
||||
"""Return appropriate config files."""
|
||||
_config_files = self.config_files
|
||||
|
||||
Reference in New Issue
Block a user