aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfile.java12
-rw-r--r--src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfileDataSource.java14
2 files changed, 23 insertions, 3 deletions
diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfile.java b/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfile.java
index 0b552f484..ba50125c0 100644
--- a/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfile.java
+++ b/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfile.java
@@ -33,7 +33,7 @@ public class VpnProfile implements Cloneable
private String mName, mGateway, mUsername, mPassword, mCertificate, mUserCertificate;
private String mRemoteId, mLocalId, mExcludedSubnets, mIncludedSubnets, mSelectedApps;
- private Integer mMTU, mPort, mSplitTunneling;
+ private Integer mMTU, mPort, mSplitTunneling, mNATKeepAlive;
private SelectedAppsHandling mSelectedAppsHandling = SelectedAppsHandling.SELECTED_APPS_DISABLE;
private VpnType mVpnType;
private UUID mUUID;
@@ -193,6 +193,16 @@ public class VpnProfile implements Cloneable
this.mPort = port;
}
+ public Integer getNATKeepAlive()
+ {
+ return mNATKeepAlive;
+ }
+
+ public void setNATKeepAlive(Integer keepalive)
+ {
+ this.mNATKeepAlive = keepalive;
+ }
+
public void setExcludedSubnets(String excludedSubnets)
{
this.mExcludedSubnets = excludedSubnets;
diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfileDataSource.java b/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfileDataSource.java
index 380dbda39..7154336c7 100644
--- a/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfileDataSource.java
+++ b/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfileDataSource.java
@@ -51,6 +51,7 @@ public class VpnProfileDataSource
public static final String KEY_INCLUDED_SUBNETS = "included_subnets";
public static final String KEY_SELECTED_APPS = "selected_apps";
public static final String KEY_SELECTED_APPS_LIST = "selected_apps_list";
+ public static final String KEY_NAT_KEEPALIVE = "nat_keepalive";
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDatabase;
@@ -59,7 +60,7 @@ public class VpnProfileDataSource
private static final String DATABASE_NAME = "strongswan.db";
private static final String TABLE_VPNPROFILE = "vpnprofile";
- private static final int DATABASE_VERSION = 12;
+ private static final int DATABASE_VERSION = 13;
public static final String DATABASE_CREATE =
"CREATE TABLE " + TABLE_VPNPROFILE + " (" +
@@ -80,7 +81,8 @@ public class VpnProfileDataSource
KEY_EXCLUDED_SUBNETS + " TEXT," +
KEY_INCLUDED_SUBNETS + " TEXT," +
KEY_SELECTED_APPS + " INTEGER," +
- KEY_SELECTED_APPS_LIST + " TEXT" +
+ KEY_SELECTED_APPS_LIST + " TEXT," +
+ KEY_NAT_KEEPALIVE + " INTEGER" +
");";
private static final String[] ALL_COLUMNS = new String[] {
KEY_ID,
@@ -101,6 +103,7 @@ public class VpnProfileDataSource
KEY_INCLUDED_SUBNETS,
KEY_SELECTED_APPS,
KEY_SELECTED_APPS_LIST,
+ KEY_NAT_KEEPALIVE,
};
private static class DatabaseHelper extends SQLiteOpenHelper
@@ -180,6 +183,11 @@ public class VpnProfileDataSource
db.execSQL("ALTER TABLE " + TABLE_VPNPROFILE + " ADD " + KEY_SELECTED_APPS_LIST +
" TEXT;");
}
+ if (oldVersion < 13)
+ {
+ db.execSQL("ALTER TABLE " + TABLE_VPNPROFILE + " ADD " + KEY_NAT_KEEPALIVE +
+ " INTEGER;");
+ }
}
private void updateColumns(SQLiteDatabase db)
@@ -359,6 +367,7 @@ public class VpnProfileDataSource
profile.setIncludedSubnets(cursor.getString(cursor.getColumnIndex(KEY_INCLUDED_SUBNETS)));
profile.setSelectedAppsHandling(getInt(cursor, cursor.getColumnIndex(KEY_SELECTED_APPS)));
profile.setSelectedApps(cursor.getString(cursor.getColumnIndex(KEY_SELECTED_APPS_LIST)));
+ profile.setNATKeepAlive(getInt(cursor, cursor.getColumnIndex(KEY_NAT_KEEPALIVE)));
return profile;
}
@@ -382,6 +391,7 @@ public class VpnProfileDataSource
values.put(KEY_INCLUDED_SUBNETS, profile.getIncludedSubnets());
values.put(KEY_SELECTED_APPS, profile.getSelectedAppsHandling().getValue());
values.put(KEY_SELECTED_APPS_LIST, profile.getSelectedApps());
+ values.put(KEY_NAT_KEEPALIVE, profile.getNATKeepAlive());
return values;
}