#!/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!" }