define Package/updatedd/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/ddns.init $(1)/etc/init.d/ddns
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_DATA) ./files/ddns.config $(1)/etc/config/updatedd
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/bin/updatedd $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/lib/updatedd
--- /dev/null
+config updatedd
+ option ddns_service ''
+ option ddns_user ''
+ option ddns_passwd ''
+ option ddns_host ''
+ option ddns_update '0'
--- /dev/null
+NAME=updatedd
+CONFIG=/etc/$NAME.conf
+COMMAND=/usr/sbin/$NAME
+
+[ "$ACTION" = "ifup" -a "$INTERFACE" = "wan" ] && {
+ [ -x $COMMAND ] && [ -r $CONFIG ] && {
+ include /lib/network
+ scan_interfaces
+
+ config_get ifname wan ifname
+ [ -n "$ifname" ] && {
+ /etc/init.d/ddns restart
+ }
+ } &
+}
#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
+. /etc/functions.sh
+
+config_load updatedd
+config_get ddns_service cfg1 ddns_service
+config_get ddns_user cfg1 ddns_user
+config_get ddns_passwd cfg1 ddns_passwd
+config_get ddns_host cfg1 ddns_host
+config_get ddns_update cfg1 ddns_update
+
start() {
- [ -f /etc/default/ddns ] && . /etc/default/ddns
-
[ "$ddns_update" = 1 ] && {
/usr/bin/updatedd -Y $ddns_service -- $ddns_user:$ddns_passwd $ddns_host
}
stop() {
killall updatedd
}
+
+restart() {
+ stop
+ start
+}