yunohost/data/hooks/conf_regen/28-rmilter
2016-04-16 14:41:54 +02:00

56 lines
1.3 KiB
Bash
Executable file

#!/bin/bash
set -e
do_pre_regen() {
pending_dir=$1
cd /usr/share/yunohost/templates/rmilter
install -D rmilter.conf "${pending_dir}/etc/rmilter.conf"
install -D rmilter.socket "${pending_dir}/etc/rmilter.socket"
}
do_post_regen() {
# retrieve variables
# TODO: retrieve only new domains
domain_list=$(sudo yunohost domain list --output-as plain --quiet)
# create DKIM key for domains
for domain in $domain_list; do
[ ! -f /etc/dkim/$domain.mail.key ] && {
sudo opendkim-genkey --domain="$domain" \
--selector=mail --directory=/etc/dkim
sudo mv /etc/dkim/mail.private "/etc/dkim/${domain}.mail.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
# Reload systemd daemon, ensure that the socket is listening and stop
# the service. It will be started again by the socket as needed.
# TODO: only restart if conf changed
sudo systemctl -q daemon-reload
sudo systemctl -q start rmilter.socket
sudo systemctl -q stop rmilter.service 2>&1 || true
}
FORCE=$2
case "$1" in
pre)
do_pre_regen $3
;;
post)
do_post_regen
;;
*)
echo "hook called with unknown argument \`$1'" >&2
exit 1
;;
esac
exit 0