#! /bin/sh

# /etc/init.d/thttpd - thttpd's init script.
# Written by Yotam Rubin <yotam@makif.omer.k12.il>

set -e

INIT=/etc/init.d/thttpd
CONFFILE=/etc/thttpd/thttpd.conf

if [ ! -f $CONFFILE ]; then
    exit 1
fi

NETSTAT=/bin/netstat
DAEMON=/usr/sbin/thttpd
NAME=thttpd
PIDFILE=/var/run/thttpd.pid
PORT=`grep port= $CONFFILE | sed 's/port=//'`

test -x $DAEMON || exit 0

case "$1" in
  start)
    echo -n "Starting web server: "
    EXP="`$NETSTAT -plunt | awk '{print $4}' | \
	  grep -w \"\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}:$PORT\" || true`"
    
    if [ -n "$EXP" ]; then
	echo "$DAEMON already running."
    else
	$DAEMON -C $CONFFILE -i $PIDFILE
	echo "$NAME. "
    fi
	
    ;;
  stop)
    echo -n "Stopping web server: "
    if [ -f $PIDFILE ]; then
	kill -SIGUSR1 `cat $PIDFILE` > /dev/null 2>&1
	echo "$NAME"
	rm -f $PIDFILE
    else
	echo "No $DAEMON found running; none killed."
    fi
      ;;
  force-stop)
    echo -n "Terminating web server: "
    if [ -f $PIDFILE ]; then
	kill `cat $PIDFILE` > /dev/null 2>&1
	echo "$NAME"
	rm -f $PIDFILE
    else
	echo "No $DAEMON found running; none killed."
    fi
      ;;
  restart)
    echo -n "Restarting web server: "
    $INIT stop > /dev/null 2>&1
    $INIT start > /dev/null 2>&1
    echo "$NAME. "
    ;;
  force-reload)
   echo -n "Reloading thttpd configuration files: "
    $INIT stop > /dev/null 2>&1
    $INIT start > /dev/null 2>&1
    echo "$NAME. "
    ;;
  *)
    echo "Usage: /etc/init.d/$NAME {force-reload|start|stop|restart|force-stop}"
    exit 1
    ;;
esac

exit 0
