From f0e9663173a07bd9adf0819a1291ed0ef0ac2adc Mon Sep 17 00:00:00 2001 From: Arne Schwabe Date: Wed, 9 May 2012 12:49:20 +0200 Subject: Add tiny minivpn executable which uses the libopenvpn.so so we don't have to copy a big executable from assets to cache directory --- src/de/blinkt/openvpn/OpenVpnManagementThread.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/de/blinkt/openvpn/OpenVpnManagementThread.java b/src/de/blinkt/openvpn/OpenVpnManagementThread.java index 31ea49e8..fb08898b 100644 --- a/src/de/blinkt/openvpn/OpenVpnManagementThread.java +++ b/src/de/blinkt/openvpn/OpenVpnManagementThread.java @@ -28,6 +28,9 @@ public class OpenVpnManagementThread implements Runnable { mOpenVPNService = openVpnService; } + static { + System.loadLibrary("opvpnutil"); + } public void managmentCommand(String cmd) { Log.d("openvpn", "mgmt cmd" + mSocket + " " +cmd + " " ); @@ -100,10 +103,11 @@ public class OpenVpnManagementThread implements Runnable { Log.d("Openvpn", "Got FD from socket: " + fd + " " + fdint); - mOpenVPNService.protect(fdint); + //mOpenVPNService.protect(fdint); //ParcelFileDescriptor pfd = ParcelFileDescriptor.fromFd(fdint); //pfd.close(); + jniclose(fdint); return; } catch (NoSuchMethodException e) { e.printStackTrace(); @@ -237,7 +241,8 @@ public class OpenVpnManagementThread implements Runnable { // Set the FileDescriptor to null to stop this mad behavior mSocket.setFileDescriptorsForSend(null); - pfd.close(); + + pfd.close(); return true; } catch (NoSuchMethodException e) { @@ -255,6 +260,10 @@ public class OpenVpnManagementThread implements Runnable { } + private native void jniclose(int fdint); + + + private void processPWCommand(String argument) { //argument has the form Need 'Private Key' password int p1 =argument.indexOf('\''); -- cgit v1.2.3