From 296f503cd82c06d1b3c4403daebfeefa5e5da118 Mon Sep 17 00:00:00 2001 From: Augusto Bott Date: Sat, 17 Dec 2011 13:00:47 -0200 Subject: [PATCH] VLAN-GUI: enforce config requirements for UPnP and IGMPproxy * UPnP and IGMPproxy services must be active in at least one LAN bridge to be enabled --- release/src/router/www/advanced-firewall.asp | 6 ++++++ release/src/router/www/forward-upnp.asp | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/release/src/router/www/advanced-firewall.asp b/release/src/router/www/advanced-firewall.asp index 9f5e4a37da..efcecd73f3 100644 --- a/release/src/router/www/advanced-firewall.asp +++ b/release/src/router/www/advanced-firewall.asp @@ -44,6 +44,12 @@ function verifyFields(focused, quiet) E('_f_multicast_lan2').checked = false; if(nvram.lan3_ifname.length < 1) E('_f_multicast_lan3').checked = false; + if ((enable_mcast) && (!E('_f_multicast_lan').checked) && (!E('_f_multicast_lan1').checked) && (!E('_f_multicast_lan2').checked) && (!E('_f_multicast_lan3').checked)) { + ferror.set('_f_multicast', 'IGMPproxy must be enabled in least one LAN bridge', quiet); + return 0; + } else { + ferror.clear('_f_multicast'); + } /* VLAN-END */ E('_f_udpxy_stats').disabled = !E('_f_udpxy_enable').checked; E('_f_udpxy_clients').disabled = !E('_f_udpxy_enable').checked; diff --git a/release/src/router/www/forward-upnp.asp b/release/src/router/www/forward-upnp.asp index d8f295b87e..15aef14480 100644 --- a/release/src/router/www/forward-upnp.asp +++ b/release/src/router/www/forward-upnp.asp @@ -152,6 +152,16 @@ REMOVE-END */ E('_f_upnp_lan3').disabled = ((nvram.lan3_ifname.length < 1) || !((enable != 0) && (bc != 0))); if (E('_f_upnp_lan3').disabled) E('_f_upnp_lan3').checked = false; + if ((enable) && (!E('_f_upnp_lan').checked) && (!E('_f_upnp_lan1').checked) && (!E('_f_upnp_lan2').checked) && (!E('_f_upnp_lan3').checked)) { + if (E('_f_enable_natpmp').checked) + ferror.set('_f_enable_natpmp', 'NAT-PMP must be enabled in least one LAN bridge', quiet); + if (E('_f_enable_upnp').checked) + ferror.set('_f_enable_upnp', 'UPnP must be enabled in least one LAN bridge', quiet); + return 0; + } else { + ferror.clear('_f_enable_natpmp'); + ferror.clear('_f_enable_upnp'); + } /* VLAN-END */ return 1; } -- 2.11.4.GIT