From 1df0766479f0235bd7e2afcaecce1eaebacb9ffc Mon Sep 17 00:00:00 2001 From: cyBerta Date: Tue, 26 Nov 2013 04:46:42 +0100 Subject: added FATAL as status for reconnection timout --- src/se/leap/openvpn/OpenVpnManagementThread.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'src/se/leap/openvpn/OpenVpnManagementThread.java') diff --git a/src/se/leap/openvpn/OpenVpnManagementThread.java b/src/se/leap/openvpn/OpenVpnManagementThread.java index 78ce5a2b..b4da1e30 100644 --- a/src/se/leap/openvpn/OpenVpnManagementThread.java +++ b/src/se/leap/openvpn/OpenVpnManagementThread.java @@ -19,7 +19,6 @@ import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; import se.leap.bitmaskclient.R; - import android.content.SharedPreferences; import android.net.LocalServerSocket; import android.net.LocalSocket; @@ -177,11 +176,12 @@ public class OpenVpnManagementThread implements Runnable { private void processCommand(String command) { + Log.d(TAG, "processCommand: " + command); + if (command.startsWith(">") && command.contains(":")) { String[] parts = command.split(":",2); String cmd = parts[0].substring(1); String argument = parts[1]; - if(cmd.equals("INFO")) { // Ignore greeting from mgmt //logStatusMessage(command); @@ -195,6 +195,8 @@ public class OpenVpnManagementThread implements Runnable { processByteCount(argument); } else if (cmd.equals("STATE")) { processState(argument); + } else if (cmd.equals("FATAL")){ + processState(","+cmd+","); //handles FATAL as state } else if (cmd.equals("PROXY")) { processProxyCMD(argument); } else if (cmd.equals("LOG")) { @@ -272,11 +274,17 @@ public class OpenVpnManagementThread implements Runnable { private void processState(String argument) { String[] args = argument.split(",",3); String currentstate = args[1]; - Log.d("OpenVPN log", argument); - if(args[2].equals(",,")) + if(args[2].equals(",,")){ OpenVPN.updateStateString(currentstate,""); - else + } + else if (args[2].endsWith(",,")){ //fixes LEAP Bug #4546 + args[2] = (String) args[2].subSequence(0, args[2].length()-2); + Log.d(TAG, "processState() STATE: "+ currentstate + " msg: " + args[2]); OpenVPN.updateStateString(currentstate,args[2]); + } + else{ + OpenVPN.updateStateString(currentstate,args[2]); + } } private static int repeated_byte_counts = 0; -- cgit v1.2.3 From e26be4756596acf5be292955079ae33f228408d8 Mon Sep 17 00:00:00 2001 From: cyBerta Date: Tue, 26 Nov 2013 13:45:01 +0100 Subject: bugfixes for switch toggle behavior --- src/se/leap/openvpn/OpenVpnManagementThread.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/se/leap/openvpn/OpenVpnManagementThread.java') diff --git a/src/se/leap/openvpn/OpenVpnManagementThread.java b/src/se/leap/openvpn/OpenVpnManagementThread.java index b4da1e30..287de58e 100644 --- a/src/se/leap/openvpn/OpenVpnManagementThread.java +++ b/src/se/leap/openvpn/OpenVpnManagementThread.java @@ -211,8 +211,11 @@ public class OpenVpnManagementThread implements Runnable { OpenVPN.logMessage(0, "MGMT:", "Got unrecognized command" + command); Log.i(TAG, "Got unrecognized command" + command); } - } else if (command.startsWith("SUCCESS:")) { - // ignore + } else if (command.startsWith("SUCCESS:")) { //Fixes bug LEAP #4565 + if (command.equals("SUCCESS: signal SIGINT thrown")){ + Log.d(TAG, "SUCCESS: signal SIGINT thrown"); + processState(",EXITING,SIGINT,,"); + } } else { Log.i(TAG, "Got unrecognized line from managment" + command); OpenVPN.logMessage(0, "MGMT:", "Got unrecognized line from management:" + command); -- cgit v1.2.3