aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/utils/Resolver.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2017-06-27 21:11:40 +0200
committerChristian Schneppe <christian@pix-art.de>2017-06-27 21:11:40 +0200
commit6c2479b29c93222f83a2e672531fb681143c6fd1 (patch)
treee93bdae7e3b46d0560c221bfa6c43fb398cd8547 /src/main/java/de/pixart/messenger/utils/Resolver.java
parent6b38dc4dbc2f5435c45197fe14ed2d920a7ffd4e (diff)
revised resolver strategy
Diffstat (limited to 'src/main/java/de/pixart/messenger/utils/Resolver.java')
-rw-r--r--src/main/java/de/pixart/messenger/utils/Resolver.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/main/java/de/pixart/messenger/utils/Resolver.java b/src/main/java/de/pixart/messenger/utils/Resolver.java
index 02663b283..89961a3c3 100644
--- a/src/main/java/de/pixart/messenger/utils/Resolver.java
+++ b/src/main/java/de/pixart/messenger/utils/Resolver.java
@@ -13,7 +13,6 @@ import java.util.List;
import de.measite.minidns.DNSClient;
import de.measite.minidns.DNSName;
import de.measite.minidns.dnssec.DNSSECResultNotAuthenticException;
-import de.measite.minidns.dnssec.DNSSECValidationFailedException;
import de.measite.minidns.hla.DnssecResolverApi;
import de.measite.minidns.hla.ResolverApi;
import de.measite.minidns.hla.ResolverResult;
@@ -94,8 +93,13 @@ public class Resolver {
private static <D extends Data> ResolverResult<D> resolveWithFallback(DNSName dnsName, Class<D> type) throws IOException {
try {
return DnssecResolverApi.INSTANCE.resolveDnssecReliable(dnsName, type);
- } catch (DNSSECValidationFailedException | DNSSECResultNotAuthenticException e) {
- Log.d(Config.LOGTAG, Resolver.class.getSimpleName() + ": error resolving " + type.getSimpleName() + " with DNSSEC. Trying DNS instead " + e.getMessage());
+ } catch (DNSSECResultNotAuthenticException e) {
+ Log.d(Config.LOGTAG, Resolver.class.getSimpleName() + ": error resolving " + type.getSimpleName() + " with DNSSEC. Trying DNS instead.", e);
+ return ResolverApi.INSTANCE.resolve(dnsName, type);
+ } catch (IOException e) {
+ throw e;
+ } catch (Throwable throwable) {
+ Log.d(Config.LOGTAG, Resolver.class.getSimpleName() + ": error resolving " + type.getSimpleName() + " with DNSSEC. Trying DNS instead.", throwable);
return ResolverApi.INSTANCE.resolve(dnsName, type);
}
}