diff options
| author | Arne Schwabe <arne@rfc2549.org> | 2013-02-09 16:44:00 +0100 | 
|---|---|---|
| committer | Arne Schwabe <arne@rfc2549.org> | 2013-02-09 16:44:00 +0100 | 
| commit | d6c35a95905c276a5241bdbf3a01ca89c3c9fd31 (patch) | |
| tree | 1d3cbad91d0ea13ffdebe7e180b17c76bccdab2a /src/de/blinkt/openvpn/OpenVpnManagementThread.java | |
| parent | fa9f76f27cf1a50122227e8ff9e98adb8eeb44f0 (diff) | |
More refactoring/complete support for openvpn 3 core
--HG--
branch : ovpn3
Diffstat (limited to 'src/de/blinkt/openvpn/OpenVpnManagementThread.java')
| -rw-r--r-- | src/de/blinkt/openvpn/OpenVpnManagementThread.java | 39 | 
1 files changed, 18 insertions, 21 deletions
diff --git a/src/de/blinkt/openvpn/OpenVpnManagementThread.java b/src/de/blinkt/openvpn/OpenVpnManagementThread.java index 538079e8..e4528132 100644 --- a/src/de/blinkt/openvpn/OpenVpnManagementThread.java +++ b/src/de/blinkt/openvpn/OpenVpnManagementThread.java @@ -7,28 +7,18 @@ import java.lang.reflect.InvocationTargetException;  import java.lang.reflect.Method;
  import java.net.InetSocketAddress;
  import java.net.SocketAddress;
 -import java.security.InvalidKeyException;
 -import java.security.NoSuchAlgorithmException;
 -import java.security.PrivateKey;
  import java.util.LinkedList;
  import java.util.Locale;
  import java.util.Vector;
 -import javax.crypto.BadPaddingException;
 -import javax.crypto.Cipher;
 -import javax.crypto.IllegalBlockSizeException;
 -import javax.crypto.NoSuchPaddingException;
 -
  import android.content.SharedPreferences;
  import android.net.LocalServerSocket;
  import android.net.LocalSocket;
 -import android.os.Build;
  import android.os.ParcelFileDescriptor;
  import android.preference.PreferenceManager;
 -import android.util.Base64;
  import android.util.Log;
 -public class OpenVpnManagementThread implements Runnable {
 +public class OpenVpnManagementThread implements Runnable, OpenVPNMangement {
  	private static final String TAG = "openvpn";
  	private LocalSocket mSocket;
 @@ -36,8 +26,6 @@ public class OpenVpnManagementThread implements Runnable {  	private OpenVpnService mOpenVPNService;
  	private LinkedList<FileDescriptor> mFDList=new LinkedList<FileDescriptor>();
  	private int mBytecountinterval=2;
 -	private long mLastIn=0; 
 -	private long mLastOut=0;
  	private LocalServerSocket mServerSocket;
  	private boolean mReleaseHold=true;
  	private boolean mWaitingForRelease=false;
 @@ -284,13 +272,7 @@ public class OpenVpnManagementThread implements Runnable {  		long in = Long.parseLong(argument.substring(0, comma));
  		long out = Long.parseLong(argument.substring(comma+1));
 -		long diffin = in - mLastIn; 
 -		long diffout = out - mLastOut;
 -
 -		mLastIn=in;
 -		mLastOut=out;
 -
 -		OpenVPN.updateByteCount(in,out,diffin, diffout);
 +		OpenVPN.updateByteCount(in,out);
  	}
 @@ -448,7 +430,7 @@ public class OpenVpnManagementThread implements Runnable {  	}
 -	public static boolean stopOpenVPN() {
 +	private static boolean stopOpenVPN() {
  		boolean sendCMD=false;
  		for (OpenVpnManagementThread mt: active){
  			mt.managmentCommand("signal SIGINT\n");
 @@ -481,4 +463,19 @@ public class OpenVpnManagementThread implements Runnable {  		managmentCommand(signed_string);
  		managmentCommand("\nEND\n");
  	}
 +
 +	@Override
 +	public void pause() {
 +		signalusr1();
 +	}
 +
 +	@Override
 +	public void resume() {
 +		releaseHold();
 +	}
 +
 +	@Override
 +	public boolean stopVPN() {
 +		return stopOpenVPN();
 +	}
  }
  | 
