From 4fc6c4ddad319aa59503eecf11d5f0bae9cea1d3 Mon Sep 17 00:00:00 2001 From: bergware Date: Wed, 29 Jan 2025 18:51:28 +0100 Subject: [PATCH] Wireless support --- emhttp/plugins/dynamix/Wireless.page | 19 +++++++++++++++---- emhttp/plugins/dynamix/include/Wireless.php | 21 ++++++++++++++++++--- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/emhttp/plugins/dynamix/Wireless.page b/emhttp/plugins/dynamix/Wireless.page index f763c0abe..34990a1ed 100644 --- a/emhttp/plugins/dynamix/Wireless.page +++ b/emhttp/plugins/dynamix/Wireless.page @@ -54,7 +54,7 @@ _(Other networks)_:
_(Add network)_: -: +:
@@ -76,8 +76,8 @@ function update_wifi() { timers.wifi = setTimeout(update_wifi,5000); } -function manage_wifi(ssid,drop) { - if (drop==2) { +function manage_wifi(ssid,task) { + if (task==2) { $.post('/webGui/include/Wireless.php',{cmd:'forget',ssid:ssid},function(){ clearTimeout(timers.wifi); swal.close(); @@ -86,7 +86,7 @@ function manage_wifi(ssid,drop) { return; } if (ssid) { - $.post('/webGui/include/Wireless.php',{cmd:'join',ssid:ssid,drop:drop},function(text) { + $.post('/webGui/include/Wireless.php',{cmd:'join',ssid:ssid,task:task},function(text) { swal({title:decodeURIComponent(ssid),text:text,animation:'none',html:true,confirmButtonText:"_(Join this network)_",showCancelButton:true,cancelButtonText:"_(Cancel)_"},function(join){ if (join) $('form[name=wifi]').submit(); }); @@ -132,6 +132,17 @@ function showPassword() { $('input[name="PASSWORD"]').attr('type',view); } +function showSecurity(val) { + if (val=='none') { + $('#username,#password').hide(); + } else if (val.slice(-1)=='e') { + $('#username,#password').show(); + } else { + $('#username').hide(); + $('#password').show(); + } +} + $(function() { $('#wifi').show(); diff --git a/emhttp/plugins/dynamix/include/Wireless.php b/emhttp/plugins/dynamix/include/Wireless.php index 3578bd348..f9a4a5f8f 100644 --- a/emhttp/plugins/dynamix/include/Wireless.php +++ b/emhttp/plugins/dynamix/include/Wireless.php @@ -117,7 +117,8 @@ case 'join': require_once "$docroot/webGui/include/OpenSSL.php"; $token = parse_ini_file($var)['csrf_token']; $ssid = rawurldecode($_POST['ssid']); - $drop = $_POST['drop']==1; + $drop = $_POST['task']==1; + $manual = $_POST['task']==3; $user = _var($wifi[$ssid],'USERNAME') ? openssl_decrypt($wifi[$ssid]['USERNAME'],$cipher,$key,0,$iv) : ''; $passwd = _var($wifi[$ssid],'PASSWORD') ? openssl_decrypt($wifi[$ssid]['PASSWORD'],$cipher,$key,0,$iv) : ''; $join = _var($wifi[$ssid],'AUTOJOIN','no'); @@ -133,6 +134,8 @@ case 'join': $mask6 = _var($wifi[$ssid],'MASK6','64'); $gwv6 = _var($wifi[$ssid],'GATEWAY6'); $server6 = _var($wifi[$ssid],'SERVER6'); + $wlan = _var($wifi[$ssid],'SECURITY','wpa2'); + $b2b = substr($wlan,-1)=='e'; $hide1 = $dhcp4=='no' ? '': 'hide'; $hide2 = $dns4=='no' ? 'hide' : ''; $hide3 = $dhcp6=='no' ? '' : 'hide'; @@ -156,8 +159,20 @@ case 'join': echo "
"; echo " "; } - if (strpos($attr3,'IEEE')!==false) echo ""._('Username').":"; - if ($attr3) echo ""._('Password').":"; + if ($manual) { + echo ""._('Security').""; + } + if (strpos($attr3,'IEEE')!==false || $manual) echo ""._('Username').":"; + if ($attr3 || $manual) echo ""._('Password').":"; echo " "; echo ""._('IPv4 address assignment').":