From 4a72f7ff904314d87fd2f9d165ad6bdbf41ccffd Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 27 Jul 2019 16:39:45 +0200 Subject: [PATCH] Scan all addresses --- .../main/java/eu/faircode/email/EmailProvider.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/EmailProvider.java b/app/src/main/java/eu/faircode/email/EmailProvider.java index 4257c048f8..d42bc99956 100644 --- a/app/src/main/java/eu/faircode/email/EmailProvider.java +++ b/app/src/main/java/eu/faircode/email/EmailProvider.java @@ -418,9 +418,16 @@ public class EmailProvider { @Override public Boolean call() { try (Socket socket = new Socket()) { - InetAddress iaddr = InetAddress.getByName(host); - InetSocketAddress inetSocketAddress = new InetSocketAddress(iaddr, Server.this.port); - socket.connect(inetSocketAddress, DNS_TIMEOUT); + InetAddress[] iaddr = InetAddress.getAllByName(host); + for (int i = 0; i < iaddr.length; i++) + try { + Log.i("Connecting to " + iaddr[i]); + InetSocketAddress inetSocketAddress = new InetSocketAddress(iaddr[i], Server.this.port); + socket.connect(inetSocketAddress, DNS_TIMEOUT); + } catch (Throwable ex) { + if (i + 1 == iaddr.length) + throw ex; + } Log.i("Reachable " + Server.this); return true; } catch (IOException ex) {