make ez-ipupdate uci aware, Signed-off-by: David Bird <david@coova.com>
[openwrt/svn-archive/archive.git] / net / ez-ipupdate / files / ez-ipupdate.hotplug
1 NAME=ez-ipupdate
2 COMMAND=/usr/sbin/$NAME
3
4 case "$ACTION" in
5 ifup|ifdown)
6 cleanup() {
7 [ -e $1 ] && {
8 kill -9 $(cat $1)
9 rm $1
10 }
11 }
12
13 ddns() {
14 local cfg="$1"
15 config_get program $cfg program
16 [ "$program" = "$NAME" ] && {
17 config_get interface $cfg interface
18 [ "$interface" = "$INTERFACE" ] && {
19 config_get dev "$INTERFACE" ifname
20
21 config_get enabled $cfg enabled
22 enabled=${enabled:-1}
23
24 config_get pidfile $cfg pidfile
25 pidfile=${pidfile:-/var/run/$NAME-$dev.pid}
26
27 case "$ACTION" in
28 ifdown)
29 cleanup $pidfile
30 ;;
31 *)
32 case "$enabled" in
33 1|yes|true)
34 [ ! -e $pidfile ] && {
35 config_get cache $cfg cache
36 [ -z "$cache" ] && cache=/tmp/$NAME-$dev.cache
37
38 config_get config $cfg config
39 [ -z "$config" ] && {
40 config=/var/run/$NAME-$dev.conf
41 config_get service $cfg service
42 config_get username $cfg username
43 config_get password $cfg password
44 config_get hostname $cfg hostname
45 service=${service:-"dyndns"}
46 cat > $config <<EOF
47 service-type=$service
48 user=$username:$password
49 host=$hostname
50 cache-file=$cache
51 pid-file=$pidfile
52 interface=$dev
53 quiet
54 EOF
55 }
56
57 $COMMAND -d -c $config 2>&1 | logger -t $NAME &
58 }
59 ;;
60 *)
61 cleanup $pidfile
62 ;;
63 esac
64 esac
65 }
66 }
67 }
68
69
70 include /lib/network
71 scan_interfaces
72 config_load ddns
73
74 config_foreach ddns ddns
75 ;;
76 esac