/** * Resolve the given name and type which is expected to yield DNSSEC authenticated results. * * @param name the DNS name to resolve. * @param type the class of the RR type to resolve. * @param <D> the RR type to resolve. * @return the resolver result. * @throws IOException in case an exception happens while resolving. * @see #resolveDnssecReliable(Question) */ public <D extends Data> ResolverResult<D> resolveDnssecReliable(String name, Class<D> type) throws IOException { return resolveDnssecReliable(DNSName.from(name), type); }
@Override public <D extends Data> ResolverResult<D> resolve(Question question) throws IOException { DNSSECMessage dnssecMessage = dnssecClient.queryDnssec(question); return toResolverResult(question, dnssecMessage); }
/** * Resolve the given question which is expected to yield DNSSEC authenticated results. * * @param question the question to resolve. * @param <D> the RR type to resolve. * @return the resolver result. * @throws IOException in case an exception happens while resolving. */ public <D extends Data> ResolverResult<D> resolveDnssecReliable(Question question) throws IOException { DNSSECMessage dnssecMessage = recursiveOnlyDnssecClient.queryDnssec(question); if (dnssecMessage == null || !dnssecMessage.authenticData) { dnssecMessage = iterativeOnlyDnssecClient.queryDnssec(question); } return toResolverResult(question, dnssecMessage); }
/** * Resolve the given name and type which is expected to yield DNSSEC authenticated results. * * @param name the DNS name to resolve. * @param type the class of the RR type to resolve. * @param <D> the RR type to resolve. * @return the resolver result. * @throws IOException in case an exception happens while resolving. * @see #resolveDnssecReliable(Question) */ public <D extends Data> ResolverResult<D> resolveDnssecReliable(DNSName name, Class<D> type) throws IOException { TYPE t = TYPE.getType(type); Question q = new Question(name, t); return resolveDnssecReliable(q); }