android: Avoid DNS leak due to blocking TUN device without DNS servers
authorTobias Brunner <tobias@strongswan.org>
Fri, 21 Sep 2018 13:07:44 +0000 (15:07 +0200)
committerTobias Brunner <tobias@strongswan.org>
Wed, 17 Oct 2018 09:56:30 +0000 (11:56 +0200)
commit84ee9577e1c7d68e149310ca0f1d2e6cec9cfdab
tree3d4e12cc363eff1059dddab39e1e27fc0f57895d
parente89cfe4854e525f5ca474d93b21fb1642dceec21
android: Avoid DNS leak due to blocking TUN device without DNS servers

It looks like Android 9 incorrectly continues to use the regular DNS
servers after the blocking TUN device is replaced with the actual
interface.  Setting DNS servers prevents that (since all traffic is
blocked, which ones doesn't really matter but local/loopback addresses
are rejected).
Interestingly, if the VPN server later does not assign any DNS servers, there
is no fallback to the non-VPN DNS servers for some reason (that's definitely
not as documented).  This could potentially be a problem as we don't
offer an option to configure DNS servers in the VPN profile.

Neither issue is seen on older Android versions (only tested on 7.1.1).
src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java