summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Crispin2026-06-15 08:50:16 +0000
committerHauke Mehrtens2026-06-24 23:46:34 +0000
commitbe3ea6b93fe395c18ea5cf5bdda3246dba3d8765 (patch)
treea16624c792994660502b7a67e6517284be099928
parent0fb3ed25017b15a11fba89e194b9511ba40ff9fa (diff)
downloadopenwrt-be3ea6b93fe395c18ea5cf5bdda3246dba3d8765.tar.gz
wifi-scripts: fix EAP STA support in supplicant config generation
The supplicant config generator read eap_type and auth from UCI for internal logic but never wrote the corresponding eap= and phase2= directives to the wpa_supplicant config. Fix by: - Generating eap= and phase2= from eap_type/auth for PEAP/TTLS/FAST/TLS - Adding eap and phase2 to the network_append_vars output list Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit c92ded2f6e7a31f807a653b9fc5cda930ca4b945) Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc7
1 files changed, 6 insertions, 1 deletions
diff --git a/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc b/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc
index 2fad26dd97..5688a1aef1 100644
--- a/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc
+++ b/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc
@@ -151,11 +151,16 @@ function setup_sta(data, config) {
if (config.ca_cert_usesystem && fs.stat('/etc/ssl/certs/ca-certificates.crt'))
config.ca_cert = '/etc/ssl/certs/ca-certificates.crt';
+ const eap_method_map = { fast: 'FAST', peap: 'PEAP', ttls: 'TTLS', tls: 'TLS' };
+ if (eap_method_map[config.eap_type])
+ config.eap = eap_method_map[config.eap_type];
+
switch(config.eap_type) {
case 'fast':
case 'peap':
case 'ttls':
set_default(config, 'auth', 'MSCHAPV2');
+ config.phase2 = `"auth=${config.auth}"`;
if (config.auth == 'EAP-TLS') {
if (config.ca_cert2_usesystem && fs.stat('/etc/ssl/certs/ca-certificates.crt'))
config.ca_cert2 = '/etc/ssl/certs/ca-certificates.crt';
@@ -201,7 +206,7 @@ function setup_sta(data, config) {
'disable_ht', 'disable_ht40', 'disable_vht', 'vht', 'max_oper_chwidth',
'ht40', 'beacon_int', 'ieee80211w', 'rates', 'mesh_basic_rates', 'mcast_rate',
'altsubject_match', 'domain_match', 'domain_suffix_match',
- 'bssid_blacklist', 'bssid_whitelist', 'erp',
+ 'bssid_blacklist', 'bssid_whitelist', 'erp', 'eap', 'phase2',
]);
}