summaryrefslogtreecommitdiff
path: root/src/de/blinkt
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2012-07-02 21:40:41 +0200
committerArne Schwabe <arne@rfc2549.org>2012-07-02 21:40:41 +0200
commitd18dfef96c176e0d48160daa610b8664dba81c68 (patch)
treebc91372fb24b625c556213499f2ffb20ee2947f4 /src/de/blinkt
parentd88496f07bab09728572643d15cf86c7c7606bbc (diff)
Import User and Password from auth-user-file if it exists. (closes #issue 42)
Diffstat (limited to 'src/de/blinkt')
-rw-r--r--src/de/blinkt/openvpn/ConfigConverter.java23
-rw-r--r--src/de/blinkt/openvpn/ConfigParser.java11
2 files changed, 27 insertions, 7 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 44af2cdc..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);
+ }
+
}