Fixed dict, few fixes
This commit is contained in:
@@ -234,7 +234,7 @@ ConfigDictTemplate = [
|
|||||||
{
|
{
|
||||||
"option": "password",
|
"option": "password",
|
||||||
"default": make_password,
|
"default": make_password,
|
||||||
}
|
},
|
||||||
{
|
{
|
||||||
"option": "dnsbl",
|
"option": "dnsbl",
|
||||||
"default": "true",
|
"default": "true",
|
||||||
|
|||||||
@@ -49,17 +49,24 @@ class Modoboa(base.Installer):
|
|||||||
self.instance_path = self.config.get("modoboa", "instance_path")
|
self.instance_path = self.config.get("modoboa", "instance_path")
|
||||||
self.extensions = self.config.get("modoboa", "extensions").split()
|
self.extensions = self.config.get("modoboa", "extensions").split()
|
||||||
self.devmode = self.config.getboolean("modoboa", "devmode")
|
self.devmode = self.config.getboolean("modoboa", "devmode")
|
||||||
# Sanity check for amavis
|
# Sanity check for amavis and rspamd
|
||||||
self.amavis_enabled = False
|
self.amavis_enabled = sanity_check("modoboa-amavis", "amavis")
|
||||||
if "modoboa-amavis" in self.extensions:
|
sanity_check("modoboa-rspamd", "rspamd")
|
||||||
if self.config.getboolean("amavis", "enabled"):
|
|
||||||
self.amavis_enabled = True
|
|
||||||
else:
|
|
||||||
self.extensions.remove("modoboa-amavis")
|
|
||||||
self.dovecot_enabled = self.config.getboolean("dovecot", "enabled")
|
self.dovecot_enabled = self.config.getboolean("dovecot", "enabled")
|
||||||
self.opendkim_enabled = self.config.getboolean("opendkim", "enabled")
|
self.opendkim_enabled = self.config.getboolean("opendkim", "enabled")
|
||||||
self.dkim_cron_enabled = False
|
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):
|
def is_extension_ok_for_version(self, extension, version):
|
||||||
"""Check if extension can be installed with this modo version."""
|
"""Check if extension can be installed with this modo version."""
|
||||||
version = utils.convert_version_to_int(version)
|
version = utils.convert_version_to_int(version)
|
||||||
|
|||||||
@@ -31,6 +31,23 @@ class Rspamd(base.Installer):
|
|||||||
"""Return appropriate config dir."""
|
"""Return appropriate config dir."""
|
||||||
return "/etc/rspamd"
|
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):
|
def get_config_files(self):
|
||||||
"""Return appropriate config files."""
|
"""Return appropriate config files."""
|
||||||
_config_files = self.config_files
|
_config_files = self.config_files
|
||||||
|
|||||||
Reference in New Issue
Block a user