#!/sbin/openrc-run # Portions Copyright 2003 Gentoo Linux # # script originally from Courier distfile original name = courier.sysvinit # adapted for Gentoo by Brian Jackson # # TODO # should we update all the .dat/.pem files when the source/config files are # newer than the .dat/.pem files? prefix="/usr" exec_prefix="/usr/bin" sysconfdir="/etc/courier" sbindir="/usr/sbin" libexecdir="/usr/lib/courier" datadir="/usr/share/courier" depend() { need net [ -d /etc/courier/authlib ] && need courier-authlib grep -q "^IMAPDSTART=.*[Yy].*" /etc/courier/imapd && use famd grep -q "^IMAPDSSLSTART=.*[Yy].*" /etc/courier/imapd-ssl && use famd } checkconfig() { checkpath -q -d -o mail:mail -m 0755 /var/run/courier [ -f ${sysconfdir}/pop3d-ssl ] && . ${sysconfdir}/pop3d-ssl # If we do not have a certificate, make one up. [ ! -f "${datadir}/pop3d.pem" ] && \ ebegin " generating-POP3-SSL-certificate..." && "${sbindir}/mkpop3dcert" [ -f ${sysconfdir}/imapd-ssl ] && . ${sysconfdir}/imapd-ssl # If we do not have a certificate, make one up. [ ! -f ${datadir}/imapd.pem ] && \ ebegin " generating-IMAP-SSL-certificate..." && "${sbindir}/mkimapdcert" [ -f ${sysconfdir}/esmtpd-ssl ] && . ${sysconfdir}/esmtpd-ssl # If we do not have a certificate, make one up. [ ! -f ${datadir}/esmtpd.pem ] && \ ebegin " generating-ESMTP-SSL-certificate..." && "${sbindir}/mkesmtpdcert" # First time after install create aliases.dat and smtpaccess.dat [ -f ${sysconfdir}/aliases.dat ] || ${sbindir}/makealiases [ -f ${sysconfdir}/${ACCESSFILE}.dat ] || ${sbindir}/makesmtpaccess [ -f ${sysconfdir}/${ACCESSFILE}.dat ] || ${sbindir}/makesmtpaccess-msa } start() { # Start daemons. ebegin "Starting Courier mail server:" checkconfig || return 1 ebegin " Starting courierfilterd" ${sbindir}/courierfilter start [ ! -d /etc/courier/authlib ] && [ -x ${libexecdir}/authlib/authdaemond ] && \ ${libexecdir}/authlib/authdaemond start && ebegin " Starting authdaemond" [ -x ${sbindir}/webmaild ] && \ ${sbindir}/webmaild start && ebegin " Starting webmaild" [ -x ${sbindir}/courierldapaliasd ] && \ ${sbindir}/courierldapaliasd start && ebegin " Starting courierldapaliasd" ebegin " Starting courierd" ${sbindir}/courier start savepath="$PATH" # start esmtpd if so written [ -f ${sysconfdir}/esmtpd ] && source ${sysconfdir}/esmtpd PATH="$savepath" case x$ESMTPDSTART in x[yY]*) ebegin " Starting esmtpd" ${sbindir}/esmtpd start ;; esac # start esmtpd-msa if so written [ -f ${sysconfdir}/esmtpd-msa ] && source ${sysconfdir}/esmtpd-msa PATH="$savepath" case x$ESMTPDSTART in x[yY]*) ebegin " Starting esmtpd-msa" ${sbindir}/esmtpd-msa start ;; esac # start esmtpd-ssl if so written [ -f ${sysconfdir}/esmtpd-ssl ] && source ${sysconfdir}/esmtpd-ssl PATH="$savepath" case x$ESMTPDSSLSTART in x[yY]*) ebegin " Starting esmtpd-ssl" ${sbindir}/esmtpd-ssl start ;; esac # start pop3d if so written [ -f ${sysconfdir}/pop3d ] && source ${sysconfdir}/pop3d PATH="$savepath" case x$POP3DSTART in x[yY]*) ebegin " courier-pop3d" ${sbindir}/courier-pop3d start ;; esac # start pop3d-ssl if so written [ -f ${sysconfdir}/pop3d-ssl ] && source ${sysconfdir}/pop3d-ssl PATH="$savepath" case x$POP3DSSLSTART in x[yY]*) ebegin " courier-pop3d-ssl" ${sbindir}/courier-pop3d-ssl start ;; esac [ -f ${sysconfdir}/imapd ] && source ${sysconfdir}/imapd PATH="$savepath" case x$IMAPDSTART in x[yY]*) ebegin " courier-imapd" ${sbindir}/courier-imapd start ;; esac [ -f ${sysconfdir}/imapd-ssl ] && source ${sysconfdir}/imapd-ssl PATH="$savepath" case x$IMAPDSSLSTART in x[yY]*) ebegin " courier-imapd-ssl" ${sbindir}/courier-imapd-ssl start ;; esac eend $? } stop() { ebegin "Stopping Courier mail server:" ebegin " Stopping courier-esmtpd" ${sbindir}/esmtpd stop ebegin " Stopping courier-esmtpd-msa" ${sbindir}/esmtpd-msa stop ebegin " Stopping courier-esmtpd-ssl" ${sbindir}/esmtpd-ssl stop [ -x ${sbindir}/courier-pop3d ] && \ ebegin " Stopping courier-pop3d" && ${sbindir}/courier-pop3d stop [ -x ${sbindir}/courier-pop3d-ssl ] && \ ebegin " Stopping courier-pop3d-ssl" && ${sbindir}/courier-pop3d-ssl stop [ -x ${sbindir}/courier-imapd ] && \ ebegin " Stopping courier-imapd" && ${sbindir}/courier-imapd stop [ -x ${sbindir}/courier-imapd-ssl ] && \ ebegin " Stopping courier-imapd-ssl" && ${sbindir}/courier-imapd-ssl stop ebegin " Stopping courierd" ${sbindir}/courier stop [ -x ${sbindir}/courierldapaliasd ] && \ ( ${sbindir}/courierldapaliasd stop ; ebegin " Stopping courierldapaliasd" ) [ -x ${sbindir}/webmaild ] && \ ( ${sbindir}/webmaild stop ; ebegin " Stopping webmaild" ) [ ! -d /etc/courier/authlib ] && [ -x ${libexecdir}/authlib/authdaemond ] && \ ( ${libexecdir}/authlib/authdaemond stop ; ebegin " Stopping authdaemond" ) ${sbindir}/courierfilter stop ebegin " Stopping courierfilterd" eend $? }