From 065b1a57b70d9b05171828136dbb34cd82855c49 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 4 Sep 2022 10:44:34 +0200 Subject: [PATCH] Whois socket timeout --- app/src/main/java/eu/faircode/email/Whois.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/Whois.java b/app/src/main/java/eu/faircode/email/Whois.java index 623f08dbb3..897af779b5 100644 --- a/app/src/main/java/eu/faircode/email/Whois.java +++ b/app/src/main/java/eu/faircode/email/Whois.java @@ -20,11 +20,13 @@ package eu.faircode.email; */ import java.io.IOException; +import java.net.InetSocketAddress; import java.net.Socket; import java.net.UnknownHostException; public class Whois { private static final int WHOIS_PORT = 43; + private static final int WHOIS_TIMEOUT = 15 * 1000; // milliseconds static String get(String domain) throws IOException { return get(domain, getServer(domain), WHOIS_PORT); @@ -35,9 +37,13 @@ public class Whois { } static String get(String domain, String host, int port) throws IOException { - try (Socket socket = new Socket(host, port)) { + Socket socket = new Socket(); + socket.connect(new InetSocketAddress(host, port), WHOIS_TIMEOUT); + try { socket.getOutputStream().write((domain + "\n").getBytes()); return host + ":" + port + "\n" + Helper.readStream(socket.getInputStream()); + } finally { + socket.close(); } }