diff options
author | Christian Schneppe <christian@pix-art.de> | 2017-06-27 21:11:40 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2017-06-27 21:11:40 +0200 |
commit | 6c2479b29c93222f83a2e672531fb681143c6fd1 (patch) | |
tree | e93bdae7e3b46d0560c221bfa6c43fb398cd8547 /src/main/java/de | |
parent | 6b38dc4dbc2f5435c45197fe14ed2d920a7ffd4e (diff) |
revised resolver strategy
Diffstat (limited to 'src/main/java/de')
-rw-r--r-- | src/main/java/de/pixart/messenger/utils/Resolver.java | 10 |
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); } } |