ddns-scripts: get l3 device for bind network using curl
authorCoia Prant <coiaprant@gmail.com>
Wed, 15 Jan 2025 16:21:53 +0000 (16:21 +0000)
committerFlorian Eckert <Eckert.Florian@googlemail.com>
Fri, 24 Jan 2025 11:57:45 +0000 (12:57 +0100)
If pppoe is used for wan access. script set 'eth1' as interface for curl
call. The correct interface is however 'pppoe-wan'.

These scripts use 'network_get_physdev' function to get real device for
bind_network but this is wrong. We need instead the l3_device of the the
logical interface.

In case if we don't use pppoe connection - 'l3_device' is equal to real device.

Follow P/R:
 #14431

Signed-off-by: Coia Prant <coiaprant@gmail.com>
net/ddns-scripts/Makefile
net/ddns-scripts/files/usr/lib/ddns/update_cloudflare_com_v4.sh
net/ddns-scripts/files/usr/lib/ddns/update_dnspod_cn.sh
net/ddns-scripts/files/usr/lib/ddns/update_dnspod_cn_v3.sh
net/ddns-scripts/files/usr/lib/ddns/update_godaddy_com_v1.sh
net/ddns-scripts/files/usr/lib/ddns/update_luadns_v1.sh

index feaf8db150469c0cdf52168c5367fe362689660d..3fd99644e85b3cf9a91413f4318c5a02fc600589 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ddns-scripts
 PKG_VERSION:=2.8.2
-PKG_RELEASE:=58
+PKG_RELEASE:=59
 
 PKG_LICENSE:=GPL-2.0
 
index f9f6876a1e5547e1af28e1e269543177b7ef2910..868296ed5ff8dd68bb35b678e2227c49e0d97495 100644 (file)
@@ -96,8 +96,8 @@ __PRGBASE="$CURL -RsS -o $DATFILE --stderr $ERRFILE"
 # force network/interface-device to use for communication
 if [ -n "$bind_network" ]; then
        local __DEVICE
-       network_get_physdev __DEVICE $bind_network || \
-               write_log 13 "Can not detect local device using 'network_get_physdev $bind_network' - Error: '$?'"
+       network_get_device __DEVICE $bind_network || \
+               write_log 13 "Can not detect local device using 'network_get_device $bind_network' - Error: '$?'"
        write_log 7 "Force communication via device '$__DEVICE'"
        __PRGBASE="$__PRGBASE --interface $__DEVICE"
 fi
index 2091be132b2f5deb32f51d91c8acb4c748306a33..37c1fcc93a41add9916c4980052f14c06536979f 100755 (executable)
@@ -28,7 +28,7 @@ build_command() {
        # bind host/IP
        if [ -n "$bind_network" ]; then
                local __DEVICE
-               network_get_physdev __DEVICE $bind_network || write_log 13 "Can not detect local device using 'network_get_physdev $bind_network' - Error: '$?'"
+               network_get_device __DEVICE $bind_network || write_log 13 "Can not detect local device using 'network_get_device $bind_network' - Error: '$?'"
                write_log 7 "Force communication via device '$__DEVICE'"
                __CMDBASE="$__CMDBASE --interface $__DEVICE"
        fi
index 194be28e3032e056c8dd9ee41d0a431ad4186fc8..74b0af6398d7cc49461beaafbad67890f2744a4c 100644 (file)
@@ -120,8 +120,8 @@ tencentcloud_transfer() {
 # force network/interface-device to use for communication
 if [ -n "$bind_network" ]; then
        local __DEVICE
-       network_get_physdev __DEVICE $bind_network ||
-               write_log 13 "Can not detect local device using 'network_get_physdev $bind_network' - Error: '$?'"
+       network_get_device __DEVICE $bind_network ||
+               write_log 13 "Can not detect local device using 'network_get_device $bind_network' - Error: '$?'"
        write_log 7 "Force communication via device '$__DEVICE'"
        __PRGBASE="$__PRGBASE --interface $__DEVICE"
 fi
index b8d527ca671fc92fa810050fc53432e6a4b625d9..d733755a2b582ed7a902816a1a2f1dd2743cb8d0 100644 (file)
@@ -93,8 +93,8 @@ __PRGBASE="$CURL -RsS -w '%{http_code}' -o $DATFILE --stderr $ERRFILE"
 # force network/interface-device to use for communication
 if [ -n "$bind_network" ]; then
        local __DEVICE
-       network_get_physdev __DEVICE $bind_network || \
-               write_log 13 "Can not detect local device using 'network_get_physdev $bind_network' - Error: '$?'"
+       network_get_device __DEVICE $bind_network || \
+               write_log 13 "Can not detect local device using 'network_get_device $bind_network' - Error: '$?'"
        write_log 7 "Force communication via device '$__DEVICE'"
        __PRGBASE="$__PRGBASE --interface $__DEVICE"
 fi
index 5d7954e12543d4dfa7d17dfe5b9ec3f7e330d5b7..bb2d45d53595f530368479ce24ee5016ea8fb424 100644 (file)
@@ -76,8 +76,8 @@ __PRGBASE="$CURL -RsS -w '%{http_code}' -o $DATFILE --stderr $ERRFILE"
 # force network/interface-device to use for communication
 if [ -n "$bind_network" ]; then
        local __DEVICE
-       network_get_physdev __DEVICE $bind_network || \
-               write_log 13 "Can not detect local device using 'network_get_physdev $bind_network' - Error: '$?'"
+       network_get_device __DEVICE $bind_network || \
+               write_log 13 "Can not detect local device using 'network_get_device $bind_network' - Error: '$?'"
        write_log 7 "Force communication via device '$__DEVICE'"
        __PRGBASE="$__PRGBASE --interface $__DEVICE"
 fi