summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2018-06-07 15:30:10 +0200
committerArne Schwabe <arne@rfc2549.org>2018-06-07 15:30:10 +0200
commit591b868040f4cd537e2b85c41817b7a0eeb4c97d (patch)
treeb3613dacb28cb5def8c746be32060d4d1eece87c
parentb47948804f846d68c1dbc39ad4691bf0941cb825 (diff)
Remove junit references and make app ready for API 28
-rw-r--r--main/build.gradle6
-rw-r--r--main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java4
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java34
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java38
-rwxr-xr-xmain/src/main/res/values-it/strings.xml1
5 files changed, 48 insertions, 35 deletions
diff --git a/main/build.gradle b/main/build.gradle
index 0ddd3590..053ee4ee 100644
--- a/main/build.gradle
+++ b/main/build.gradle
@@ -55,12 +55,12 @@ task ("generateOpenVPN3Swig" ,type:Exec) {
}
android {
- compileSdkVersion 27
- buildToolsVersion '27.0.3'
+ compileSdkVersion 28
+ buildToolsVersion '28.0.0'
defaultConfig {
minSdkVersion 14
- targetSdkVersion 27
+ targetSdkVersion 28
versionCode = 158
versionName = "0.7.5"
diff --git a/main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java b/main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java
index e3eed074..bb072ffa 100644
--- a/main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java
+++ b/main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java
@@ -40,8 +40,6 @@ import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
-import junit.framework.Assert;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -229,7 +227,7 @@ public class ConfigConverter extends BaseActivity implements FileSelectCallback,
mResult.mCrlFilename = data;
break;
default:
- Assert.fail();
+ throw new RuntimeException("Type is wrong somehow?");
}
}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java b/main/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java
index 2c56b11f..9ed49689 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java
@@ -9,8 +9,6 @@ import android.os.Build;
import android.support.annotation.NonNull;
import android.text.TextUtils;
-import junit.framework.Assert;
-
import java.math.BigInteger;
import java.net.Inet6Address;
import java.util.Collection;
@@ -21,8 +19,16 @@ import java.util.Vector;
import de.blinkt.openvpn.BuildConfig;
+
+
public class NetworkSpace {
+ static void assertTrue(boolean f)
+ {
+ if (!f)
+ throw new IllegalStateException();
+ }
+
static class ipAddress implements Comparable<ipAddress> {
private BigInteger netAddress;
public int networkMask;
@@ -142,22 +148,22 @@ public class NetworkSpace {
ipAddress firstHalf = new ipAddress(getFirstAddress(), networkMask + 1, included, isV4);
ipAddress secondHalf = new ipAddress(firstHalf.getLastAddress().add(BigInteger.ONE), networkMask + 1, included, isV4);
if (BuildConfig.DEBUG)
- Assert.assertTrue(secondHalf.getLastAddress().equals(getLastAddress()));
+ assertTrue(secondHalf.getLastAddress().equals(getLastAddress()));
return new ipAddress[]{firstHalf, secondHalf};
}
String getIPv4Address() {
if (BuildConfig.DEBUG) {
- Assert.assertTrue(isV4);
- Assert.assertTrue(netAddress.longValue() <= 0xffffffffl);
- Assert.assertTrue(netAddress.longValue() >= 0);
+ assertTrue(isV4);
+ assertTrue(netAddress.longValue() <= 0xffffffffl);
+ assertTrue(netAddress.longValue() >= 0);
}
long ip = netAddress.longValue();
return String.format(Locale.US, "%d.%d.%d.%d", (ip >> 24) % 256, (ip >> 16) % 256, (ip >> 8) % 256, ip % 256);
}
String getIPv6Address() {
- if (BuildConfig.DEBUG) Assert.assertTrue(!isV4);
+ if (BuildConfig.DEBUG) assertTrue(!isV4);
BigInteger r = netAddress;
String ipv6str = null;
@@ -248,7 +254,7 @@ public class NetworkSpace {
// Check if it and the next of it are compatible
ipAddress nextNet = networks.poll();
- if (BuildConfig.DEBUG) Assert.assertNotNull(currentNet);
+ if (BuildConfig.DEBUG) assertTrue(currentNet!=null);
if (nextNet == null || currentNet.getLastAddress().compareTo(nextNet.getFirstAddress()) == -1) {
// Everything good, no overlapping nothing to do
ipsDone.add(currentNet);
@@ -274,7 +280,7 @@ public class NetworkSpace {
if (newNets[0].getLastAddress().equals(currentNet.getLastAddress())) {
if (BuildConfig.DEBUG)
- Assert.assertEquals(newNets[0].networkMask, currentNet.networkMask);
+ assertTrue(newNets[0].networkMask == currentNet.networkMask);
// Don't add the lower half that would conflict with currentNet
} else {
if (!networks.contains(newNets[0]))
@@ -284,9 +290,9 @@ public class NetworkSpace {
}
} else {
if (BuildConfig.DEBUG) {
- Assert.assertTrue(currentNet.networkMask < nextNet.networkMask);
- Assert.assertTrue(nextNet.getFirstAddress().compareTo(currentNet.getFirstAddress()) == 1);
- Assert.assertTrue(currentNet.getLastAddress().compareTo(nextNet.getLastAddress()) != -1);
+ assertTrue(currentNet.networkMask < nextNet.networkMask);
+ assertTrue(nextNet.getFirstAddress().compareTo(currentNet.getFirstAddress()) == 1);
+ assertTrue(currentNet.getLastAddress().compareTo(nextNet.getLastAddress()) != -1);
}
// This network is bigger than the next and last ip of current >= next
@@ -301,8 +307,8 @@ public class NetworkSpace {
if (newNets[1].networkMask == nextNet.networkMask) {
if (BuildConfig.DEBUG) {
- Assert.assertTrue(newNets[1].getFirstAddress().equals(nextNet.getFirstAddress()));
- Assert.assertTrue(newNets[1].getLastAddress().equals(currentNet.getLastAddress()));
+ assertTrue(newNets[1].getFirstAddress().equals(nextNet.getFirstAddress()));
+ assertTrue(newNets[1].getLastAddress().equals(currentNet.getLastAddress()));
// split second equal the next network, do not add it
}
networks.add(nextNet);
diff --git a/main/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java b/main/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java
index 74a2ad05..3e824db0 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java
@@ -10,12 +10,16 @@ import android.content.Intent;
import android.net.LocalServerSocket;
import android.net.LocalSocket;
import android.net.LocalSocketAddress;
+import android.os.Build;
import android.os.Handler;
import android.os.ParcelFileDescriptor;
import android.support.annotation.NonNull;
+import android.support.annotation.RequiresApi;
+import android.system.ErrnoException;
+import android.system.Os;
import android.util.Log;
-
-import junit.framework.Assert;
+import de.blinkt.openvpn.R;
+import de.blinkt.openvpn.VpnProfile;
import java.io.FileDescriptor;
import java.io.IOException;
@@ -24,15 +28,7 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Locale;
-import java.util.Vector;
-
-import de.blinkt.openvpn.BuildConfig;
-import de.blinkt.openvpn.R;
-import de.blinkt.openvpn.VpnProfile;
+import java.util.*;
public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
@@ -248,9 +244,13 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
//ParcelFileDescriptor pfd = ParcelFileDescriptor.fromFd(fdint);
//pfd.close();
- NativeUtils.jniclose(fdint);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ fdCloseLollipop(fd);
+ } else {
+ NativeUtils.jniclose(fdint);
+ }
return;
- } catch (NoSuchMethodException | IllegalArgumentException | InvocationTargetException | IllegalAccessException | NullPointerException e) {
+ } catch ( NoSuchMethodException | IllegalArgumentException | InvocationTargetException | IllegalAccessException | NullPointerException e) {
VpnStatus.logException("Failed to retrieve fd from socket (" + fd + ")", e);
}
@@ -258,6 +258,15 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
}
+ @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
+ private void fdCloseLollipop(FileDescriptor fd) {
+ try {
+ Os.close(fd);
+ } catch (ErrnoException e) {
+ VpnStatus.logException("Failed to close fd (" + fd + ")", e);
+ }
+ }
+
private String processInput(String pendingInput) {
@@ -563,7 +572,8 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
*/
if (routeparts.length == 5) {
- if (BuildConfig.DEBUG) Assert.assertEquals("dev", routeparts[3]);
+ //if (BuildConfig.DEBUG)
+ // assertEquals("dev", routeparts[3]);
mOpenVPNService.addRoute(routeparts[0], routeparts[1], routeparts[2], routeparts[4]);
} else if (routeparts.length >= 3) {
mOpenVPNService.addRoute(routeparts[0], routeparts[1], routeparts[2], null);
diff --git a/main/src/main/res/values-it/strings.xml b/main/src/main/res/values-it/strings.xml
index e7427306..57b19cb4 100755
--- a/main/src/main/res/values-it/strings.xml
+++ b/main/src/main/res/values-it/strings.xml
@@ -419,7 +419,6 @@ Effettuata la lettura del file di configurazione</string>
<string name="connectretrymaxmessage">Inserire il tempo massimo tra i tentativi di connessione. OpenVPN aumenterà lentamente il tempo di attesa dopo un tentativo di connessione non riuscito fino a questo valore. Il valore predefinito è 300s.</string>
<string name="connectretrymaxtitle">Tempo massimo tra i tentativi di connessione</string>
<string name="state_waitconnectretry">Attendere %ss secondi tra i tentativi di connessione</string>
- <string name="nought_alwayson_warning"><![CDATA[Se non hai ottenuto una finestra di conferma VPN, hai abilitato \"Sempre in VPN \" per un'altra applicazione. In questo caso solo l'applicazione può connettersi a una VPN. Controlla in Impostazioni-> Altre reti .. -> VPNS]]></string>
<string name="management_socket_closed">Connessione a OpenVPN chiusa (%s)</string>
<string name="change_sorting">Cambia ordinamento</string>
<string name="sort">Ordina</string>