From 9984c3a72362fb1742915343e20a0e43a10c7075 Mon Sep 17 00:00:00 2001 From: Carlos Ramos Date: Wed, 22 Jan 2014 22:38:33 -0600 Subject: [PATCH 1/2] Look in more places for the dovecot binary fix #510 --- modoboa/extensions/admin/app_settings.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modoboa/extensions/admin/app_settings.py b/modoboa/extensions/admin/app_settings.py index 377ce5ebb..3916d35e5 100644 --- a/modoboa/extensions/admin/app_settings.py +++ b/modoboa/extensions/admin/app_settings.py @@ -3,6 +3,7 @@ from django.utils.translation import ugettext_lazy from modoboa.lib.formutils import YesNoField, SeparatorField from modoboa.lib.sysutils import exec_cmd from modoboa.lib import parameters +import os class AdminParametersForm(parameters.AdminParametersForm): @@ -47,8 +48,14 @@ class AdminParametersForm(parameters.AdminParametersForm): super(AdminParametersForm, self).__init__(*args, **kwargs) hide_fields = False code, output = exec_cmd("which dovecot") + known_paths = ("/usr/sbin/dovecot", "/usr/local/sbin/dovecot") if not code: dpath = output.strip() + else: + for fpath in known_paths: + if os.path.isfile(fpath) and os.access(fpath, os.X_OK): + dpath = fpath + if dpath: try: code, version = exec_cmd("%s --version" % dpath) except OSError: From bd1b3201eafe7b19a7a3fb12ca3bbc6d714f7e04 Mon Sep 17 00:00:00 2001 From: Carlos Ramos Date: Wed, 22 Jan 2014 23:05:50 -0600 Subject: [PATCH 2/2] Initialize dpath to make CI not fail --- modoboa/extensions/admin/app_settings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/modoboa/extensions/admin/app_settings.py b/modoboa/extensions/admin/app_settings.py index 3916d35e5..c35a9fab2 100644 --- a/modoboa/extensions/admin/app_settings.py +++ b/modoboa/extensions/admin/app_settings.py @@ -47,6 +47,7 @@ class AdminParametersForm(parameters.AdminParametersForm): def __init__(self, *args, **kwargs): super(AdminParametersForm, self).__init__(*args, **kwargs) hide_fields = False + dpath = None code, output = exec_cmd("which dovecot") known_paths = ("/usr/sbin/dovecot", "/usr/local/sbin/dovecot") if not code: