From 87329d12e2a1c0894b2bcb07a8fe02ffcbd27210 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20H=C3=A4rdeman?= Date: Wed, 15 Oct 2025 19:08:31 +0200 Subject: [PATCH] luci-mod-network: organize "relay" tab in dhcp/dns views MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Delete the tab from dns.js, sort the options that belong to it in dhcp.js. Signed-off-by: David Härdeman --- .../resources/view/network/dhcp.js | 4 +- .../luci-static/resources/view/network/dns.js | 68 ------------------- 2 files changed, 2 insertions(+), 70 deletions(-) diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js index 4d436b7f4b..19089a6925 100644 --- a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js +++ b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js @@ -673,6 +673,7 @@ return view.extend({ o = s.taboption('leases', CBILease6Status, '__status6__'); // End leases + // Begin relay o = s.taboption('relay', form.SectionValue, '__relays__', form.TableSection, 'relay', null, _('Relay DHCP requests elsewhere. OK: v4↔v4, v6↔v6. Not OK: v4↔v6, v6↔v4.') + '
' + _('Note: you may also need a DHCP Proxy (currently unavailable) when specifying a non-standard Relay To port(addr#port).') @@ -710,7 +711,6 @@ return view.extend({ so.rmempty = false; so.optional = false; so.placeholder = '192.168.10.1#535'; - so.validate = function(section, value) { var m = this.section.formvalue(section, 'local_addr'), n = this.section.formvalue(section, 'server_addr'), @@ -735,11 +735,11 @@ return view.extend({ return true; }; - so = ss.option(widgets.NetworkSelect, 'interface', _('Only accept replies via')); so.optional = true; so.rmempty = false; so.placeholder = 'lan'; + // End relay o = s.taboption('pxe_tftp', form.Flag, 'enable_tftp', _('Enable TFTP server'), diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dns.js b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dns.js index 80255229da..b1ea15df98 100644 --- a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dns.js +++ b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dns.js @@ -401,7 +401,6 @@ return view.extend({ s.tab('logging', _('Log')); s.tab('files', _('Resolv & Hosts Files')); s.tab('ipsets', _('IP Sets')); - s.tab('relay', _('Relay')); s.tab('pxe_tftp', _('PXE/TFTP')); // Begin general @@ -1060,73 +1059,6 @@ return view.extend({ so.value('ip6', _('IPv6')); // End ipsets - o = s.taboption('relay', form.SectionValue, '__relays__', form.TableSection, 'relay', null, - _('Relay DHCP requests elsewhere. OK: v4↔v4, v6↔v6. Not OK: v4↔v6, v6↔v4.') - + '
' + _('Note: you may also need a DHCP Proxy (currently unavailable) when specifying a non-standard Relay To port(addr#port).') - + '
' + _('You may add multiple unique Relay To on the same Listen addr.')); - - ss = o.subsection; - - ss.addremove = true; - ss.anonymous = true; - ss.sortable = true; - ss.rowcolors = true; - ss.nodescriptions = true; - - so = ss.option(form.Value, 'local_addr', _('Relay from')); - so.rmempty = false; - so.datatype = 'ipaddr'; - - for (var family = 4; family <= 6; family += 2) { - for (var i = 0; i < networks.length; i++) { - if (networks[i].getName() != 'loopback') { - var addrs = (family == 6) ? networks[i].getIP6Addrs() : networks[i].getIPAddrs(); - for (var j = 0; j < addrs.length; j++) { - var addr = addrs[j].split('/')[0]; - so.value(addr, E([], [ - addr, ' (', - widgets.NetworkSelect.prototype.renderIfaceBadge(networks[i]), - ')' - ])); - } - } - } - } - - so = ss.option(form.Value, 'server_addr', _('Relay to address')); - so.rmempty = false; - so.optional = false; - so.placeholder = '192.168.10.1#535'; - - so.validate = function(section, value) { - var m = this.section.formvalue(section, 'local_addr'), - n = this.section.formvalue(section, 'server_addr'), - p; - - if (!m || !n) { - return _('Both "Relay from" and "Relay to address" must be specified.'); - } - else { - p = n.split('#'); - if (p.length > 1 && !/^[0-9]+$/.test(p[1])) - return _('Expected port number.'); - else - n = p[0]; - - if ((validation.parseIPv6(m) && validation.parseIPv6(n)) || - validation.parseIPv4(m) && validation.parseIPv4(n)) - return true; - else - return _('Address families of "Relay from" and "Relay to address" must match.') - } - return true; - }; - - - so = ss.option(widgets.NetworkSelect, 'interface', _('Only accept replies via')); - so.optional = true; - so.rmempty = false; - so.placeholder = 'lan'; o = s.taboption('pxe_tftp', form.Flag, 'enable_tftp', _('Enable TFTP server'), -- 2.30.2