summaryrefslogtreecommitdiff
path: root/network/dkimproxy/rc.dkimproxy
diff options
context:
space:
mode:
Diffstat (limited to 'network/dkimproxy/rc.dkimproxy')
-rw-r--r--network/dkimproxy/rc.dkimproxy156
1 files changed, 156 insertions, 0 deletions
diff --git a/network/dkimproxy/rc.dkimproxy b/network/dkimproxy/rc.dkimproxy
new file mode 100644
index 0000000000..b2ca4fd426
--- /dev/null
+++ b/network/dkimproxy/rc.dkimproxy
@@ -0,0 +1,156 @@
+#!/bin/sh
+#
+# Copyright (c) 2005-2007 Messiah College.
+#
+### BEGIN INIT INFO
+# Default-Start: 3 4 5
+# Default-Stop: 0 1 2 6
+# Description: Runs dkimproxy
+### END INIT INFO
+
+### BEGIN CONFIGURABLE BITS
+DKIMPROXYDIR=/usr
+DKIMPROXYUSER=dkim
+DKIMPROXYGROUP=dkim
+### END CONFIGURABLE BITS
+
+### IF YOU MOVE THE CONFIG FILES, CHANGE THIS:
+DKIMPROXY_IN_CFG="/etc/dkimproxy/dkimproxy_in.conf"
+DKIMPROXY_OUT_CFG="/etc/dkimproxy/dkimproxy_out.conf"
+
+if [ ! '(' -f "$DKIMPROXY_IN_CFG" -o -f "$DKIMPROXY_OUT_CFG" ')' ]; then
+ echo "Error: one or both of the following files must be created:" >&2
+ echo "$DKIMPROXY_IN_CFG" >&2
+ echo "$DKIMPROXY_OUT_CFG" >&2
+ exit 1
+fi
+
+HOSTNAME=`hostname -f`
+DKIMPROXY_IN_ARGS="
+ --hostname=$HOSTNAME
+ --conf_file=$DKIMPROXY_IN_CFG"
+DKIMPROXY_OUT_ARGS="
+ --conf_file=$DKIMPROXY_OUT_CFG"
+
+DKIMPROXY_COMMON_ARGS="
+ --user=$DKIMPROXYUSER
+ --group=$DKIMPROXYGROUP
+ --daemonize"
+
+DKIMPROXY_IN_BIN="$DKIMPROXYDIR/bin/dkimproxy.in"
+DKIMPROXY_OUT_BIN="$DKIMPROXYDIR/bin/dkimproxy.out"
+
+PIDDIR=/var/run/dkimproxy
+DKIMPROXY_IN_PID=$PIDDIR/dkimproxy_in.pid
+DKIMPROXY_OUT_PID=$PIDDIR/dkimproxy_out.pid
+
+case "$1" in
+ start-in)
+ echo -n "Starting inbound DKIM-proxy (dkimproxy.in)..."
+
+ # create directory for pid files if necessary
+ test -d $PIDDIR || mkdir -p $PIDDIR || exit 1
+
+ # start the daemon
+ $DKIMPROXY_IN_BIN $DKIMPROXY_COMMON_ARGS --pidfile=$DKIMPROXY_IN_PID $DKIMPROXY_IN_ARGS
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ]; then
+ echo done.
+ else
+ echo failed.
+ exit $RETVAL
+ fi
+ ;;
+
+ start-out)
+ echo -n "Starting outbound DKIM-proxy (dkimproxy.out)..."
+
+ # create directory for pid files if necessary
+ test -d $PIDDIR || mkdir -p $PIDDIR || exit 1
+
+ # start the daemon
+ $DKIMPROXY_OUT_BIN $DKIMPROXY_COMMON_ARGS --pidfile=$DKIMPROXY_OUT_PID $DKIMPROXY_OUT_ARGS
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ]; then
+ echo done.
+ else
+ echo failed.
+ exit $RETVAL
+ fi
+ ;;
+
+ start)
+ test -f $DKIMPROXY_IN_CFG && $0 start-in || exit $?
+ test -f $DKIMPROXY_OUT_CFG && $0 start-out || exit $?
+ ;;
+
+ stop-in)
+ echo -n "Shutting down inbound DKIM-proxy (dkimproxy.in)..."
+ if [ -f $DKIMPROXY_IN_PID ]; then
+ kill `cat $DKIMPROXY_IN_PID` && rm -f $DKIMPROXY_IN_PID
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && echo done. || echo failed.
+ exit $RETVAL
+ else
+ echo not running.
+ fi
+ ;;
+
+ stop-out)
+ echo -n "Shutting down outbound DKIM-proxy (dkimproxy.out)..."
+ if [ -f $DKIMPROXY_OUT_PID ]; then
+ kill `cat $DKIMPROXY_OUT_PID` && rm -f $DKIMPROXY_OUT_PID
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && echo done. || echo failed.
+ exit $RETVAL
+ else
+ echo not running.
+ fi
+ ;;
+
+ stop)
+ test -f $DKIMPROXY_IN_CFG && $0 stop-in || exit $?
+ test -f $DKIMPROXY_OUT_CFG && $0 stop-out || exit $?
+ ;;
+
+ restart)
+ $0 stop && $0 start || exit $?
+ ;;
+
+ status-in)
+ echo -n "dkimproxy.in..."
+ if [ -f $DKIMPROXY_IN_PID ]; then
+ pid=`cat $DKIMPROXY_IN_PID`
+ if ps -ef |grep -v grep |grep -q "$pid"; then
+ echo " running (pid=$pid)"
+ else
+ echo " stopped (pid=$pid not found)"
+ fi
+ else
+ echo " stopped"
+ fi
+ ;;
+
+ status-out)
+ echo -n "dkimproxy.out..."
+ if [ -f $DKIMPROXY_OUT_PID ]; then
+ pid=`cat $DKIMPROXY_OUT_PID`
+ if ps -ef |grep -v grep |grep -q "$pid"; then
+ echo " running (pid=$pid)"
+ else
+ echo " stopped (pid=$pid not found)"
+ fi
+ else
+ echo " stopped"
+ fi
+ ;;
+
+ status)
+ test -f $DKIMPROXY_IN_CFG && $0 status-in || exit $?
+ test -f $DKIMPROXY_OUT_CFG && $0 status-out || exit $?
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status}"
+ exit 1
+ ;;
+esac