From c373af42b1a75b0f23c2f0edbf196dfbb1ef0a0e Mon Sep 17 00:00:00 2001 From: Arne Schwabe Date: Tue, 11 Feb 2014 23:36:48 +0100 Subject: Rework and fix config import --- src/de/blinkt/openvpn/core/ConfigParser.java | 28 +++++++++++++++++++++++----- src/de/blinkt/openvpn/core/X509Utils.java | 6 +++--- 2 files changed, 26 insertions(+), 8 deletions(-) (limited to 'src/de/blinkt/openvpn/core') diff --git a/src/de/blinkt/openvpn/core/ConfigParser.java b/src/de/blinkt/openvpn/core/ConfigParser.java index 06acdf98..22cc5dce 100644 --- a/src/de/blinkt/openvpn/core/ConfigParser.java +++ b/src/de/blinkt/openvpn/core/ConfigParser.java @@ -398,10 +398,18 @@ public class ConfigParser { if(direction!=null) np.mTLSAuthDirection=direction.get(1); + Vector> defgw = getAllOption("redirect-gateway", 0, 5); + if(defgw != null) + { + np.mUseDefaultRoute=true; + checkRedirectParameters(np, defgw); + } - if(getAllOption("redirect-gateway", 0, 5) != null) - np.mUseDefaultRoute=true; - + Vector> redirectPrivate = getAllOption("redirect-private",0,5); + if (redirectPrivate != null) + { + checkRedirectParameters(np,redirectPrivate); + } Vector dev =getOption("dev",1,1); Vector devtype =getOption("dev-type",1,1); @@ -621,7 +629,17 @@ public class ConfigParser { return np; } - public void useExtraRemotesAsCustom(boolean b) { + private void checkRedirectParameters(VpnProfile np, Vector> defgw) { + for (Vector redirect: defgw) + for (int i=1;i= 2) { np.mUsername=parts[0]; diff --git a/src/de/blinkt/openvpn/core/X509Utils.java b/src/de/blinkt/openvpn/core/X509Utils.java index 5781cbf5..da1e4ed5 100644 --- a/src/de/blinkt/openvpn/core/X509Utils.java +++ b/src/de/blinkt/openvpn/core/X509Utils.java @@ -25,7 +25,7 @@ public class X509Utils { InputStream inStream; - if(certfilename.startsWith(VpnProfile.INLINE_TAG)) { + if(VpnProfile.isEmbedded(certfilename)) { // The java certifcate reader is ... kind of stupid // It does NOT ignore chars before the --BEGIN ... int subIndex = certfilename.indexOf("-----BEGIN CERTIFICATE-----"); @@ -45,8 +45,8 @@ public class X509Utils { Reader inStream; - if(keyfilename.startsWith(VpnProfile.INLINE_TAG)) - inStream = new StringReader(keyfilename.replace(VpnProfile.INLINE_TAG,"")); + if(VpnProfile.isEmbedded(keyfilename)) + inStream = new StringReader(VpnProfile.getEmbeddedContent(keyfilename)); else inStream = new FileReader(new File(keyfilename)); -- cgit v1.2.3