summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2012-09-13 01:42:20 +0200
committerArne Schwabe <arne@rfc2549.org>2012-09-13 01:42:20 +0200
commit964ca82b1cecd73fa9dceff54b99c45782d2c1e0 (patch)
tree9f6363ca961393c9463ef00dc051c6569d5d9e1b /src
parent21096ac637e630fc6fc9721d50bbfa52cd74da84 (diff)
Add support for persist-tun option (closes issue #83)
Diffstat (limited to 'src')
-rw-r--r--src/de/blinkt/openvpn/ConfigParser.java4
-rw-r--r--src/de/blinkt/openvpn/OpenVpnManagementThread.java2
-rw-r--r--src/de/blinkt/openvpn/VpnProfile.java5
3 files changed, 10 insertions, 1 deletions
diff --git a/src/de/blinkt/openvpn/ConfigParser.java b/src/de/blinkt/openvpn/ConfigParser.java
index 8ee05e23..2ee6061d 100644
--- a/src/de/blinkt/openvpn/ConfigParser.java
+++ b/src/de/blinkt/openvpn/ConfigParser.java
@@ -223,7 +223,6 @@ public class ConfigParser {
"management",
"management-query-passwords",
"pause-exit",
- "persist-tun",
"persist-key",
"register-dns",
"route-delay",
@@ -433,6 +432,9 @@ public class ConfigParser {
if(getOption("nobind", 0, 0) != null)
np.mNobind=true;
+ if(getOption("persist-tun", 0,0) != null)
+ np.mPersistTun=true;
+
Vector<String> authuser = getOption("auth-user-pass",0,1);
if(authuser !=null){
diff --git a/src/de/blinkt/openvpn/OpenVpnManagementThread.java b/src/de/blinkt/openvpn/OpenVpnManagementThread.java
index e06c1194..24537732 100644
--- a/src/de/blinkt/openvpn/OpenVpnManagementThread.java
+++ b/src/de/blinkt/openvpn/OpenVpnManagementThread.java
@@ -147,6 +147,8 @@ public class OpenVpnManagementThread implements Runnable {
exp =e;
} catch (InvocationTargetException e) {
exp =e;
+ } catch (NullPointerException e) {
+ exp =e;
}
if(exp!=null) {
exp.printStackTrace();
diff --git a/src/de/blinkt/openvpn/VpnProfile.java b/src/de/blinkt/openvpn/VpnProfile.java
index afb779d2..404072b1 100644
--- a/src/de/blinkt/openvpn/VpnProfile.java
+++ b/src/de/blinkt/openvpn/VpnProfile.java
@@ -101,6 +101,7 @@ public class VpnProfile implements Serializable{
public String mKeyPassword="";
static final String MINIVPN = "miniopenvpn";
+ public boolean mPersistTun = true;
public void clearDefaults() {
@@ -110,6 +111,7 @@ public class VpnProfile implements Serializable{
mUseDefaultRoute=false;
mUseDefaultRoutev6=false;
mExpectTLSCert=false;
+ mPersistTun = false;
}
@@ -337,6 +339,9 @@ public class VpnProfile implements Serializable{
if(mUseFloat)
cfg+= "float\n";
+ if(mPersistTun)
+ cfg+= "persist-tun\n";
+
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean usesystemproxy = prefs.getBoolean("usesystemproxy", true);
if(usesystemproxy) {