#!/bin/sh 

# Start the wzdftpd FTP daemon.

PREFIX=@e_prefix@

PATH=$PREFIX/sbin:/bin:/usr/bin:/sbin:/usr/sbin
LD_LIBRARY_PATH=$PREFIX/lib
DAEMON=$PREFIX/sbin/wzdftpd
NAME=wzdftpd

CONFIG=@e_sysconfdir@/wzd.cfg

# Defaults
RUN="yes"
OPTIONS="-f $CONFIG"

PIDFILE=`grep 'pid_file' $CONFIG | sed -e 's/pid_file[ \t]\+=[ \t]\+//'`
if [ "x$PIDFILE" = "x" ];
then
	PIDFILE=/var/run/wzdftpd.pid
fi

## Read config (will override defaults)
#[ -r /etc/default/proftpd ] && . /etc/default/proftpd

trap "" 1
trap "" 15

test -f $DAEMON || exit 0

#if ! egrep -q "^[[:space:]]*ServerType.*standalone" /etc/proftpd.conf
#then
#    RUN="no"
#    INETD="yes"
#fi

start()
{
    if start-stop-daemon --start --quiet --pidfile "$PIDFILE" \
        --exec $DAEMON -- $OPTIONS ; then
        echo "$NAME."
    else
        echo "."
    fi
}

signal()
{
    if [ "$1" = "stop" ]; then
	SIGNAL="TERM"
    else
	if [ "$1" = "reload" ]; then
	    SIGNAL="HUP"
	else
	    echo "ERR: wrong parameter given to signal()"
	fi
    fi
    if start-stop-daemon --stop --signal $SIGNAL --quiet --pidfile "$PIDFILE"; then
        echo "$NAME."
    else
	SIGNAL="KILL"
	if start-stop-daemon --stop --signal $SIGNAL --quiet --pidfile "$PIDFILE"; then
		echo "$NAME."
	else
        	echo "."
	fi
    fi
    if [ "$SIGNAL" = "KILL" ]; then
	    rm -f "$PIDFILE"
    fi
}

case "$1" in
    start)
	if [ "x$RUN" = "xyes" ] ; then
	    echo -n "Starting wzdftpd ftp daemon: "
	    start
	else
	    if [ "x$INETD" = "xyes" ] ; then
		echo "wzdftpd is started from inetd."
	    fi
	fi
	;;

    force-start)
	if [ "x$INETD" = "xyes" ] ; then
	    echo "Warning: wzdftpd is started from inetd (trying to start anyway)."
	fi
	echo -n "Starting wzdftpd ftp daemon: "
	start
	;;	
    
    stop)
	if [ "x$RUN" = "xyes" ] ; then
	    echo -n "Stopping wzdftpd ftp daemon: "
	    signal stop
	else
	    if [ "x$INETD" = "xyes" ] ; then
		echo "wzdftpd is started from inetd."
	    fi
	fi
	;;

    force-stop)
	if [ "x$INETD" = "xyes" ] ; then
	    echo "Warning: wzdftpd is started from inetd (trying to kill anyway)."
	fi
	echo -n "Stopping wzdftpd ftp daemon: "
	signal stop
	;;

    clean)
	echo -n "Cleaning up previous $NAME session..."
	$DAEMON -f $CONFIG -d
	echo " done."
	;;

    reload)
	echo -n "Reloading $NAME configuration..."
	signal reload
	echo " done."
	;;

    force-reload|restart)
	if [ "x$RUN" = "xyes" ] ; then
	    echo -n "Restarting wzdftpd ftp daemon."
	    signal stop
	    echo -n "."
	    sleep 2
	    echo -n "."
	    start
	    echo " done."
	else
	    if [ "x$INETD" = "xyes" ] ; then
		echo "wzdftpd is started from inetd."
	    fi
	fi
	;;

    *)
	echo "Usage: /etc/init.d/$NAME {start|force-start|stop|force-stop|clean|reload|restart|force-reload}"
	exit 1
	;;
esac

exit 0
