#!/bin/sh /etc/rc.common
|
|
|
|
USE_PROCD=1
|
|
|
|
START=81
|
|
STOP=81
|
|
|
|
PROG=/usr/sbin/dawn
|
|
NAME=dawn
|
|
|
|
wait_for_network()
|
|
{
|
|
ubus -t 15 wait_for network.interface.$1 2>/dev/null
|
|
}
|
|
|
|
boot()
|
|
{
|
|
ubus -t 5 wait_for umdns 2>/dev/null
|
|
config_load network
|
|
config_foreach wait_for_network interface
|
|
rc_procd start_service
|
|
}
|
|
|
|
reload_service()
|
|
{
|
|
if service_running; then
|
|
ubus call dawn reload_config
|
|
else
|
|
start
|
|
fi
|
|
}
|
|
|
|
service_triggers()
|
|
{
|
|
procd_add_reload_trigger "dawn"
|
|
}
|
|
|
|
start_service()
|
|
{
|
|
local _tcp_buffer
|
|
local _network_option
|
|
|
|
config_load dawn
|
|
load_tcp_config() {
|
|
config_get _tcp_buffer "$1" tcp_port
|
|
config_get _network_option "$1" network_option
|
|
}
|
|
config_foreach load_tcp_config network
|
|
|
|
touch /tmp/dawn_mac_list
|
|
|
|
echo "Starting Service..."
|
|
procd_open_instance
|
|
procd_set_param command $PROG
|
|
|
|
procd_set_param respawn 3600 15 0
|
|
|
|
procd_set_param stdout 0 # here it is possible to remove the debug output...
|
|
procd_set_param stderr 1
|
|
if [ ${_network_option} -eq 2 ]; then
|
|
procd_add_mdns "dawn" "tcp" "${_tcp_buffer}"
|
|
echo "UMDNS with port ${_tcp_buffer}"
|
|
fi
|
|
procd_close_instance
|
|
echo "Dawn instance started!"
|
|
}
|
|
|