diff options
author | Arne Schwabe <arne@blinkt.de> | 2012-06-27 23:00:32 +0200 |
---|---|---|
committer | Arne Schwabe <arne@blinkt.de> | 2012-06-27 23:00:32 +0200 |
commit | cfffc9694c4b44ed26710fd85d1a361d13b0815e (patch) | |
tree | 4858213702fac5bb0038fe3065d01472234a798d /src/de | |
parent | e27446ef9f1c8b0399e1bb6edfe8df1c77e7cd9e (diff) |
log phone version
support more than 100 routes
Diffstat (limited to 'src/de')
-rw-r--r-- | src/de/blinkt/openvpn/ConfigParser.java | 1 | ||||
-rw-r--r-- | src/de/blinkt/openvpn/OpenVPN.java | 27 | ||||
-rw-r--r-- | src/de/blinkt/openvpn/VpnProfile.java | 18 |
3 files changed, 37 insertions, 9 deletions
diff --git a/src/de/blinkt/openvpn/ConfigParser.java b/src/de/blinkt/openvpn/ConfigParser.java index 7089b5a..913fda2 100644 --- a/src/de/blinkt/openvpn/ConfigParser.java +++ b/src/de/blinkt/openvpn/ConfigParser.java @@ -227,6 +227,7 @@ public class ConfigParser { "register-dns", "route-gateway", "route-metric", + "route-method", "show-net-up", "suppress-timestamps", "tmp-dir", diff --git a/src/de/blinkt/openvpn/OpenVPN.java b/src/de/blinkt/openvpn/OpenVPN.java index c23ee56..64ecf17 100644 --- a/src/de/blinkt/openvpn/OpenVPN.java +++ b/src/de/blinkt/openvpn/OpenVPN.java @@ -4,9 +4,24 @@ import java.util.LinkedList; import java.util.Vector; import android.content.Context; +import android.os.Build; public class OpenVPN { + + public static LinkedList<LogItem> logbuffer; + + private static Vector<LogListener> logListener; + private static Vector<StateListener> stateListener; + private static String[] mBconfig; + + static { + logbuffer = new LinkedList<LogItem>(); + logListener = new Vector<OpenVPN.LogListener>(); + stateListener = new Vector<OpenVPN.StateListener>(); + logInformation(); + } + static class LogItem { public static final int ERROR = 1; public static final int INFO = 2; @@ -68,11 +83,6 @@ public class OpenVPN { - public static LinkedList<LogItem> logbuffer = new LinkedList<LogItem>(); - - private static Vector<LogListener> logListener=new Vector<OpenVPN.LogListener>(); - private static Vector<StateListener> stateListener=new Vector<OpenVPN.StateListener>(); - private static String[] mBconfig; public interface LogListener { void newLog(LogItem logItem); @@ -90,6 +100,12 @@ public class OpenVPN { synchronized static void clearLog() { logbuffer.clear(); + logInformation(); + } + + private static void logInformation() { + + logInfo(R.string.mobile_info,Build.MODEL, Build.BOARD,Build.BRAND,Build.VERSION.SDK_INT); } synchronized static void addLogListener(LogListener ll){ @@ -110,7 +126,6 @@ public class OpenVPN { } - synchronized public static LogItem[] getlogbuffer() { // The stoned way of java to return an array from a vector diff --git a/src/de/blinkt/openvpn/VpnProfile.java b/src/de/blinkt/openvpn/VpnProfile.java index d679cd0..dd729a0 100644 --- a/src/de/blinkt/openvpn/VpnProfile.java +++ b/src/de/blinkt/openvpn/VpnProfile.java @@ -261,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++; } @@ -273,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"; |