#!/bin/sh
#
# Startup script for the SSDP server
#
# chkconfig: - 49 50
# description: This script starts your SSDP server
# processname: minissdpd
# pidfile: /var/run/minissdpd.pid

# Setting this env variable to skip systemctl
SYSTEMCTL_SKIP_REDIRECT=1

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

NS="default"

minissdpd=/usr/sbin/minissdpd
[ -f $minissdpd ] || exit 0

pidfile="/var/run/minissdpd.pid"
lockfile="/var/lock/subsys/minissdpd"
configfile="/etc/minissdp.conf"

if [ "$NS" != "default" ]; then
        minissdpd="ip netns exec ${NS} /usr/sbin/minissdpd"
        pidfile="/var/run/minissdpd_${NS}.pid"
        lockfile="/var/lock/subsys/minissdpd_${NS}"
        configfile="/etc/minissdp_${NS}.conf"
fi

RETVAL=0

OPTIONS=""
while read L  ; do
        if [[ $L =~ ^#.* ]]; then
                continue
        fi
        if [ ! -z "$L" -a "$L" != " " ]; then
                OPTIONS="$OPTIONS ${L}"
        fi
done <${configfile}

OPTIONS="$OPTIONS -p ${pidfile}"

# See how we were called.
case "$1" in
  start)
        echo -n "Starting minissdpd: "
        daemon $minissdpd $OPTIONS
        RETVAL=$?
        if [[ $RETVAL -ne 0 ]] && [ "$NS" != "default" ]; then
           if ps -p $(cat ${pidfile}) > /dev/null 2>&1
           then
              RETVAL=0
           fi
        fi
        echo
        [ $RETVAL -eq 0 ] && touch ${lockfile}
        ;;
  stop)
        echo -n "Shutting down minissdpd: "
        killproc -p ${pidfile} ${minissdpd}
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f ${lockfile}
        ;;
  status)
        status minissdpd
        RETVAL=$?
        ;;
  reload)
        echo -n "Reloading minissdpd: "
        killproc -p ${pidfile} ${minissdpd} -HUP
        RETVAL=$?
        echo
        ;;
  restart)
        $0 stop
        $0 start
        RETVAL=$?
        ;;
  condrestart)
            if test "x`pidfileofproc minissdpd`" != x; then
                $0 stop
                $0 start
                RETVAL=$?
            fi
            ;;
  *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

exit $RETVAL

