You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
191 lines
4.9 KiB
191 lines
4.9 KiB
#!/sbin/openrc-run
|
|
# Portions Copyright 2003 Gentoo Linux
|
|
# $Id$
|
|
#
|
|
# 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 $?
|
|
}
|