MiniDNS: disable using Google's DNS server

pull/214/head
M66B 12 months ago
parent 7d18070860
commit 4b41975935

@ -29,10 +29,12 @@ import android.text.TextUtils;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import org.minidns.AbstractDnsClient;
import org.minidns.DnsClient; import org.minidns.DnsClient;
import org.minidns.dnsmessage.DnsMessage; import org.minidns.dnsmessage.DnsMessage;
import org.minidns.dnsqueryresult.DnsQueryResult; import org.minidns.dnsqueryresult.DnsQueryResult;
import org.minidns.dnsqueryresult.StandardDnsQueryResult; import org.minidns.dnsqueryresult.StandardDnsQueryResult;
import org.minidns.dnssec.DnssecClient;
import org.minidns.dnssec.DnssecResultNotAuthenticException; import org.minidns.dnssec.DnssecResultNotAuthenticException;
import org.minidns.dnssec.DnssecValidationFailedException; import org.minidns.dnssec.DnssecValidationFailedException;
import org.minidns.dnsserverlookup.AbstractDnsServerLookupMechanism; import org.minidns.dnsserverlookup.AbstractDnsServerLookupMechanism;
@ -127,9 +129,10 @@ public class DnsHelper {
try { try {
ResolverApi resolver = DnssecResolverApi.INSTANCE; ResolverApi resolver = DnssecResolverApi.INSTANCE;
AbstractDnsClient client = resolver.getClient();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
resolver.getClient().setDataSource(new AbstractDnsDataSource() { client.setDataSource(new AbstractDnsDataSource() {
private IOException ex; private IOException ex;
private DnsQueryResult result; private DnsQueryResult result;
@ -196,7 +199,7 @@ public class DnsHelper {
} }
}); });
resolver.getClient().getDataSource().setTimeout(timeout * 1000); client.getDataSource().setTimeout(timeout * 1000);
List<String> servers = getDnsServers(context); List<String> servers = getDnsServers(context);
Log.i("DNS servers=" + TextUtils.join(",", servers)); Log.i("DNS servers=" + TextUtils.join(",", servers));
@ -214,6 +217,10 @@ public class DnsHelper {
} }
}); });
// https://github.com/MiniDNS/minidns/issues/102
if (client instanceof DnssecClient && !BuildConfig.PLAY_STORE_RELEASE)
((DnssecClient) client).setUseHardcodedDnsServers(false);
Log.i("DNS query name=" + type + ":" + name); Log.i("DNS query name=" + type + ":" + name);
ResolverResult<? extends Data> data = resolver.resolve(name, clazz); ResolverResult<? extends Data> data = resolver.resolve(name, clazz);
data.throwIfErrorResponse(); data.throwIfErrorResponse();

Loading…
Cancel
Save