Hi,
We are using smack for our Android app. We noticed that for some French mobile networks operators, we have a DNS resolution error.
However the query DNS succeed to resolve DNS but the response doesn’t contains RA flags.
Query :
DnsMessage(40048 QUERY NO_ERROR query[qr=0] rd)
[Q: xmpp-02.x. IN A]
[X: EDNS: version: 0, flags:; udp: 1024]
Response :
DnsMessage(40048 QUERY NO_ERROR resp[qr=1] rd)
[Q: xmpp-02.x. IN A]
[A: xmpp-02.x. x IN A x.x.x.x]
[X: EDNS: version: 0, flags:; udp: 4096]
Log:
Could not resolve DNS SRV resource records for _xmpp-client._tcp.x. Consider adding those.
The DNS server /x.x.x.x returned a response without the "recursion available" (RA) flag set. This likely indicates a misconfiguration because the server is not suitable for DNS resolution.
The DNS server /8.8.8.8 returned a response without the "recursion available" (RA) flag set. This likely indicates a misconfiguration because the server is not suitable for DNS resolution.
DNSClient.java line 155:
responseMessage = query(q, dns);
if (responseMessage == null) {
continue;
}
if (!responseMessage.recursionAvailable) {
boolean newRaServer = nonRaServers.add(dns);
if (newRaServer) {
LOGGER.warning("The DNS server "
+ dns
+ " returned a response without the \"recursion available\" (RA) flag set. This likely indicates a misconfiguration because the server is not suitable for DNS resolution");
}
continue;
}
Why MiniDns ignore response if recursion isn’t available even though response contains the IP ?
Thanks in advance for your help,
Louis
Smack version : 4.3.4