From 6c7e202321012525477d8a81d722c7257b67a9c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Sat, 16 Apr 2016 18:05:41 +0200 Subject: [PATCH] [enh] Compile sieve script as needed and fix permissions in dovecot conf_regen --- data/hooks/conf_regen/25-dovecot | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/data/hooks/conf_regen/25-dovecot b/data/hooks/conf_regen/25-dovecot index 0a80dcb1..7dbeb5d6 100755 --- a/data/hooks/conf_regen/25-dovecot +++ b/data/hooks/conf_regen/25-dovecot @@ -29,20 +29,24 @@ do_pre_regen() { } do_post_regen() { + regen_conf_files=$1 + # create vmail user id vmail > /dev/null 2>&1 \ || sudo adduser --system --ingroup mail --uid 500 vmail - # compile sieve script - # TODO: only compile if script changed - sudo sievec /etc/dovecot/global_script/dovecot.sieve - # fix permissions sudo chown -R vmail:mail /etc/dovecot/global_script - sudo chmod -R 770 /etc/dovecot/global_script - sudo chmod 660 /etc/dovecot/global_script/dovecot.{sieve,svbin} + sudo chmod 770 /etc/dovecot/global_script + + [ -z "$regen_conf_files" ] && exit 0 + + # compile sieve script + [[ "$regen_conf_files" =~ dovecot\.sieve ]] && { + sudo sievec /etc/dovecot/global_script/dovecot.sieve + sudo chown -R vmail:mail /etc/dovecot/global_script + } - # TODO: only restart if conf changed sudo service dovecot restart } @@ -53,7 +57,7 @@ case "$1" in do_pre_regen $3 ;; post) - do_post_regen + do_post_regen $3 ;; *) echo "hook called with unknown argument \`$1'" >&2