From 6949fc419d56ff6f657c78da61ea1eeed2169bd0 Mon Sep 17 00:00:00 2001 From: cyBerta Date: Sat, 11 Dec 2021 01:47:09 +0100 Subject: make trafficdata linked list in DevicecStateReceiver final and fix typo --- .../main/java/de/blinkt/openvpn/core/DeviceStateReceiver.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'app/src/main/java/de') diff --git a/app/src/main/java/de/blinkt/openvpn/core/DeviceStateReceiver.java b/app/src/main/java/de/blinkt/openvpn/core/DeviceStateReceiver.java index 13417a5a..2b0c785e 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/DeviceStateReceiver.java +++ b/app/src/main/java/de/blinkt/openvpn/core/DeviceStateReceiver.java @@ -45,7 +45,7 @@ public class DeviceStateReceiver extends BroadcastReceiver implements ByteCountL connectState userpause = connectState.SHOULDBECONNECTED; private String lastStateMsg = null; - private java.lang.Runnable mDelayDisconnectRunnable = new Runnable() { + private final java.lang.Runnable mDelayDisconnectRunnable = new Runnable() { @Override public void run() { if (!(network == connectState.PENDINGDISCONNECT)) @@ -83,7 +83,7 @@ public class DeviceStateReceiver extends BroadcastReceiver implements ByteCountL long data; } - private LinkedList trafficdata = new LinkedList<>(); + private final LinkedList trafficdata; @Override @@ -128,9 +128,10 @@ public class DeviceStateReceiver extends BroadcastReceiver implements ByteCountL } } - public DeviceStateReceiver(OpenVPNManagement magnagement) { + public DeviceStateReceiver(OpenVPNManagement management) { super(); - mManagement = magnagement; + trafficdata = new LinkedList<>(); + mManagement = management; mManagement.setPauseCallback(this); mDisconnectHandler = new Handler(); } -- cgit v1.2.3 From 1a20d1e035265fce6cd7a54e03e5a43885f50d50 Mon Sep 17 00:00:00 2001 From: cyBerta Date: Sat, 11 Dec 2021 16:33:58 +0100 Subject: catch potential security exception when checking network capabilities --- .../java/de/blinkt/openvpn/core/NetworkUtils.java | 36 ++++++++++++---------- 1 file changed, 20 insertions(+), 16 deletions(-) (limited to 'app/src/main/java/de') diff --git a/app/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java b/app/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java index a4f09806..5b11c0a0 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java +++ b/app/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java @@ -27,28 +27,32 @@ public class NetworkUtils { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Network[] networks = conn.getAllNetworks(); for (Network network : networks) { - NetworkInfo ni = conn.getNetworkInfo(network); - LinkProperties li = conn.getLinkProperties(network); + try { + NetworkInfo ni = conn.getNetworkInfo(network); + LinkProperties li = conn.getLinkProperties(network); - NetworkCapabilities nc = conn.getNetworkCapabilities(network); + NetworkCapabilities nc = conn.getNetworkCapabilities(network); - if (nc == null) { - continue; - } + if (nc == null) { + continue; + } - // Skip VPN networks like ourselves - if (nc.hasTransport(NetworkCapabilities.TRANSPORT_VPN)) - continue; + // Skip VPN networks like ourselves + if (nc.hasTransport(NetworkCapabilities.TRANSPORT_VPN)) + continue; - // Also skip mobile networks - if (nc.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) - continue; + // Also skip mobile networks + if (nc.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) + continue; - for (LinkAddress la : li.getLinkAddresses()) { - if ((la.getAddress() instanceof Inet4Address && !ipv6) || - (la.getAddress() instanceof Inet6Address && ipv6)) - nets.add(la.toString()); + for (LinkAddress la : li.getLinkAddresses()) { + if ((la.getAddress() instanceof Inet4Address && !ipv6) || + (la.getAddress() instanceof Inet6Address && ipv6)) + nets.add(la.toString()); + } + } catch (SecurityException se) { + se.printStackTrace(); } } } else { -- cgit v1.2.3 From e7c09efba8a06bc7a000d525aff5ac027339023e Mon Sep 17 00:00:00 2001 From: cyBerta Date: Sat, 11 Dec 2021 17:07:39 +0100 Subject: fix class cast exception --- app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/src/main/java/de') diff --git a/app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java b/app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java index ae38a59b..d624af80 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java +++ b/app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java @@ -410,7 +410,7 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac // An old running VPN should now be exited mStarting = false; - if (mProfile.mUsePluggableTransports) { + if (mProfile.mUsePluggableTransports && connection instanceof Obfs4Connection) { Obfs4Connection obfs4Connection = (Obfs4Connection) connection; if (shapeshifter == null) { shapeshifter = new Shapeshifter(obfs4Connection.getDispatcherOptions()); -- cgit v1.2.3