diff --git a/luci-mod-network/Makefile b/luci-mod-network/Makefile index ccda38bb2..962817219 100644 --- a/luci-mod-network/Makefile +++ b/luci-mod-network/Makefile @@ -4,7 +4,7 @@ # # This is free software, licensed under the Apache License, Version 2.0 . # -# From https://github.com/openwrt/luci/commit/01d5d5f92963d9596a3c0b669a7e8d87b64132d5 +# From https://github.com/openwrt/luci/commit/5ca328440b3a41ab6d415ec96f9db4339715de67 include $(TOPDIR)/rules.mk diff --git a/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js b/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js index 0c84ccc91..25dd4743b 100644 --- a/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js +++ b/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js @@ -281,6 +281,11 @@ return view.extend({ o.placeholder = '/example.org/10.1.2.3'; // o.validate = validateServerSpec; + o = s.taboption('general', form.DynamicList, 'address', _('Addresses'), + _('List of domains to force to an IP address.')); + + o.optional = true; + o.placeholder = '/router.local/192.168.0.1'; o = s.taboption('general', form.Flag, 'rebind_protection', _('Rebind protection'), diff --git a/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js b/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js index ca0cdf615..dc75c9509 100644 --- a/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js +++ b/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js @@ -1195,6 +1195,9 @@ return view.extend({ var has_ap_eap192 = L.hasSystemFeature('hostapd', 'suiteb192'), has_sta_eap192 = L.hasSystemFeature('wpasupplicant', 'suiteb192'); + // Probe WEP support + var has_ap_wep = L.hasSystemFeature('hostapd', 'wep'), + has_sta_wep = L.hasSystemFeature('wpasupplicant', 'wep'); if (has_hostapd || has_supplicant) { crypto_modes.push(['psk2', 'WPA2-PSK', 35]); @@ -1210,6 +1213,11 @@ return view.extend({ crypto_modes.push(['sae-mixed', 'WPA2-PSK/WPA3-SAE Mixed Mode', 30]); } + if (has_ap_wep || has_sta_wep) { + crypto_modes.push(['wep-open', _('WEP Open System'), 11]); + crypto_modes.push(['wep-shared', _('WEP Shared Key'), 10]); + } + if (has_ap_eap || has_sta_eap) { if (has_ap_eap192 || has_sta_eap192) { crypto_modes.push(['wpa3', 'WPA3-EAP', 33]); @@ -1226,8 +1234,8 @@ return view.extend({ encr.crypto_support = { 'ap': { - 'wep-open': true, - 'wep-shared': true, + 'wep-open': has_ap_wep || _('Requires hostapd with WEP support'), + 'wep-shared': has_ap_wep || _('Requires hostapd with WEP support'), 'psk': has_hostapd || _('Requires hostapd'), 'psk2': has_hostapd || _('Requires hostapd'), 'psk-mixed': has_hostapd || _('Requires hostapd'), @@ -1240,8 +1248,8 @@ return view.extend({ 'owe': has_ap_owe || _('Requires hostapd with OWE support') }, 'sta': { - 'wep-open': true, - 'wep-shared': true, + 'wep-open': has_sta_wep || _('Requires wpa-supplicant with WEP support'), + 'wep-shared': has_sta_wep || _('Requires wpa-supplicant with WEP support'), 'psk': has_supplicant || _('Requires wpa-supplicant'), 'psk2': has_supplicant || _('Requires wpa-supplicant'), 'psk-mixed': has_supplicant || _('Requires wpa-supplicant'), @@ -1295,10 +1303,10 @@ return view.extend({ crypto_modes.push(['psk2', 'WPA2-PSK', 33]); crypto_modes.push(['psk+psk2', 'WPA-PSK/WPA2-PSK Mixed Mode', 22]); crypto_modes.push(['psk', 'WPA-PSK', 21]); + crypto_modes.push(['wep-open', _('WEP Open System'), 11]); + crypto_modes.push(['wep-shared', _('WEP Shared Key'), 10]); } - crypto_modes.push(['wep-open', _('WEP Open System'), 11]); - crypto_modes.push(['wep-shared', _('WEP Shared Key'), 10]); crypto_modes.push(['none', _('No Encryption'), 0]); crypto_modes.sort(function(a, b) { return b[2] - a[2] });