aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2017-06-28 18:34:40 +0200
committerTobias Brunner <tobias@strongswan.org>2017-07-03 10:33:29 +0200
commitdb599d6b289c47173c03cf6c7094a9f3f4d47850 (patch)
treef29a6d3220c191050a1854cd8fe650043a5bc6e9 /src
parenta28302317f0c29ca799bf6b09b7d3faf405c8f82 (diff)
downloadstrongswan-db599d6b289c47173c03cf6c7094a9f3f4d47850.tar.bz2
strongswan-db599d6b289c47173c03cf6c7094a9f3f4d47850.tar.xz
android: Use configured NAT-T keepalive interval
Diffstat (limited to 'src')
-rw-r--r--src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java1
-rw-r--r--src/frontends/android/app/src/main/jni/libandroidbridge/charonservice.c8
2 files changed, 6 insertions, 3 deletions
diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java
index 965edfb97..d8b4b4e44 100644
--- a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java
+++ b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java
@@ -250,6 +250,7 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe
SettingsWriter writer = new SettingsWriter();
writer.setValue("global.language", Locale.getDefault().getLanguage());
writer.setValue("global.mtu", mCurrentProfile.getMTU());
+ writer.setValue("global.nat_keepalive", mCurrentProfile.getNATKeepAlive());
writer.setValue("connection.type", mCurrentProfile.getVpnType().getIdentifier());
writer.setValue("connection.server", mCurrentProfile.getGateway());
writer.setValue("connection.port", mCurrentProfile.getPort());
diff --git a/src/frontends/android/app/src/main/jni/libandroidbridge/charonservice.c b/src/frontends/android/app/src/main/jni/libandroidbridge/charonservice.c
index 1e72cf5e0..f74936edb 100644
--- a/src/frontends/android/app/src/main/jni/libandroidbridge/charonservice.c
+++ b/src/frontends/android/app/src/main/jni/libandroidbridge/charonservice.c
@@ -420,6 +420,11 @@ static void initiate(settings_t *settings)
"charon.fragment_size",
settings->get_int(settings, "global.mtu",
ANDROID_DEFAULT_MTU));
+ /* use configured interval, or an increased default to save battery power */
+ lib->settings->set_int(lib->settings,
+ "charon.keep_alive",
+ settings->get_int(settings, "global.nat_keepalive",
+ ANDROID_KEEPALIVE_INTERVAL));
this->creds->clear(this->creds);
DESTROY_IF(this->service);
@@ -476,9 +481,6 @@ static void set_options(char *logfile)
"charon.retransmit_timeout", ANDROID_RETRANSMIT_TIMEOUT);
lib->settings->set_double(lib->settings,
"charon.retransmit_base", ANDROID_RETRANSMIT_BASE);
- /* increase NAT-T keepalive interval a bit to save battery power */
- lib->settings->set_time(lib->settings,
- "charon.keep_alive", ANDROID_KEEPALIVE_INTERVAL);
lib->settings->set_bool(lib->settings,
"charon.initiator_only", TRUE);
lib->settings->set_bool(lib->settings,