diff options
Diffstat (limited to 'src/de')
-rw-r--r-- | src/de/blinkt/openvpn/ConfigConverter.java | 23 | ||||
-rw-r--r-- | src/de/blinkt/openvpn/ConfigParser.java | 13 |
2 files changed, 28 insertions, 8 deletions
diff --git a/src/de/blinkt/openvpn/ConfigConverter.java b/src/de/blinkt/openvpn/ConfigConverter.java index 3ccda053..71a17fa2 100644 --- a/src/de/blinkt/openvpn/ConfigConverter.java +++ b/src/de/blinkt/openvpn/ConfigConverter.java @@ -123,7 +123,8 @@ public class ConfigConverter extends ListActivity { continue;
// read the file inline
- String filedata = VpnProfile.INLINE_TAG;
+
+ String filedata = "";
byte[] buf =new byte[2048];
log(R.string.trying_to_read, possibleFile.getAbsolutePath());
@@ -153,10 +154,22 @@ public class ConfigConverter extends ListActivity { // This where I would like to have a c++ style
// void embedFile(std::string & option)
- mResult.mCaFilename = embedFile(mResult.mCaFilename);
- mResult.mClientCertFilename = embedFile(mResult.mClientCertFilename);
- mResult.mClientKeyFilename = embedFile(mResult.mClientKeyFilename);
- mResult.mTLSAuthFilename = embedFile(mResult.mTLSAuthFilename);
+ mResult.mCaFilename = VpnProfile.INLINE_TAG + embedFile(mResult.mCaFilename);
+ mResult.mClientCertFilename = VpnProfile.INLINE_TAG + embedFile(mResult.mClientCertFilename);
+ mResult.mClientKeyFilename = VpnProfile.INLINE_TAG + embedFile(mResult.mClientKeyFilename);
+ mResult.mTLSAuthFilename = VpnProfile.INLINE_TAG + embedFile(mResult.mTLSAuthFilename);
+
+ if(mResult.mUsername != null){
+ String data =embedFile(mResult.mName);
+ mResult.mName=null;
+ if(data!=null) {
+ String[] parts = data.split("\n");
+ if(parts.length >= 2) {
+ mResult.mName=parts[0];
+ mResult.mPassword=parts[1];
+ }
+ }
+ }
}
diff --git a/src/de/blinkt/openvpn/ConfigParser.java b/src/de/blinkt/openvpn/ConfigParser.java index 913fda24..b897f63a 100644 --- a/src/de/blinkt/openvpn/ConfigParser.java +++ b/src/de/blinkt/openvpn/ConfigParser.java @@ -225,6 +225,7 @@ public class ConfigParser { "persist-tun", "persist-key", "register-dns", + "route-delay", "route-gateway", "route-metric", "route-method", @@ -424,14 +425,20 @@ public class ConfigParser { if(getOption("nobind", 0, 0) != null) np.mNobind=true; - if(getOption("auth-user-pass",0,1) != null) { + Vector<String> authuser = getOption("auth-user-pass",0,1); + if(authuser !=null){ + if(noauthtypeset) { np.mAuthenticationType=VpnProfile.TYPE_USERPASS; } else if(np.mAuthenticationType==VpnProfile.TYPE_CERTIFICATES) { np.mAuthenticationType=VpnProfile.TYPE_USERPASS_CERTIFICATES; } else if(np.mAuthenticationType==VpnProfile.TYPE_KEYSTORE) { np.mAuthenticationType=VpnProfile.TYPE_USERPASS_KEYSTORE; - } + } + if(authuser.size()>1) { + np.mName=authuser.get(1); + } + } @@ -494,7 +501,7 @@ public class ConfigParser { if(optionline.size()< (minarg+1) || optionline.size() > maxarg+1) { String err = String.format("Option %s has %d parameters, expected between %d and %d", - option,args.size()-1,minarg,maxarg ); + option,optionline.size()-1,minarg,maxarg ); throw new ConfigParseError(err); } options.remove(option); |