Add original scripts
This commit is contained in:
95
upnpd.sh
Executable file
95
upnpd.sh
Executable file
@@ -0,0 +1,95 @@
|
||||
#!/bin/sh
|
||||
PATH=/bin:/sbin:/usr/bin:/usr/sbin
|
||||
|
||||
UPNPD="/sbin/upnpd"
|
||||
BOND_SUP=`/sbin/getcfg "Network" "BONDING Support" -d "FALSE"`
|
||||
ADV_BOND_SUP=`/sbin/getcfg "Network" "Advanced Bonding Support" -d "FALSE"`
|
||||
ETH0STATUS=`/bin/cat /sys/class/net/eth0/operstate 2>>/dev/null`
|
||||
ETH1STATUS=`/bin/cat /sys/class/net/eth1/operstate 2>>/dev/null`
|
||||
EXTIFACE="eth0"
|
||||
INTIFACE="eth0"
|
||||
ALLOW_MULTICAST="FALSE"
|
||||
RETVAL=0
|
||||
IS_GATEWAY_EXIT=0
|
||||
|
||||
if [ "$BOND_SUP" = "TRUE" ]; then
|
||||
EXTIFACE="bond0"
|
||||
INTIFACE="bond0"
|
||||
else
|
||||
if [ "$ETH0STATUS" = "up" ]; then
|
||||
EXTIFACE="eth0"
|
||||
INTIFACE="eth0"
|
||||
else
|
||||
if [ "$ETH1STATUS" = "up" ]; then
|
||||
EXTIFACE="eth1"
|
||||
INTIFACE="eth1"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "x$ADV_BOND_SUP" = "xTRUE" ]; then
|
||||
EXTIFACE=`/sbin/getcfg "Network" "Default GW Device" -d "eth0"`
|
||||
INTIFACE=$EXTIFACE
|
||||
fi
|
||||
|
||||
ckeck_gateway_is_exit()
|
||||
{
|
||||
/bin/ip route | /bin/grep "^default" > /tmp/nasroute.org
|
||||
|
||||
while read LINE
|
||||
do
|
||||
interface=`/bin/echo $LINE | /bin/cut -d ' ' -f 5`
|
||||
gateway=`/bin/echo $LINE | /bin/cut -d ' ' -f 3`
|
||||
if [ x"${interface}" = x"${INTIFACE}" ] ; then
|
||||
/bin/echo " get $interface gateway = $gateway"
|
||||
/bin/ping -q -c 3 $gateway 1>>/dev/null 2>>/dev/null
|
||||
[ $? = 0 ] && IS_GATEWAY_EXIT=1
|
||||
break;
|
||||
fi
|
||||
done < /tmp/nasroute.org
|
||||
/bin/rm -f /tmp/nasroute.org 2>>/dev/null
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
[ `/sbin/getcfg "UPnP Service" "Enable" -d TRUE` = "FALSE" ] && exit 1
|
||||
[ -f "$UPNPD" ] || exit 1
|
||||
if [ -f /var/lock/subsys/upnpd ]; then
|
||||
/bin/echo "upnpd service seems already be running"
|
||||
exit 1
|
||||
fi
|
||||
echo -n "Starting upnpd:"
|
||||
ckeck_gateway_is_exit
|
||||
if [ $IS_GATEWAY_EXIT = 0 ];then
|
||||
/bin/echo "Gateway failed. UPnP Discovery Service stopped."
|
||||
#/sbin/write_log "[Network Service Discovery] Gateway failed. UPnP Discovery Service stopped." 2
|
||||
exit 1
|
||||
fi
|
||||
[ "$ALLOW_MULTICAST" = "TRUE" ] && route add -net 239.0.0.0 netmask 255.0.0.0 $INTIFACE
|
||||
/sbin/gen_upnp_desc
|
||||
[ $? != 0 ] && exit 1
|
||||
/sbin/daemon_mgr upnpd start "$UPNPD $EXTIFACE $INTIFACE"
|
||||
RETVAL=$?
|
||||
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/upnpd
|
||||
echo "."
|
||||
;;
|
||||
stop)
|
||||
echo -n "Shutting down upnpd services:"
|
||||
/sbin/daemon_mgr upnpd stop "$UPNPD $EXTIFACE $INTIFACE"
|
||||
/bin/sleep 5
|
||||
/sbin/pidof upnpd
|
||||
[ $? = 0 ] && /bin/kill `/sbin/pidof upnpd`
|
||||
/bin/rm -f /var/lock/subsys/upnpd
|
||||
echo "."
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
/bin/sleep 5
|
||||
$0 start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: /etc/init.d/upnpd.sh {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
||||
Reference in New Issue
Block a user