no dns retry after nosrv error

This commit is contained in:
iNPUTmice 2014-10-04 14:33:14 +02:00
parent d5e62ffe89
commit 5371dd025a
2 changed files with 7 additions and 6 deletions

View file

@ -30,17 +30,16 @@ public class DNSHelper {
String dns[] = client.findDNS();
if (dns != null) {
// we have a list of DNS servers, let's go
for (String dnsserver : dns) {
InetAddress ip = InetAddress.getByName(dnsserver);
Bundle b = queryDNS(host, ip);
if (b.containsKey("name")) {
return b;
} else if (b.containsKey("error") && "nosrv".equals(b.getString("error", null))) {
return b;
}
}
}
// fallback
return queryDNS(host, InetAddress.getByName("8.8.8.8"));
}
@ -164,10 +163,8 @@ public class DNSHelper {
}
} catch (SocketTimeoutException e) {
Log.d(Config.LOGTAG, "timeout during dns");
namePort.putString("error", "timeout");
} catch (Exception e) {
Log.d(Config.LOGTAG, "unhandled exception in sub project");
namePort.putString("error", "unhandled");
}
return namePort;

View file

@ -166,8 +166,12 @@ public class XmppConnection implements Runnable {
+ ":" + srvRecordPort);
socket = new Socket(srvRecordServer, srvRecordPort);
}
} else {
} else if (namePort.containsKey("error") && "nosrv".equals(namePort.getString("error", null))) {
socket = new Socket(account.getServer(), 5222);
} else {
Log.d(Config.LOGTAG,account.getJid()+": timeout in DNS resolution");
changeStatus(Account.STATUS_OFFLINE);
return;
}
OutputStream out = socket.getOutputStream();
tagWriter.setOutputStream(out);