Always use the default network DNS servers if a VPN does not set any.

When a VPN provides no DNS servers, DNS lookups are usually sent
to the default network's DNS servers. However, if a DNS lookup
is explicitly made on the VPN (e.g., via Network#openConnection),
then it just fails.

This breaks system proxies which perform network traffic on VPNs
on behalf of other apps, e.g., the download manager.

Fix this by doing the query to the default DNS servers (via the
default network) instead. This is consistent with what we do with
DNS queries that do not specify a network. While this is a change
in behaviour, it shouldn't cause much breakage because the query
would previously just fail.

Bug: 29498052
Change-Id: Ie4002c9835bb1ff6d3d92c00c9c04e634fc3cda4
1 file changed
tree: 886f85e47740239e296788e83a37d765b5e59a99
  1. client/
  2. include/
  3. server/
  4. tests/
  5. Android.mk
  6. MODULE_LICENSE_APACHE2
  7. NOTICE