Set the explicit bit on DNS queries when it is safe to do so.

Generally, it is not safe to set the explicit bit on DNS queries
due to the presence of (split tunnel) VPNs. However, the vast
majority of DNS queries occur without a VPN, and in these cases
it is safe to set the explicit bit.

Setting the explicit bit on DNS queries allows us to use upstream
DNS servers even in the case that we have a route to them in the
local_network table. This is the case, for example, when
tethering an Android device to a hotspot created by another
Android device.

Bug: 70673901
Test: marlin builds, boots
Test: netd_{unit,integration}_test pass
Merged-In: Id44af164b86ccd15d43313cf3f56b301fb402de2
Merged-In: Icae675067c670548b2ffe7ca8a00ae656fa68c8f
Change-Id: Ic24e3df9ca47b54256f012aee0facfcd410ce541
(cherry picked from commit 95f1bcb0034ef9394d1ab0095177ed75ae7c7202)
1 file changed