ignore timeout exceptions on secondary dns requests
This commit is contained in:
parent
7eb228d1a5
commit
a32a577e36
|
@ -127,14 +127,22 @@ public class DNSHelper {
|
||||||
ArrayList<Bundle> values = new ArrayList<>();
|
ArrayList<Bundle> values = new ArrayList<>();
|
||||||
if (result.size() == 0) {
|
if (result.size() == 0) {
|
||||||
DNSMessage response;
|
DNSMessage response;
|
||||||
|
try {
|
||||||
response = client.query(host, TYPE.A, CLASS.IN, dnsServer.getHostAddress());
|
response = client.query(host, TYPE.A, CLASS.IN, dnsServer.getHostAddress());
|
||||||
for (int i = 0; i < response.getAnswers().length; ++i) {
|
for (int i = 0; i < response.getAnswers().length; ++i) {
|
||||||
values.add(createNamePortBundle(host, 5222, response.getAnswers()[i].getPayload()));
|
values.add(createNamePortBundle(host, 5222, response.getAnswers()[i].getPayload()));
|
||||||
}
|
}
|
||||||
|
} catch (SocketTimeoutException e) {
|
||||||
|
Log.d(Config.LOGTAG,"ignoring timeout exception when querying A record on "+dnsServer.getHostAddress());
|
||||||
|
}
|
||||||
|
try {
|
||||||
response = client.query(host, TYPE.AAAA, CLASS.IN, dnsServer.getHostAddress());
|
response = client.query(host, TYPE.AAAA, CLASS.IN, dnsServer.getHostAddress());
|
||||||
for (int i = 0; i < response.getAnswers().length; ++i) {
|
for (int i = 0; i < response.getAnswers().length; ++i) {
|
||||||
values.add(createNamePortBundle(host, 5222, response.getAnswers()[i].getPayload()));
|
values.add(createNamePortBundle(host, 5222, response.getAnswers()[i].getPayload()));
|
||||||
}
|
}
|
||||||
|
} catch (SocketTimeoutException e) {
|
||||||
|
Log.d(Config.LOGTAG,"ignoring timeout exception when querying AAAA record on "+dnsServer.getHostAddress());
|
||||||
|
}
|
||||||
values.add(createNamePortBundle(host,5222));
|
values.add(createNamePortBundle(host,5222));
|
||||||
bundle.putParcelableArrayList("values", values);
|
bundle.putParcelableArrayList("values", values);
|
||||||
return bundle;
|
return bundle;
|
||||||
|
@ -143,10 +151,14 @@ public class DNSHelper {
|
||||||
if (ips6.containsKey(srv.getName())) {
|
if (ips6.containsKey(srv.getName())) {
|
||||||
values.add(createNamePortBundle(srv.getName(),srv.getPort(),ips6));
|
values.add(createNamePortBundle(srv.getName(),srv.getPort(),ips6));
|
||||||
} else {
|
} else {
|
||||||
|
try {
|
||||||
DNSMessage response = client.query(srv.getName(), TYPE.AAAA, CLASS.IN, dnsServer.getHostAddress());
|
DNSMessage response = client.query(srv.getName(), TYPE.AAAA, CLASS.IN, dnsServer.getHostAddress());
|
||||||
for (int i = 0; i < response.getAnswers().length; ++i) {
|
for (int i = 0; i < response.getAnswers().length; ++i) {
|
||||||
values.add(createNamePortBundle(srv.getName(), srv.getPort(), response.getAnswers()[i].getPayload()));
|
values.add(createNamePortBundle(srv.getName(), srv.getPort(), response.getAnswers()[i].getPayload()));
|
||||||
}
|
}
|
||||||
|
} catch (SocketTimeoutException e) {
|
||||||
|
Log.d(Config.LOGTAG,"ignoring timeout exception when querying AAAA record on "+dnsServer.getHostAddress());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (ips4.containsKey(srv.getName())) {
|
if (ips4.containsKey(srv.getName())) {
|
||||||
values.add(createNamePortBundle(srv.getName(),srv.getPort(),ips4));
|
values.add(createNamePortBundle(srv.getName(),srv.getPort(),ips4));
|
||||||
|
|
Loading…
Reference in a new issue