1 #!/bin/sh /etc/rc.common
9 STATUS_PATH
=/var
/run
/natmap
12 config_get interface
"$1" interface
13 config_get
enable "$1" enable 1
15 [ "${enable}" = "1" ] && interfaces=" ${interface} ${interfaces}"
18 validate_section_natmap
() {
19 uci_load_validate
"${NAME}" natmap
"$1" "$2" \
28 'forward_target:host' \
35 echo "validation failed"
39 [ "${enable}" = 0 ] && return 1
41 procd_open_instance
"$1"
42 procd_set_param
command "$PROG" \
43 ${interval:+-k "$interval"} \
44 ${stun_server:+-s "$stun_server"} \
45 ${http_server:+-h "$http_server"} \
48 [ "${family}" = ipv4
] && procd_append_param
command -4
49 [ "${family}" = ipv6
] && procd_append_param
command -6
50 [ "${udp_mode}" = 1 ] && procd_append_param
command -u
52 [ -n "${interface}" ] && {
55 network_get_device ifname
"$interface" || ifname
="$interface"
56 procd_append_param
command -i "$ifname"
57 procd_append_param netdev
"$ifname"
60 [ -n "${forward_target}" ] && procd_append_param
command -t "$forward_target" -p "$forward_port"
62 [ -n "${notify_script}" ] && procd_set_param env
"NOTIFY_SCRIPT=${notify_script}"
63 procd_append_param
command -e /usr
/lib
/natmap
/update.sh
65 procd_set_param respawn
66 procd_set_param stdout
1
67 procd_set_param stderr
1
72 clear_status_files
() {
73 find "${STATUS_PATH}" -type f
-print0 |
xargs -0 rm -f --
79 procd_add_reload_trigger
"${NAME}"
82 config_foreach load_interfaces natmap
84 [ -n "${interfaces}" ] && {
85 for n
in $interfaces ; do
86 procd_add_reload_interface_trigger
$n
90 procd_add_validation validate_section_natmap
94 .
/lib
/functions
/network.sh
96 mkdir
-p "${STATUS_PATH}"
100 config_foreach validate_section_natmap natmap natmap_instance