summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2018-10-18 14:53:06 +0200
committerArne Schwabe <arne@rfc2549.org>2018-10-18 14:53:06 +0200
commit273493fb166905554a0d33f0b56cbdf5758c8dc5 (patch)
treef0752014cc8470f85d001bde4b47ed69eec9b50e
parent0cdf936963a5cc19c433ff22b8f88e614327e850 (diff)
Don't allow editing temporary profiles (closes #954)
-rw-r--r--build.gradle2
-rw-r--r--main/src/main/java/de/blinkt/openvpn/VpnProfile.java1
-rw-r--r--main/src/main/java/de/blinkt/openvpn/activities/VPNPreferences.java6
-rw-r--r--main/src/main/java/de/blinkt/openvpn/api/ExternalOpenVPNService.java1
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/ProfileManager.java1
5 files changed, 9 insertions, 2 deletions
diff --git a/build.gradle b/build.gradle
index 3ed04f0e..96752279 100644
--- a/build.gradle
+++ b/build.gradle
@@ -12,7 +12,7 @@ buildscript {
google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.2.0'
+ classpath 'com.android.tools.build:gradle:3.2.1'
}
}
diff --git a/main/src/main/java/de/blinkt/openvpn/VpnProfile.java b/main/src/main/java/de/blinkt/openvpn/VpnProfile.java
index 43891c3d..a9b76bda 100644
--- a/main/src/main/java/de/blinkt/openvpn/VpnProfile.java
+++ b/main/src/main/java/de/blinkt/openvpn/VpnProfile.java
@@ -156,6 +156,7 @@ public class VpnProfile implements Serializable, Cloneable {
public String mServerName = "openvpn.example.com";
public String mServerPort = "1194";
public boolean mUseUdp = true;
+ public boolean mTemporaryProfile = false;
private transient PrivateKey mPrivateKey;
// Public attributes, since I got mad with getter/setter
// set members to default values
diff --git a/main/src/main/java/de/blinkt/openvpn/activities/VPNPreferences.java b/main/src/main/java/de/blinkt/openvpn/activities/VPNPreferences.java
index 59ba097f..65acdaa6 100644
--- a/main/src/main/java/de/blinkt/openvpn/activities/VPNPreferences.java
+++ b/main/src/main/java/de/blinkt/openvpn/activities/VPNPreferences.java
@@ -18,6 +18,7 @@ import android.support.v4n.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
+import android.widget.Toast;
import de.blinkt.openvpn.R;
import de.blinkt.openvpn.VpnProfile;
import de.blinkt.openvpn.core.ProfileManager;
@@ -83,6 +84,11 @@ public class VPNPreferences extends BaseActivity {
setResult(VPNProfileList.RESULT_VPN_DELETED);
finish();
}
+ if (mProfile.mTemporaryProfile)
+ {
+ Toast.makeText(this, "Temporary profiles cannot be edited", Toast.LENGTH_LONG);
+ finish();
+ }
}
private void getProfile() {
diff --git a/main/src/main/java/de/blinkt/openvpn/api/ExternalOpenVPNService.java b/main/src/main/java/de/blinkt/openvpn/api/ExternalOpenVPNService.java
index e5c50a6c..f370f606 100644
--- a/main/src/main/java/de/blinkt/openvpn/api/ExternalOpenVPNService.java
+++ b/main/src/main/java/de/blinkt/openvpn/api/ExternalOpenVPNService.java
@@ -173,7 +173,6 @@ public class ExternalOpenVPNService extends Service implements StateListener {
vp.mProfileCreator = callingApp;
-
/*int needpw = vp.needUserPWInput(false);
if(needpw !=0)
throw new RemoteException("The inline file would require user input: " + getString(needpw));
diff --git a/main/src/main/java/de/blinkt/openvpn/core/ProfileManager.java b/main/src/main/java/de/blinkt/openvpn/core/ProfileManager.java
index aa4a50ff..b9edc4b2 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/ProfileManager.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/ProfileManager.java
@@ -128,6 +128,7 @@ public class ProfileManager {
}
public static void setTemporaryProfile(Context c, VpnProfile tmp) {
+ tmp.mTemporaryProfile = true;
ProfileManager.tmpprofile = tmp;
saveProfile(c, tmp, true, true);
}