summaryrefslogtreecommitdiff
path: root/src/de/blinkt/openvpn/VpnProfile.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/blinkt/openvpn/VpnProfile.java')
-rw-r--r--src/de/blinkt/openvpn/VpnProfile.java24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/de/blinkt/openvpn/VpnProfile.java b/src/de/blinkt/openvpn/VpnProfile.java
index 7ca75723..dd729a06 100644
--- a/src/de/blinkt/openvpn/VpnProfile.java
+++ b/src/de/blinkt/openvpn/VpnProfile.java
@@ -28,7 +28,6 @@ import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.security.KeyChain;
import android.security.KeyChainException;
-import android.util.Log;
public class VpnProfile implements Serializable{
// Parcable
@@ -262,11 +261,14 @@ public class VpnProfile implements Serializable{
if(mUsePull && mRoutenopull)
cfg += "route-nopull\n";
+ String routes = "";
+ int numroutes=0;
if(mUseDefaultRoute)
- cfg += "route 0.0.0.0 0.0.0.0\n";
+ routes += "route 0.0.0.0 0.0.0.0\n";
else
for(String route:getCustomRoutes()) {
- cfg += "route " + route + "\n";
+ routes += "route " + route + "\n";
+ numroutes++;
}
@@ -274,9 +276,18 @@ public class VpnProfile implements Serializable{
cfg += "route-ipv6 ::/0\n";
else
for(String route:getCustomRoutesv6()) {
- cfg += "route-ipv6 " + route + "\n";
+ routes += "route-ipv6 " + route + "\n";
+ numroutes++;
}
+ // Round number to next 100
+ if(numroutes> 90) {
+ numroutes = ((numroutes / 100)+1) * 100;
+ cfg+="# Alot of routes are set, increase max-routes\n";
+ cfg+="max-routes " + numroutes + "\n";
+ }
+ cfg+=routes;
+
if(mOverrideDNS || !mUsePull) {
if(nonNull(mDNS1))
cfg+="dhcp-option DNS " + mDNS1 + "\n";
@@ -386,9 +397,9 @@ public class VpnProfile implements Serializable{
private String cidrToIPAndNetmask(String route) {
String[] parts = route.split("/");
- // No /xx, return verbatim
+ // No /xx, assume /32 as netmask
if (parts.length ==1)
- return route;
+ parts = (route + "/32").split("/");
if (parts.length!=2)
return null;
@@ -481,7 +492,6 @@ public class VpnProfile implements Serializable{
cachain = KeyChain.getCertificateChain(context, mAlias);
if(cachain.length <= 1 && !nonNull(mCaFilename))
OpenVPN.logMessage(0, "", context.getString(R.string.keychain_nocacert));
-
for(X509Certificate cert:cachain) {
OpenVPN.logInfo(R.string.cert_from_keystore,cert.getSubjectDN());