# Get network config
. /etc/sysconfig/network
+# Get service config
+[ -f /etc/sysconfig/courier-imap-ssl ] && . /etc/sysconfig/courier-imap-ssl
+
# Check that networking is up.
if is_yes "${NETWORKING}"; then
if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
exit 0
fi
-RETVAL=0
-# See how we were called.
-case "$1" in
-start)
+start() {
# Check if the service is already running?
+ if [ -f /var/lock/subsys/courier-imap-ssl ]; then
+ msg_already_running "Courier IMAP SSL"
+ return
+ fi
+
+ if [ -x "$COURIERTLS" -a ! -f "$TLS_CERTFILE" ]; then
+ msg_starting "Courier IMAP SSL cert generation"
+ daemon $sbindir/mkimapdcert
+ fi
+ msg_starting "Courier IMAP SSL"
+ daemon $libexecdir/imapd-ssl.rc start
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/courier-imap-ssl
+}
+
+stop() {
if [ ! -f /var/lock/subsys/courier-imap-ssl ]; then
- if [ -x "$COURIERTLS" -a ! -f "$TLS_CERTFILE" ]; then
- msg_starting "Courier IMAP SSL cert generation"
- daemon $sbindir/mkimapdcert
- fi
- . $sysconfdir/imapd-ssl
- msg_starting "Courier IMAP SSL"
- daemon $libexecdir/imapd-ssl.rc start
- RETVAL=$?
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/courier-imap-ssl
- else
- msg_already_running imapd-ssl
+ msg_not_running "Courier IMAP SSL"
+ return
fi
-;;
-stop)
- if [ -f /var/lock/subsys/courier-imap-ssl ]; then
- . $sysconfdir/imapd-ssl
- msg_stopping "Courier IMAP SSL"
- daemon $libexecdir/imapd-ssl.rc stop
- RETVAL=$?
- rm -f /var/lock/subsys/courier-imap-ssl >/dev/null 2>&1
- else
+
+ msg_stopping "Courier IMAP SSL"
+ daemon $libexecdir/imapd-ssl.rc stop
+ RETVAL=$?
+ rm -f /var/lock/subsys/courier-imap-ssl >/dev/null 2>&1
+}
+
+condrestart() {
+ if [ ! -f /var/lock/subsys/courier-imap-ssl ]; then
msg_not_running "Courier IMAP SSL"
+ RETVAL=$1
+ return
fi
-;;
-restart|force-reload)
- $0 stop
- $0 start
- exit $?
-;;
-status)
+
+ stop
+ start
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ stop
+ start
+ ;;
+ force-reload)
+ condrestart 7
+ ;;
+ status)
# FIXME: matches other services, like courier-imap
status couriertcpd
exit $?
-;;
+ ;;
*)
msg_usage "$0 {start|stop|restart|force-reload|status}"
exit 3