From 27bdfcda16cbbb0c14f58fe555a7781e9b4ab9f6 Mon Sep 17 00:00:00 2001 From: Bill Zimmerman Date: Fri, 27 Feb 2015 16:11:56 +0100 Subject: [PATCH] Debug DisplayWPAConfig --- includes/functions.php | 221 ++++++++++++++++++++++++++--------------- 1 file changed, 143 insertions(+), 78 deletions(-) diff --git a/includes/functions.php b/includes/functions.php index 4c4cc2f7..2f821d63 100755 --- a/includes/functions.php +++ b/includes/functions.php @@ -50,31 +50,40 @@ function ConvertToChannel( $freq ) { } /** -* +* Converts WPA security string to readable format * @param string $security * @return string */ function ConvertToSecurity( $security ) { - + switch( $security ) { case "[WPA2-PSK-CCMP][ESS]": return "WPA2-PSK (AES)"; - break; + break; case "[WPA2-PSK-TKIP][ESS]": return "WPA2-PSK (TKIP)"; - break; + break; + case "[WPA2-PSK-CCMP][WPS][ESS]": + return "WPA/WPA2-PSK (TKIP/AES)"; + break; + case "[WPA2-PSK-TKIP+CCMP][WPS][ESS]": + return "WPA2-PSK (TKIP/AES) with WPS"; + break; case "[WPA-PSK-TKIP+CCMP][WPS][ESS]": return "WPA-PSK (TKIP/AES) with WPS"; - break; + break; + case "[WPA-PSK-TKIP][WPA2-PSK-CCMP][WPS][ESS]": + return "WPA/WPA2-PSK (TKIP/AES)"; + break; case "[WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][ESS]": return "WPA/WPA2-PSK (TKIP/AES)"; - break; + break; case "[WPA-PSK-TKIP][ESS]": return "WPA-PSK (TKIP)"; - break; + break; case "[WEP][ESS]": return "WEP"; - break; + break; } } @@ -121,10 +130,14 @@ function DisplayDashboard(){ $strFrequency = $result[1]; if(strpos( $strWlan0, "UP" ) !== false && strpos( $strWlan0, "RUNNING" ) !== false ) { - $strStatus = 'Interface is up'; + $status = '
Interface is up +
'; + $wlan0up = true; } else { - $strStatus = 'Interface is down'; + $status = '
Interface is down +
'; } + if( isset($_POST['ifdown_wlan0']) ) { exec( 'ifconfig wlan0 | grep -i running | wc -l',$test ); if($test[0] == 1) { @@ -146,6 +159,7 @@ function DisplayDashboard(){
Dashboard
+

@@ -153,7 +167,6 @@ function DisplayDashboard(){

Interface Information

Interface Name : wlan0
- Interface Status :
IP Address :
Subnet Mask :
Mac Address :
@@ -197,9 +210,13 @@ function DisplayDashboard(){
-
- - + + '; + } else { + echo ''; + } + ?>
@@ -218,76 +235,124 @@ function DisplayDashboard(){ * */ function DisplayWPAConfig(){ - exec('sudo cat ' . RASPI_WPA_SUPPLICANT_CONFIG, $return); - $ssid = array(); - $psk = array(); - foreach($return as $a) { - if(preg_match('/SSID/i',$a)) { - $arrssid = explode("=",$a); - $ssid[] = str_replace('"','',$arrssid[1]); - } - if(preg_match('/\#psk/i',$a)) { - $arrpsk = explode("=",$a); - $psk[] = str_replace('"','',$arrpsk[1]); - } - } + ?> +
+
+
+
Configure client +
+ +
+ +

Client settings

+
+
- $numSSIDs = count($ssid); - $output = '
'; - for($ssids = 0; $ssids < $numSSIDs; $ssids++) { - $output .= '
Network '.$ssids.'
- SSID :
- PSK :
'; - } - $output .= '
-
'; + UpdateNetworks()'; + $config = 'ctrl_interface=DIR='. RASPI_WPA_CTRL_INTERFACE .' GROUP=netdev +update_config=1 +'; + $networks = $_POST['Networks']; + for( $x = 0; $x < $networks; $x++ ) { + $network = ''; + $ssid = escapeshellarg( $_POST['ssid'.$x] ); + $psk = escapeshellarg( $_POST['psk'.$x] ); - if( isset($_POST['SaveWPAPSKSettings']) ) { - $config = 'ctrl_interface=DIR='. RASPI_WPA_CTRL_INTERFACE .' GROUP=netdev update_config=1'; - $networks = $_POST['Networks']; - for( $x = 0; $x < $networks; $x++ ) { - $network = ''; - $ssid = escapeshellarg( $_POST['ssid'.$x] ); - $psk = escapeshellarg( $_POST['psk'.$x] ); - exec( 'wpa_passphrase '.$ssid. ' ' . $psk,$network ); - foreach( $network as $b ) { + if ( strlen($psk) >2 ) { + exec( 'wpa_passphrase '.$ssid. ' ' . $psk,$network ); + foreach($network as $b) { $config .= "$b - "; - } - } +"; + } + } + } + var_dump($config); - exec( "echo '$config' > /tmp/wifidata", $return ); - system( 'sudo cp /tmp/wifidata ' . RASPI_WPA_SUPPLICANT_CONFIG, $returnval ); - if( $returnval == 0 ) { - echo "Wifi settings updated successfully"; - } else { - echo "Wifi settings failed to be updated"; - } + exec( "echo '$config' > /tmp/wifidata", $return ); + system( 'sudo cp /tmp/wifidata ' . RASPI_WPA_SUPPLICANT_CONFIG, $returnval ); + if( $returnval == 0 ) { + echo '
Wifi settings updated successfully +
'; + } else { + echo '
Wifi settings failed to be updated +
'; + } - } elseif( isset($_POST['Scan']) ) { - $return = ''; - exec( 'sudo wpa_cli scan',$return ); - sleep(5); - exec( 'sudo wpa_cli scan_results',$return ); - for( $shift = 0; $shift < 4; $shift++ ) { - array_shift($return); - } - echo "Networks found :
"; - foreach( $return as $network ) { - $arrNetwork = preg_split("/[\t]+/",$network); - $bssid = $arrNetwork[0]; - $channel = ConvertToChannel($arrNetwork[1]); - $signal = $arrNetwork[2] . " dBm"; - $security = $arrNetwork[3]; - $ssid = $arrNetwork[4]; - echo '' . $ssid . " on channel " . $channel . " with " . $signal . "(".ConvertToSecurity($security)." Security)
"; + // scan networks + } elseif( isset($_POST['Scan']) ) { + $return = ''; + exec( 'sudo wpa_cli scan',$return ); + sleep(3); + exec( 'sudo wpa_cli scan_results',$return ); + for( $shift = 0; $shift < 4; $shift++ ) { + array_shift($return); + } + // display output + echo '
'; + echo '
'; + echo '

Networks found

'; + echo ''; + foreach( $return as $network ) { + $arrNetwork = preg_split("/[\t]+/",$network); + $bssid = $arrNetwork[0]; + $channel = ConvertToChannel($arrNetwork[1]); + $signal = $arrNetwork[2] . " dBm"; + $security = $arrNetwork[3]; + $ssid = $arrNetwork[4]; + echo '"; + } + echo '
SSIDChannelSignalSecurity
' . $ssid . " " . $channel . "" . $signal . "". ConvertToSecurity($security) ."
'; - } - } + } else { + + // default action, output configured network(s) + exec(' sudo cat ' . RASPI_WPA_SUPPLICANT_CONFIG, $return); + $ssid = array(); + $psk = array(); + + foreach($return as $a) { + if(preg_match('/SSID/i',$a)) { + $arrssid = explode("=",$a); + $ssid[] = str_replace('"','',$arrssid[1]); + } + if(preg_match('/psk/i',$a)) { + $arrpsk = explode("=",$a); + $psk[] = str_replace('"','',$arrpsk[1]); + } + } + + $numSSIDs = count($ssid); + $output = '
'; + + if ( $numSSIDs > 0 ) { + for( $ssids = 0; $ssids < $numSSIDs; $ssids++ ) { + $output .= '
+
+
+
+
'; + } + $output .= '
'; + } else { + $status = '
Not connected +
'; + } + $output .= '
'; + $output .= ''; + echo $output; + } + ?> + + +
+
+
+
+

Client settings

-
+
@@ -825,7 +890,7 @@ function DisplayTorProxyConfig(){

Basic settings

- +