2018-02-06 08:11:57 +01:00
|
|
|
#!/usr/bin/env bash
|
2020-09-05 16:19:12 +02:00
|
|
|
|
|
|
|
# version 0.1.0
|
|
|
|
|
|
|
|
function generate_secret()
|
|
|
|
{
|
|
|
|
( umask 0077 ; dd if=/dev/urandom bs=24 count=1 2>/dev/null | base64 -w0 > "$1" )
|
|
|
|
}
|
|
|
|
|
|
|
|
if [[ -n $SRS_DOMAINNAME ]]
|
|
|
|
then
|
|
|
|
NEW_DOMAIN_NAME="$SRS_DOMAINNAME"
|
|
|
|
elif [[ -n $OVERRIDE_HOSTNAME ]]
|
|
|
|
then
|
|
|
|
NEW_DOMAIN_NAME="${OVERRIDE_HOSTNAME#*.}"
|
|
|
|
elif [[ -n $DOMAINNAME ]]
|
|
|
|
then
|
|
|
|
NEW_DOMAIN_NAME="$DOMAINNAME"
|
2018-06-19 08:17:32 +02:00
|
|
|
else
|
2020-09-05 16:19:12 +02:00
|
|
|
NEW_DOMAIN_NAME=$(hostname -d)
|
2018-06-19 08:17:32 +02:00
|
|
|
fi
|
|
|
|
|
2020-09-05 16:19:12 +02:00
|
|
|
sed -i -e "s/localdomain/${NEW_DOMAIN_NAME}/g" /etc/default/postsrsd
|
2018-02-06 08:11:57 +01:00
|
|
|
|
2020-09-05 16:19:12 +02:00
|
|
|
POSTSRSD_SECRET_FILE='/etc/postsrsd.secret'
|
|
|
|
POSTSRSD_STATE_DIR='/var/mail-state/etc-postsrsd'
|
|
|
|
POSTSRSD_STATE_SECRET_FILE="${POSTSRSD_STATE_DIR}/postsrsd.secret"
|
2018-03-10 13:41:20 +01:00
|
|
|
|
2020-09-05 16:19:12 +02:00
|
|
|
if [[ -n $SRS_SECRET ]]
|
|
|
|
then
|
|
|
|
( umask 0077 ; echo "$SRS_SECRET" | tr ',' '\n' > "$POSTSRSD_SECRET_FILE" )
|
2018-03-10 13:41:20 +01:00
|
|
|
else
|
2020-09-05 16:19:12 +02:00
|
|
|
if [[ $ONE_DIR -eq 1 ]]
|
|
|
|
then
|
|
|
|
if [[ ! -f $POSTSRSD_STATE_SECRET_FILE ]]
|
|
|
|
then
|
|
|
|
install -d -m 0775 "$POSTSRSD_STATE_DIR"
|
|
|
|
generate_secret "$POSTSRSD_STATE_SECRET_FILE"
|
2018-03-10 13:41:20 +01:00
|
|
|
fi
|
2020-09-05 16:19:12 +02:00
|
|
|
|
|
|
|
install -m 0400 "$POSTSRSD_STATE_SECRET_FILE" "$POSTSRSD_SECRET_FILE"
|
|
|
|
elif [[ ! -f $POSTSRSD_SECRET_FILE ]]
|
|
|
|
then
|
|
|
|
generate_secret "$POSTSRSD_SECRET_FILE"
|
2018-03-10 13:41:20 +01:00
|
|
|
fi
|
2018-03-08 22:51:10 +01:00
|
|
|
fi
|
|
|
|
|
2020-09-05 16:19:12 +02:00
|
|
|
if [[ -n $SRS_EXCLUDE_DOMAINS ]]
|
|
|
|
then
|
2018-02-18 20:53:13 +01:00
|
|
|
sed -i -e "s/^#\?SRS_EXCLUDE_DOMAINS=.*$/SRS_EXCLUDE_DOMAINS=$SRS_EXCLUDE_DOMAINS/g" /etc/default/postsrsd
|
|
|
|
fi
|
|
|
|
|
2018-02-06 08:11:57 +01:00
|
|
|
/etc/init.d/postsrsd start
|