47 lines
981 B
Bash
Executable File
47 lines
981 B
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
#
|
|
# Copyright (C) 2016 Jian Chang <aa65535@live.com>
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v3.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
START=75
|
|
|
|
USE_PROCD=1
|
|
|
|
append_parm() {
|
|
local section="$1"
|
|
local option="$2"
|
|
local switch="$3"
|
|
local default="$4"
|
|
local _loctmp
|
|
config_get _loctmp "$section" "$option"
|
|
[ -n "$_loctmp" -o -n "$default" ] || return 0
|
|
procd_append_param command "$switch" "${_loctmp:-$default}"
|
|
}
|
|
|
|
start_instance() {
|
|
local enable
|
|
config_get_bool enable $1 enable
|
|
[ "$enable" = 1 ] || return 0
|
|
|
|
procd_open_instance
|
|
procd_set_param respawn
|
|
procd_set_param stderr 1
|
|
procd_set_param command /usr/bin/dns-forwarder
|
|
append_parm $1 listen_addr "-b"
|
|
append_parm $1 listen_port "-p"
|
|
append_parm $1 dns_servers "-s"
|
|
procd_close_instance
|
|
}
|
|
|
|
start_service() {
|
|
config_load dns-forwarder
|
|
config_foreach start_instance dns-forwarder
|
|
}
|
|
|
|
service_triggers() {
|
|
procd_add_reload_trigger "dns-forwarder"
|
|
}
|