From b3bb2c512dec5dd12d60d85c6ed63a1af696256b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Sat, 16 Apr 2016 18:20:51 +0200 Subject: [PATCH] [enh] Compile sieve script as needed and fix permissions in rspamd conf_regen --- data/hooks/conf_regen/31-rspamd | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/data/hooks/conf_regen/31-rspamd b/data/hooks/conf_regen/31-rspamd index 258535634..ff9786d2e 100755 --- a/data/hooks/conf_regen/31-rspamd +++ b/data/hooks/conf_regen/31-rspamd @@ -14,15 +14,19 @@ do_pre_regen() { } do_post_regen() { - # compile sieve script - # TODO: only compile and restart dovecot if script changed - sudo sievec /etc/dovecot/global_script/dovecot.sieve - # fix permissions and restart dovecot - sudo chown -R vmail:mail /etc/dovecot/global_script - sudo chmod 660 /etc/dovecot/global_script/rspamd.{sieve,svbin} - sudo systemctl restart dovecot + regen_conf_files=$1 - # TODO: only restart if conf changed + [ -z "$regen_conf_files" ] && exit 0 + + # compile sieve script + [[ "$regen_conf_files" =~ rspamd\.sieve ]] && { + sudo sievec /etc/dovecot/global_script/rspamd.sieve + sudo chown -R vmail:mail /etc/dovecot/global_script + sudo systemctl restart dovecot + } + + # ensure that the socket is listening and stop the service - it will be + # started again by the socket as needed sudo systemctl -q start rspamd.socket sudo systemctl -q stop rspamd.service 2>&1 || true } @@ -34,7 +38,7 @@ case "$1" in do_pre_regen $3 ;; post) - do_post_regen + do_post_regen $3 ;; *) echo "hook called with unknown argument \`$1'" >&2