summaryrefslogtreecommitdiffstats
path: root/src/openvpn/manage.h
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2014-03-21 14:18:36 +0100
committerGert Doering <gert@greenie.muc.de>2014-03-22 19:16:41 +0100
commitc058cbffc182b6618182a3ff8b13c66d01ce937d (patch)
tree5e877124d8c16ad33d461f6a35362fbb9f7e052e /src/openvpn/manage.h
parentac1c2f259b44d1229a65a3e639b09d57a4e2a53b (diff)
downloadopenvpn-c058cbffc182b6618182a3ff8b13c66d01ce937d.tar.gz
openvpn-c058cbffc182b6618182a3ff8b13c66d01ce937d.tar.xz
openvpn-c058cbffc182b6618182a3ff8b13c66d01ce937d.zip
Workaround broken Android 4.4 VpnService API for persist-tun mode
In Android 4.4 it is not possible to open a new tun device and then close the old tun device without breaking the whole VPNService stack until the device is rebooted. Add new management method to ask the UI what method should be taken to ensure the optimal solution for the situation. Then do open-before-close or close-before-open inside open_tun() as requested. Acked-by: Gert Doering <gert@greenie.muc.de> Message-Id: <1395407925-25518-4-git-send-email-arne@rfc2549.org> URL: http://article.gmane.org/gmane.network.openvpn.devel/8373 Signed-off-by: Gert Doering <gert@greenie.muc.de>
Diffstat (limited to 'src/openvpn/manage.h')
-rw-r--r--src/openvpn/manage.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/openvpn/manage.h b/src/openvpn/manage.h
index 962b5bc..1c8dda6 100644
--- a/src/openvpn/manage.h
+++ b/src/openvpn/manage.h
@@ -378,6 +378,11 @@ bool management_query_user_pass (struct management *man,
#ifdef TARGET_ANDROID
bool management_android_control (struct management *man, const char *command, const char *msg);
+
+#define ANDROID_KEEP_OLD_TUN 1
+#define ANDROID_OPEN_AFTER_CLOSE 2
+#define ANDROID_OPEN_BEFORE_CLOSE 3
+int managment_android_persisttun_action (struct management *man);
#endif
bool management_should_daemonize (struct management *man);