#!/usr/bin/env bash # 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}" else NEW_DOMAIN_NAME=$(hostname -d) fi sed -i -e "s/localdomain/${NEW_DOMAIN_NAME}/g" /etc/default/postsrsd POSTSRSD_SECRET_FILE='/etc/postsrsd.secret' POSTSRSD_STATE_DIR='/var/mail-state/etc-postsrsd' POSTSRSD_STATE_SECRET_FILE="${POSTSRSD_STATE_DIR}/postsrsd.secret" if [[ -n ${SRS_SECRET} ]] then ( umask 0077 ; echo "${SRS_SECRET}" | tr ',' '\n' > "${POSTSRSD_SECRET_FILE}" ) else 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}" fi install -m 0400 "${POSTSRSD_STATE_SECRET_FILE}" "${POSTSRSD_SECRET_FILE}" elif [[ ! -f ${POSTSRSD_SECRET_FILE} ]] then _generate_secret "${POSTSRSD_SECRET_FILE}" fi fi if [[ -n ${SRS_EXCLUDE_DOMAINS} ]] then sed -i -e "s/^#\?SRS_EXCLUDE_DOMAINS=.*$/SRS_EXCLUDE_DOMAINS=${SRS_EXCLUDE_DOMAINS}/g" /etc/default/postsrsd fi /etc/init.d/postsrsd start