mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
73 lines
1.7 KiB
Bash
Executable file
73 lines
1.7 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
do_pre_regen() {
|
|
pending_dir=$1
|
|
|
|
cd /usr/share/yunohost/templates/rmilter
|
|
|
|
install -D -m 644 rmilter.conf \
|
|
"${pending_dir}/etc/rmilter.conf"
|
|
# 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"
|
|
}
|
|
|
|
do_post_regen() {
|
|
regen_conf_files=$1
|
|
|
|
# retrieve variables
|
|
domain_list=$(sudo yunohost domain list --output-as plain --quiet)
|
|
|
|
# create DKIM directory
|
|
sudo mkdir -p /etc/dkim
|
|
|
|
# create DKIM key for domains
|
|
for domain in $domain_list; do
|
|
domain_key="/etc/dkim/${domain}.mail.key"
|
|
[ ! -f $domain_key ] && {
|
|
sudo opendkim-genkey --domain="$domain" \
|
|
--selector=mail --directory=/etc/dkim
|
|
sudo mv /etc/dkim/mail.private "$domain_key"
|
|
sudo mv /etc/dkim/mail.txt "/etc/dkim/${domain}.mail.txt"
|
|
}
|
|
done
|
|
|
|
# fix DKIM keys permissions
|
|
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
|
|
sudo systemctl -q daemon-reload
|
|
|
|
# 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}
|
|
DRY_RUN=${3:-0}
|
|
|
|
case "$1" in
|
|
pre)
|
|
do_pre_regen $4
|
|
;;
|
|
post)
|
|
do_post_regen $4
|
|
;;
|
|
*)
|
|
echo "hook called with unknown argument \`$1'" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0
|