1#!/bin/sh /etc/rc.common
2START=60
3
4DDNS_STATUS=/tmp/ez-ipupd.status
5DDNS_CONF=/tmp/ez-ipupd.conf
6
7
8print_ddns_conf(){
9cat <<EOF
10#!/usr/sbin/ez-ipupdate -c
11service-type=dyndns
12user=$1:$2
13host=$3
14interface=$4
15max-interval=86400
16resolv-period=30
17period=10
18retrys=6
19pid-file=/tmp/ddnspid
20daemon
21EOF
22}
23
24ddns_start() {
25	local start_flag wl_radio wds_repeater_basic wds_endis_fun
26
27	echo -n "0" > $DDNS_STATUS
28
29	wl_radio=$($CONFIG get endis_wl_radio)
30	wds_repeater_basic=$($CONFIG get wds_repeater_basic)
31	wds_endis_fun=$($CONFIG get wds_endis_fun)
32	
33	if [ "$wl_radio" = "1" -a "$wds_repeater_basic" = "0" -a "$wds_endis_fun" = "1" ]; then
34		exit
35	fi
36
37	[ "$($CONFIG get endis_ddns)" != "1" ] && exit
38		
39	print_ddns_conf "$($CONFIG get sysDNSUser)" "$($CONFIG get sysDNSPassword)" "$($CONFIG get sysDNSHost)" "$(get_wan_ifname)" > $DDNS_CONF
40
41	if [ "$($CONFIG get endis_wildcards)" = "1" ]; then
42		/usr/sbin/ez-ipupdate -w wildcard -c $DDNS_CONF
43	else
44		/usr/sbin/ez-ipupdate -c $DDNS_CONF
45	fi
46}
47
48boot() {
49	ddns_start
50}
51
52ddns_stop(){
53	kill -9 $(cat /tmp/ddnspid)
54}
55
56restart(){
57	ddns_stop
58	ddns_start
59}
60