luci-app-ddns: no implicit interface when ip_source=interface
authorGuoxin Pu <[email protected]>
Thu, 5 Jun 2025 10:40:00 +0000 (18:40 +0800)
committerPaul Donald <[email protected]>
Sat, 7 Jun 2025 14:18:21 +0000 (16:18 +0200)
The DDNS service attribute "interface" is for hotplug.d hook to bring up
and down DDNS updater(s) on ifup and ifdown events for an OpenWrt
"interface", not to be confused with attribute "ip_interface" which defines
the physical interface to get IP from.

With this change, the DDNS configuration service.xxx.interface is no longer
derived from the physical interface name (duplicated from ip_interface to be
specific) when ip_source=interface, and as a result, the interface must be set
explicitly.

Signed-off-by: Guoxin Pu <[email protected]>
(cherry picked from commit e6b26d1e07c41dfd520a2e8ef67ec14b6118f288)

applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js

index 8c86bf217942d652be3a2f9285ed3181fd6bdcd2..f6e7649e182a34b7b452be050dba1e851c6d6b42 100644 (file)
@@ -868,11 +868,11 @@ return view.extend({
                                        o.default = 'wan';
                                        o.depends("ip_source", "web");
                                        o.depends("ip_source", "script");
+                                       o.depends("ip_source", "interface");
 
                                        o = s.taboption('advanced', form.DummyValue, '_interface',
                                                _("Event Network"),
                                                _("Network on which the ddns-updater scripts will be started"));
-                                       o.depends("ip_source", "interface");
                                        o.depends("ip_source", "network");
                                        o.forcewrite = true;
                                        o.modalonly = true;