| #! /bin/sh |
| ### BEGIN INIT INFO |
| # Provides: danted-authenticating |
| # Required-Start: $remote_fs $syslog |
| # Required-Stop: $remote_fs $syslog |
| # Default-Start: 2 3 4 5 |
| # Default-Stop: 0 1 6 |
| # Short-Description: SOCKS (v4 and v5) proxy daemon (danted) |
| ### END INIT INFO |
| # |
| # dante SOCKS server init.d file. Based on /etc/init.d/skeleton: |
| # Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl |
| |
| PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
| DAEMON=/usr/sbin/danted |
| NAME=danted-authenticating |
| DESC="Dante SOCKS daemon" |
| PIDFILE=/var/run/$NAME.pid |
| CONFFILE=/etc/$NAME.conf |
| DANTED_ARGS="-D -f $CONFFILE" |
| |
| test -f $DAEMON || exit 0 |
| |
| set -e |
| |
| # This function makes sure that the Dante server can write to the pid-file. |
| touch_pidfile () |
| { |
| if [ -r $CONFFILE ]; then |
| uid="`sed -n -e 's/[[:space:]]//g' -e 's/#.*//' -e '/^user\.privileged/{s/[^:]*://p;q;}' \ |
| $CONFFILE`" |
| if [ -n "$uid" ]; then |
| touch $PIDFILE |
| chown $uid $PIDFILE |
| fi |
| fi |
| } |
| |
| . /lib/lsb/init-functions |
| |
| case "$1" in |
| start) |
| if ! egrep -cve '^ *(#|$)' \ |
| -e '^(logoutput|user\.((not)?privileged|libwrap)):' $CONFFILE > /dev/null |
| then |
| echo "Not starting $DESC: not configured." |
| exit 0 |
| fi |
| echo -n "Starting $DESC: " |
| touch_pidfile |
| start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE \ |
| --exec $DAEMON -- $DANTED_ARGS |
| echo "$NAME." |
| ;; |
| stop) |
| echo -n "Stopping $DESC: " |
| start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON |
| echo "$NAME." |
| ;; |
| reload|force-reload) |
| # |
| # If the daemon can reload its config files on the fly |
| # for example by sending it SIGHUP, do it here. |
| # |
| # If the daemon responds to changes in its config file |
| # directly anyway, make this a do-nothing entry. |
| # |
| echo "Reloading $DESC configuration files." |
| start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE \ |
| --exec $DAEMON -- $DANTED_ARGS |
| ;; |
| restart) |
| # |
| # If the "reload" option is implemented, move the "force-reload" |
| # option to the "reload" entry above. If not, "force-reload" is |
| # just the same as "restart". |
| # |
| echo -n "Restarting $DESC: " |
| start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON |
| sleep 1 |
| touch_pidfile |
| start-stop-daemon --start --quiet --pidfile $PIDFILE \ |
| --exec $DAEMON -- $DANTED_ARGS |
| echo "$NAME." |
| ;; |
| status) |
| status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? |
| ;; |
| *) |
| N=/etc/init.d/$NAME |
| # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
| echo "Usage: $N {start|stop|restart|force-reload}" >&2 |
| exit 1 |
| ;; |
| esac |
| |
| exit 0 |