summaryrefslogtreecommitdiff
path: root/main/src/main/java/de/blinkt/openvpn
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/main/java/de/blinkt/openvpn')
-rw-r--r--main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java11
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java12
2 files changed, 17 insertions, 6 deletions
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 227a97cd..180dbe64 100644
--- a/main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java
+++ b/main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java
@@ -18,6 +18,7 @@ import android.database.Cursor;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
+import android.os.NetworkOnMainThreadException;
import android.provider.OpenableColumns;
import android.security.KeyChain;
import android.security.KeyChainAliasCallback;
@@ -632,7 +633,7 @@ public class ConfigConverter extends Activity implements FileSelectCallback, Vie
possibleName = possibleName.substring(possibleName.lastIndexOf('/') + 1);
}
- InputStream is = getContentResolver().openInputStream(data);
+
mPathsegments = data.getPathSegments();
Cursor cursor = null;
@@ -661,8 +662,12 @@ public class ConfigConverter extends Activity implements FileSelectCallback, Vie
possibleName = possibleName.replace(".ovpn", "");
possibleName = possibleName.replace(".conf", "");
}
-
- doImport(is, possibleName);
+ try {
+ InputStream is = getContentResolver().openInputStream(data);
+ doImport(is, possibleName);
+ } catch (NetworkOnMainThreadException nom) {
+ throw new RuntimeException("Network on Main: + " + data);
+ }
} catch (FileNotFoundException e) {
log(R.string.import_content_resolve_error);
diff --git a/main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java b/main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java
index 6ba80e66..652616af 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java
@@ -148,7 +148,7 @@ public class ConfigParser {
}
- public class ConfigParseError extends Exception {
+ public static class ConfigParseError extends Exception {
private static final long serialVersionUID = -60L;
public ConfigParseError(String msg) {
@@ -721,9 +721,15 @@ public class ConfigParser {
}
Vector<String> connectTimeout = getOption("connect-timeout", 1, 1);
- if (connectTimeout != null)
- conn.mConnectTimeout = Integer.parseInt(connectTimeout.get(0));
+ if (connectTimeout != null) {
+ try {
+ conn.mConnectTimeout = Integer.parseInt(connectTimeout.get(1));
+ } catch (NumberFormatException nfe) {
+ throw new ConfigParseError(String.format("Argument to connect-timeout (%s) must to be an integer: %s",
+ connectTimeout.get(1), nfe.getLocalizedMessage()));
+ }
+ }
// Parse remote config
Vector<Vector<String>> remotes = getAllOption("remote", 1, 3);