Increase DNS timeout for DnsProxy.testUpstream
It is possible that the server response is rather slow (i've seen cases with up to 10 seconds) so it's okay to use a high timeout.
Also, it'd be better to request ipv4only.arpa instead of some Google domains which might be blocked in some geos.
testUpstream accepts full upstream settings, including timeout :) The idea is that the same settings should be passed to testUpstream that would be used to initialize the proxy. And we are already using ipv4only.arpa as the domain for the test query :)
Oh, I see the problem: there's an IPv6 "connectivity check" (to decide if bootstrapper should make AAAA queries) that's actually trying to do a DNS exchange over UDP over IPv6 with Google public DNS (2001:4860:4860::8888).
But f the IPv6 connectivity check fails, that means only that the bootstrapper won't make AAAA queries. To break in this fashion, the network would both have to be IPv6-only AND block Google DNS.
Still we should just accept a parameter from the application instead of doing a check. There's no robust way to check anything if anything could be blocked or arbitrarily slow :harold: