exit 0
fi
-RETVAL=0
-# See how we were called.
-case "$1" in
- start)
+if [ -n "${DOVECOT_CONF}" ]; then
+ if [ -f "${DOVECOT_CONF}" ]; then
+ DOVECOT_CFG="-c ${DOVECOT_CONF}"
+ else
+ echo "error: DOVECOT_CONF='$DOVECOT_CONF': not a file"
+ exit 1
+ fi
+fi
+
+start() {
# Check if the service is already running?
if [ ! -f /var/lock/subsys/dovecot ]; then
msg_starting "Dovecot"
- daemon /usr/sbin/dovecot
+ daemon /usr/sbin/dovecot $DOVECOT_CFG
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dovecot
else
msg_already_running "Dovecot"
fi
- ;;
- stop)
- if [ -f /var/lock/subsys/dovecot ]; then
+}
+
+stop() {
+ if [ -f /var/lock/subsys/dovecot ]; then
msg_stopping "Dovecot"
- killproc dovecot
+ killproc --pidfile dovecot/master.pid dovecot
rm -f /var/lock/subsys/dovecot
else
msg_not_running "Dovecot"
fi
+}
+
+reload() {
+ if [ -f /var/lock/subsys/dovecot ]; then
+ msg_reloading dovecot
+ killproc --pidfile dovecot/master.pid docevot -HUP
+ RETVAL=$?
+ else
+ msg_not_running "Dovecot"
+ RETVAL=7
+ fi
+}
+
+condrestart() {
+ if [ -f /var/lock/subsys/dovecot ]; then
+ stop
+ start
+ else
+ msg_not_running "Dovecot"
+ RETVAL=$1
+ fi
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+ start)
+ start
;;
- restart|force-reload)
- $0 stop
- $0 start
- exit $?
+ stop)
+ stop
;;
- reload)
- msg_reloading "Dovecot"
- killproc dovecot -HUP
- exit $?
+ restart)
+ stop
+ start
+ ;;
+ try-restart)
+ condrestart 0
+ ;;
+ reload|force-reload)
+ reload
;;
status)
status dovecot
exit $?
;;
*)
- msg_usage "$0 {start|stop|reload|restart|force-reload|status}"
+ msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
exit 3
esac