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' \
30 'notify_script:file' \
37 echo "validation failed"
41 [ "${enable}" = 0 ] && return 1
43 procd_open_instance
"$1"
44 procd_set_param
command "$PROG" \
45 ${interval:+-k "$interval"} \
46 ${stun_server:+-s "$stun_server"} \
47 ${http_server:+-h "$http_server"} \
50 [ "${family}" = ipv4
] && procd_append_param
command -4
51 [ "${family}" = ipv6
] && procd_append_param
command -6
52 [ "${udp_mode}" = 1 ] && procd_append_param
command -u
54 [ -n "${interface}" ] && {
57 network_get_device ifname
"$interface" || ifname
="$interface"
58 procd_append_param
command -i "$ifname"
59 procd_append_param netdev
"$ifname"
62 [ -n "${forward_target}" ] && procd_append_param
command -t "$forward_target" -p "$forward_port"
64 [ -n "${notify_script}" ] && procd_set_param env
"NOTIFY_SCRIPT=${notify_script}"
65 procd_append_param
command -e /usr
/lib
/natmap
/update.sh
67 procd_set_param respawn
68 procd_set_param stdout
"${log_stdout}"
69 procd_set_param stderr
"${log_stderr}"
74 clear_status_files
() {
75 find "${STATUS_PATH}" -type f
-print0 |
xargs -0 rm -f --
81 procd_add_reload_trigger
"${NAME}"
84 config_foreach load_interfaces natmap
86 [ -n "${interfaces}" ] && {
87 for n
in $interfaces ; do
88 procd_add_reload_interface_trigger
$n
92 procd_add_validation validate_section_natmap
96 .
/lib
/functions
/network.sh
98 mkdir
-p "${STATUS_PATH}"
101 config_load
"${NAME}"
102 config_foreach validate_section_natmap natmap natmap_instance