diff options
author | Arne Schwabe <arne@rfc2549.org> | 2014-03-21 14:18:36 +0100 |
---|---|---|
committer | Gert Doering <gert@greenie.muc.de> | 2014-03-22 19:16:41 +0100 |
commit | c058cbffc182b6618182a3ff8b13c66d01ce937d (patch) | |
tree | 5e877124d8c16ad33d461f6a35362fbb9f7e052e /src/openvpn/manage.h | |
parent | ac1c2f259b44d1229a65a3e639b09d57a4e2a53b (diff) | |
download | openvpn-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.h | 5 |
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); |