ddns-scripts: cloudflare: use PATCH method, minimize changes
authorGedalya Nie <gedalya@gedalya.net>
Wed, 8 Jan 2025 21:58:02 +0000 (05:58 +0800)
committerFlorian Eckert <Eckert.Florian@googlemail.com>
Wed, 15 Jan 2025 07:49:24 +0000 (08:49 +0100)
Using the PUT method recreates the DNS record with and only with
the newly provided data. This seems unnecessary. In particular,
we don't need to hardcode a TTL of 120. Any existing comment
would be lost too.

The only detail we need to change is the IP address. Leave everything
else as it was.

Signed-off-by: Gedalya Nie <gedalya@gedalya.net>
net/ddns-scripts/Makefile
net/ddns-scripts/files/usr/lib/ddns/update_cloudflare_com_v4.sh

index ccbddd762415668abb4d6d383b1a49bb534a025a..55db7fb63578bcf7de1b56fe0e958d93a0473493 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ddns-scripts
 PKG_VERSION:=2.8.2
-PKG_RELEASE:=55
+PKG_RELEASE:=56
 
 PKG_LICENSE:=GPL-2.0
 
index 4fb3a0dd6b888f2a3102d4273f93a083cb5ce65b..f9f6876a1e5547e1af28e1e269543177b7ef2910 100644 (file)
@@ -27,9 +27,8 @@
 [ $use_https -eq 0 ] && use_https=1    # force HTTPS
 
 # used variables
-local __HOST __DOMAIN __TYPE __URLBASE __PRGBASE __RUNPROG __DATA __IPV6 __ZONEID __RECID __PROXIED
+local __HOST __DOMAIN __TYPE __URLBASE __PRGBASE __RUNPROG __DATA __IPV6 __ZONEID __RECID
 local __URLBASE="https://api.cloudflare.com/client/v4"
-local __TTL=120
 
 # split __HOST __DOMAIN from $domain
 # given data:
@@ -186,16 +185,14 @@ __DATA=$(grep -o '"content":\s*"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1)
 
 # update is needed
 # let's build data to send
-# set proxied parameter
-__PROXIED=$(grep -o '"proxied":\s*[^",]*' $DATFILE | grep -o '[^:]*$')
 
 # use file to work around " needed for json
 cat > $DATFILE << EOF
-{"id":"$__ZONEID","type":"$__TYPE","name":"$__HOST","content":"$__IP","ttl":$__TTL,"proxied":$__PROXIED}
+{"content":"$__IP"}
 EOF
 
 # let's complete transfer command
-__RUNPROG="$__PRGBASE --request PUT --data @$DATFILE '$__URLBASE/zones/$__ZONEID/dns_records/$__RECID'"
+__RUNPROG="$__PRGBASE --request PATCH --data @$DATFILE '$__URLBASE/zones/$__ZONEID/dns_records/$__RECID'"
 cloudflare_transfer || return 1
 
 return 0