aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/fil/libre/repwifiapp/network/WpaCli.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/fil/libre/repwifiapp/network/WpaCli.java')
-rw-r--r--app/src/fil/libre/repwifiapp/network/WpaCli.java27
1 files changed, 17 insertions, 10 deletions
diff --git a/app/src/fil/libre/repwifiapp/network/WpaCli.java b/app/src/fil/libre/repwifiapp/network/WpaCli.java
index 10f6b7c..cdaba39 100644
--- a/app/src/fil/libre/repwifiapp/network/WpaCli.java
+++ b/app/src/fil/libre/repwifiapp/network/WpaCli.java
@@ -18,7 +18,6 @@
//
// ********************************************************************
-
package fil.libre.repwifiapp.network;
import fil.libre.repwifiapp.helpers.Logger;
@@ -58,8 +57,8 @@ public abstract class WpaCli {
try {
// needs root (wpa_cli)
- return executeCmd(BASE_COMMAND + " set_network " + networkID + " ssid '\"" + ssid
- + "\"'");
+ return executeCmd(BASE_COMMAND + " set_network " + networkID + " ssid '\""
+ + escapeSingleQuotes(ssid) + "\"'");
} catch (Exception e) {
Logger.logError("Error while setting network SSID", e);
@@ -73,11 +72,10 @@ public abstract class WpaCli {
try {
// needs root (wpa_cli)
-
- String cmdSetPass = null;
+ String cmdSetPass = null;
if (info.needsPassword()) {
cmdSetPass = BASE_COMMAND + " set_network " + networkID + " psk '\""
- + info.getPassword() + "\"'";
+ + escapeSingleQuotes(info.getPassword()) + "\"'";
} else {
cmdSetPass = BASE_COMMAND + " set_network " + networkID + " key_mgmt NONE";
}
@@ -210,7 +208,7 @@ public abstract class WpaCli {
try {
return executeCmd(BASE_COMMAND + " disconnect");
-
+
} catch (Exception e) {
Logger.logError("Error while enabling network", e);
return false;
@@ -219,18 +217,18 @@ public abstract class WpaCli {
public static boolean terminateSupplicant() {
- if (!WpaSupplicant.isRunning()){
+ if (!WpaSupplicant.isRunning()) {
return true;
}
try {
return executeCmd(BASE_COMMAND + " terminate");
-
+
} catch (Exception e) {
Logger.logError("Error while enabling network", e);
return false;
}
-
+
}
private static boolean executeCmd(String cmdTxt) throws Exception {
@@ -249,4 +247,13 @@ public abstract class WpaCli {
}
+ private static String escapeSingleQuotes(String target) {
+
+
+ if (target == null)
+ return "";
+
+ return target.replace("'", "'\"'\"'");
+ }
+
}