From: Florian Eckert Date: Fri, 18 Sep 2020 08:59:31 +0000 (+0200) Subject: ddns-scripts: update freedns.42.pl to json X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=a4b13ba1dd3d79df923ae27d616f97051ac7d9f1;p=feed%2Fpackages.git ddns-scripts: update freedns.42.pl to json Signed-off-by: Florian Eckert --- diff --git a/net/ddns-scripts/Makefile b/net/ddns-scripts/Makefile index c0284f61d8..11e14032b6 100755 --- a/net/ddns-scripts/Makefile +++ b/net/ddns-scripts/Makefile @@ -280,15 +280,17 @@ endef define Package/ddns-scripts_freedns_42_pl/install $(INSTALL_DIR) $(1)/etc/uci-defaults $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_freedns_42_pl + $(INSTALL_DIR) $(1)/usr/lib/ddns - $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_freedns_42_pl.sh $(1)/usr/lib/ddns + $(INSTALL_BIN) ./files/usr/lib/ddns/update_freedns_42_pl.sh \ + $(1)/usr/lib/ddns + + $(INSTALL_DIR) $(1)/usr/share/ddns/services + $(INSTALL_DATA) ./files/usr/share/ddns/services/freedns.42.pl.json \ + $(1)/usr/share/ddns/services endef define Package/ddns-scripts_freedns_42_pl/postinst #!/bin/sh - # remove old services file entries - /bin/sed -i '/freedns\.42\.pl/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1 - # and create new - printf "%s\\t%s\\n" '"freedns.42.pl"' '"update_freedns_42_pl.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services # on real system restart service if enabled [ -z "$${IPKG_INSTROOT}" ] && { [ -x /etc/uci-defaults/ddns_freedns_42_pl ] && \ @@ -303,8 +305,6 @@ define Package/ddns-scripts_freedns_42_pl/prerm #!/bin/sh # if NOT run buildroot then stop service [ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop >/dev/null 2>&1 - # remove services file entries - /bin/sed -i '/freedns\.42\.pl/d' $${IPKG_INSTROOT}/etc/ddns/services >/dev/null 2>&1 exit 0 # suppress errors endef diff --git a/net/ddns-scripts/files/update_freedns_42_pl.sh b/net/ddns-scripts/files/update_freedns_42_pl.sh deleted file mode 100755 index f0e91972ab..0000000000 --- a/net/ddns-scripts/files/update_freedns_42_pl.sh +++ /dev/null @@ -1,17 +0,0 @@ -#.Distributed under the terms of the GNU General Public License (GPL) version 2.0 -#.2018 Michal Lipka -local __DUMMY -local __URL="https://freedns.42.pl/xmlrpc.php" -[ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing 'username'" -[ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing 'password'" -[ $ip_dynamic -eq 1 ] && __IP='\<dynamic\>' -PROG="$(command -v curl) -sk" -write_log 7 "sending update to freedns.42.pl with ip $__IP" -XMLDATA="xname.updateArecordname[RECORDNAME]zone[ZONENAME]oldaddress*updatereverse0user[USERNAME]ttl600newaddress[IP]password[PASSWORD]" -XMLDATA=$(echo $XMLDATA | sed -e "s#\[USERNAME\]#$URL_USER#g" -e "s#\[PASSWORD\]#$URL_PASS#g" \ --e "s#\[ZONENAME\]#$zone#g" -e "s#\[RECORDNAME\]#$record#g" -e "s#\[IP\]#$__IP#g") -$PROG -d "$XMLDATA" -o $DATFILE $__URL || return 1 -write_log 7 "'freedns.42.pl' answered:${N}$(cat $DATFILE)" -grep "" $DATFILE > /dev/null 2>&1 && return 1 -grep 'serial' $DATFILE >/dev/null 2>&1 -return $? diff --git a/net/ddns-scripts/files/usr/lib/ddns/update_freedns_42_pl.sh b/net/ddns-scripts/files/usr/lib/ddns/update_freedns_42_pl.sh new file mode 100644 index 0000000000..f0e91972ab --- /dev/null +++ b/net/ddns-scripts/files/usr/lib/ddns/update_freedns_42_pl.sh @@ -0,0 +1,17 @@ +#.Distributed under the terms of the GNU General Public License (GPL) version 2.0 +#.2018 Michal Lipka +local __DUMMY +local __URL="https://freedns.42.pl/xmlrpc.php" +[ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing 'username'" +[ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing 'password'" +[ $ip_dynamic -eq 1 ] && __IP='\<dynamic\>' +PROG="$(command -v curl) -sk" +write_log 7 "sending update to freedns.42.pl with ip $__IP" +XMLDATA="xname.updateArecordname[RECORDNAME]zone[ZONENAME]oldaddress*updatereverse0user[USERNAME]ttl600newaddress[IP]password[PASSWORD]" +XMLDATA=$(echo $XMLDATA | sed -e "s#\[USERNAME\]#$URL_USER#g" -e "s#\[PASSWORD\]#$URL_PASS#g" \ +-e "s#\[ZONENAME\]#$zone#g" -e "s#\[RECORDNAME\]#$record#g" -e "s#\[IP\]#$__IP#g") +$PROG -d "$XMLDATA" -o $DATFILE $__URL || return 1 +write_log 7 "'freedns.42.pl' answered:${N}$(cat $DATFILE)" +grep "" $DATFILE > /dev/null 2>&1 && return 1 +grep 'serial' $DATFILE >/dev/null 2>&1 +return $? diff --git a/net/ddns-scripts/files/usr/share/ddns/services/freedns.42.pl.json b/net/ddns-scripts/files/usr/share/ddns/services/freedns.42.pl.json new file mode 100644 index 0000000000..c04dc1dd42 --- /dev/null +++ b/net/ddns-scripts/files/usr/share/ddns/services/freedns.42.pl.json @@ -0,0 +1,6 @@ +{ + "name": "freedns.42.pl", + "ipv4": { + "url": "update_freedns_42_pl.sh" + } +}