* Fixed ldns_verify() inconsistent return values.
* Fixed ldns_resolver to copy and free tsig name, data and algorithm.
* Fixed ldns_resolver to push search onto searchlist.
+ * A ldns resolver now defaults to a non-recursive resolver that handles
+ the TC bit.
+ * ldns_resolver_print() prints more details.
* Fixed ldns_rdf2buffer_str_time(), which did not print timestramps
on 64bit systems.
fprintf(output, "igntc: %d\n", ldns_resolver_igntc(r));
fprintf(output, "fail: %d\n", ldns_resolver_fail(r));
fprintf(output, "retry: %d\n", (int)ldns_resolver_retry(r));
+ fprintf(output, "retrans: %d\n", (int)ldns_resolver_retrans(r));
+ fprintf(output, "fallback: %d\n", ldns_resolver_fallback(r));
+ fprintf(output, "random: %d\n", ldns_resolver_random(r));
fprintf(output, "timeout: %d\n", (int)ldns_resolver_timeout(r).tv_sec);
+ fprintf(output, "dnssec: %d\n", ldns_resolver_dnssec(r));
+ fprintf(output, "dnssec cd: %d\n", ldns_resolver_dnssec_cd(r));
+ /* trust anchors */
+ fprintf(output, "transport: %s\n", ldns_resolver_usevc(r)?"tcp":"udp");
+ fprintf(output, "tc: %s\n", ldns_resolver_igntc(r)?"ignore":"yes");
+ fprintf(output, "ip: %d\n", ldns_resolver_ip6(r));
+ fprintf(output, "debug: %d\n", ldns_resolver_debug(r));
+ /* tsig */
fprintf(output, "default domain: ");
ldns_rdf_print(output, ldns_resolver_domain(r));
fprintf(output, "\n");
+ fprintf(output, "apply default domain: %d\n", ldns_resolver_defnames(r));
- fprintf(output, "searchlist:\n");
+ fprintf(output, "searchlist (%i listed):\n", ldns_resolver_searchlist_count(r));
for (i = 0; i < ldns_resolver_searchlist_count(r); i++) {
fprintf(output, "\t");
ldns_rdf_print(output, s[i]);
fprintf(output, "\n");
}
+ fprintf(output, "apply search list: %d\n", ldns_resolver_dnsrch(r));
- fprintf(output, "nameservers:\n");
+ fprintf(output, "nameservers (%i listed):\n", ldns_resolver_nameserver_count(r));
for (i = 0; i < ldns_resolver_nameserver_count(r); i++) {
fprintf(output, "\t");
ldns_rdf_print(output, n[i]);
* \return true: yes, fail, false: no, try the others
*/
bool ldns_resolver_fail(const ldns_resolver *r);
+/**
+ * Does the resolver apply default domain name
+ * \param[in] r the resolver
+ * \return true: yes, false: no
+ */
+bool ldns_resolver_defnames(const ldns_resolver *r);
+/**
+ * Does the resolver ignore TC bit
+ * \param[in] r the resolver
+ * \return true: yes, false: no
+ */
+bool ldns_resolver_igntc(const ldns_resolver *r);
/**
* Does the resolver do DNSSEC
* \param[in] r the resolver
ldns_resolver_set_dnssec_cd(r, false);
ldns_resolver_set_dnssec_anchors(r, NULL);
ldns_resolver_set_ip6(r, LDNS_RESOLV_INETANY);
+ ldns_resolver_set_igntc(r, false);
+ ldns_resolver_set_recursive(r, false);
+ ldns_resolver_set_dnsrch(r, true); /* is not used? */
/* randomize the nameserver to be queried
* when there are multiple