diff options
author | Tobias Brunner <tobias@strongswan.org> | 2017-06-28 18:34:40 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2017-07-03 10:33:29 +0200 |
commit | db599d6b289c47173c03cf6c7094a9f3f4d47850 (patch) | |
tree | f29a6d3220c191050a1854cd8fe650043a5bc6e9 /src | |
parent | a28302317f0c29ca799bf6b09b7d3faf405c8f82 (diff) | |
download | strongswan-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.java | 1 | ||||
-rw-r--r-- | src/frontends/android/app/src/main/jni/libandroidbridge/charonservice.c | 8 |
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, |