diff options
Diffstat (limited to 'src/de/blinkt/openvpn/VpnProfile.java')
-rw-r--r-- | src/de/blinkt/openvpn/VpnProfile.java | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/de/blinkt/openvpn/VpnProfile.java b/src/de/blinkt/openvpn/VpnProfile.java index 7ca7572..dd729a0 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()); |