DNS improvements

This commit is contained in:
M66B 2024-01-30 07:57:01 +01:00
parent ac909f825f
commit 346c125125
1 changed files with 19 additions and 2 deletions

View File

@ -200,9 +200,20 @@ public class DnsHelper {
Log.i("DNS query name=" + type + ":" + name);
ResolverResult<? extends Data> data = resolver.resolve(name, clazz);
Log.i("DNS resolved name=" + type + ":" + name +
" success=" + data.wasSuccessful() +
" rcode=" + data.getResponseCode());
try {
data.throwIfErrorResponse();
} catch (Throwable ex) {
Log.e("DNS error message=" + ex.getMessage());
Log.e(ex);
throw ex;
}
boolean secure = (data.getUnverifiedReasons() != null);
Log.i("DNS secure=" + secure + " dnssec=" + dnssec);
if (secure && dnssec) {
DnssecResultNotAuthenticException ex = data.getDnssecResultNotAuthenticException();
if (ex != null)
@ -268,7 +279,12 @@ public class DnsHelper {
for (DnsRecord record : result) {
record.query = name;
record.secure = secure;
try {
record.authentic = data.isAuthenticData();
} catch (Throwable ex) {
Log.w(ex);
record.authentic = false;
}
}
if ("mx".equals(type) || "srv".equals(type))
@ -568,6 +584,7 @@ public class DnsHelper {
@Override
public void onAnswer(@NonNull byte[] bytes, int rcode) {
try {
Log.i("DNS rcode=" + rcode);
DnsMessage answer = new DnsMessage(bytes)
.asBuilder()
.setResponseCode(DnsMessage.RESPONSE_CODE.getResponseCode(rcode))