luci-mod-network: query support for WEP 4127/head
authorDavid Bauer <mail@david-bauer.net>
Mon, 1 Jun 2020 06:23:25 +0000 (08:23 +0200)
committerDavid Bauer <mail@david-bauer.net>
Mon, 1 Jun 2020 08:36:07 +0000 (10:36 +0200)
This commit removes WEP from the list of supported
encryption methods in case hostapd or wpa_supplicant
were compiled without WEP support.

Signed-off-by: David Bauer <mail@david-bauer.net>
modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js

index ca0cdf6152d0ae0cf6ad5141dfd277c60227bcc8..dc75c9509fdc1b23eff545086388770df2caec21 100644 (file)
@@ -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] });