diff --git a/data/hooks/conf_regen/28-rmilter b/data/hooks/conf_regen/28-rmilter index 05f921e09..011856cd6 100755 --- a/data/hooks/conf_regen/28-rmilter +++ b/data/hooks/conf_regen/28-rmilter @@ -9,7 +9,9 @@ do_pre_regen() { install -D -m 644 rmilter.conf \ "${pending_dir}/etc/rmilter.conf" - install -D -m 644 rmilter.socket \ + # Remove old socket file (we stopped using it, since rspamd 1.3.1) + # Regen-conf system need an empty file to delete it + install -D -m 644 /dev/null \ "${pending_dir}/etc/systemd/system/rmilter.socket" } @@ -37,17 +39,19 @@ do_post_regen() { sudo chown _rmilter /etc/dkim/*.mail.key sudo chmod 400 /etc/dkim/*.mail.key + # fix rmilter socket permission (postfix is chrooted in /var/spool/postfix ) + sudo mkdir -p /var/spool/postfix/run/rmilter + sudo chown -R postfix:_rmilter /var/spool/postfix/run/rmilter + sudo chmod g+w /var/spool/postfix/run/rmilter + [ -z "$regen_conf_files" ] && exit 0 # reload systemd daemon - [[ "$regen_conf_files" =~ rmilter\.socket ]] && { - sudo systemctl -q daemon-reload - } + sudo systemctl -q daemon-reload - # ensure that the socket is listening and stop the service - it will be - # started again by the socket as needed - sudo systemctl -q start rmilter.socket - sudo systemctl -q stop rmilter.service 2>&1 || true + # Restart rmilter due to the rspamd update + # https://rspamd.com/announce/2016/08/01/rspamd-1.3.1.html + sudo systemctl -q restart rmilter.service } FORCE=${2:-0} diff --git a/data/hooks/conf_regen/31-rspamd b/data/hooks/conf_regen/31-rspamd index 327bedef1..afdfc1bf1 100755 --- a/data/hooks/conf_regen/31-rspamd +++ b/data/hooks/conf_regen/31-rspamd @@ -25,10 +25,9 @@ do_post_regen() { 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 + # Restart rspamd due to the upgrade + # https://rspamd.com/announce/2016/08/01/rspamd-1.3.1.html + sudo systemctl -q restart rspamd.service } FORCE=${2:-0} diff --git a/data/templates/postfix/main.cf b/data/templates/postfix/main.cf index f3597e136..b0b2688d9 100644 --- a/data/templates/postfix/main.cf +++ b/data/templates/postfix/main.cf @@ -141,7 +141,7 @@ smtp_reply_filter = pcre:/etc/postfix/smtp_reply_filter # Rmilter milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen} milter_protocol = 6 -smtpd_milters = inet:localhost:11000 +smtpd_milters = unix:/run/rmilter/rmilter.sock # Skip email without checking if milter has died milter_default_action = accept diff --git a/data/templates/rmilter/rmilter.conf b/data/templates/rmilter/rmilter.conf index d585b9217..829d76418 100644 --- a/data/templates/rmilter/rmilter.conf +++ b/data/templates/rmilter/rmilter.conf @@ -5,8 +5,7 @@ # pidfile - path to pid file pidfile = /run/rmilter/rmilter.pid; -# rmilter is socket-activated under systemd -bind_socket = fd:3; +bind_socket = unix:/var/spool/postfix/run/rmilter/rmilter.sock; # DKIM signing dkim { diff --git a/data/templates/rmilter/rmilter.socket b/data/templates/rmilter/rmilter.socket deleted file mode 100644 index dc3ae7a2a..000000000 --- a/data/templates/rmilter/rmilter.socket +++ /dev/null @@ -1,5 +0,0 @@ -.include /lib/systemd/system/rmilter.socket - -[Socket] -ListenStream= -ListenStream=127.0.0.1:11000