#!/bin/sh
# /etc/init.d/dropbear : Start, stop and restart SSH server, at
# boot time or with the command line.
PKGPATH=/apps/dropbear
NAME=Dropbear
DESC="SSH server"
DAEMON="$PKGPATH"/bin/dropbear
PIDFILE="/var/run/dropbear.pid"
OPTIONS="-b $PKGPATH/banner/banner -r "$PKGPATH"/etc/dropbear/dropbear_rsa_host_key -d "$PKGPATH"/etc/dropbear/dropbear_dss_host_key -P $PIDFILE"


case "$1" in
  start)
    # We need rsa and dss host key file to start dropbear.
    if [ ! -f "$PKGPATH"/etc/dropbear/dropbear_rsa_host_key ] ; then
      echo "Generating $NAME rsa key... "
      "$PKGPATH"/bin/dropbearkey -t rsa -f "$PKGPATH"/etc/dropbear/dropbear_rsa_host_key
    fi
    if [ ! -f "$PKGPATH"/etc/dropbear/dropbear_dss_host_key ] ; then
      echo "Generating $NAME dss key... "
      "$PKGPATH"/bin/dropbearkey -t dss -f "$PKGPATH"/etc/dropbear/dropbear_dss_host_key
    fi
    if [ -f $PIDFILE ] ; then
      echo "$NAME already running."
      exit 1
    fi
    
    if /apps/dropbear/bin/dropbear "$OPTIONS"; then
	 echo "Starting $DESC: $NAME... "
    else
	 echo "Error starting dropbear"
    fi
    ;;
  stop)
    if [ ! -f $PIDFILE ] ; then
      echo "$NAME is not running."
      exit 1
    fi
    echo "Stopping $DESC: $NAME... "
    kill `cat $PIDFILE`
    ;;
  restart)
    if [ ! -f $PIDFILE ] ; then
      echo "$NAME is not running."
      exit 1
    fi
    echo "Restarting $DESC: $NAME... "
    kill `cat $PIDFILE`
    sleep 2
    /apps/dropbear/bin/dropbear "$OPTIONS"
    ;;
  status)
    if [ -f $PIDFILE ]; then
	echo "$NAME is running."
	exit 0
    else
    	echo "$NAME not running."
    	exit 1
    fi
  ;;
  *)
    echo ""
    echo -e "\033[1mUsage:\033[0m /etc/init.d/`basename $0` [start|stop|restart|status]"
    echo ""
    exit 1
    ;;
esac

exit 0
