]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
complement defaults and prints for resolver
authorMatthijs Mekking <matje@NLnetLabs.nl>
Wed, 21 Apr 2010 12:12:06 +0000 (12:12 +0000)
committerMatthijs Mekking <matje@NLnetLabs.nl>
Wed, 21 Apr 2010 12:12:06 +0000 (12:12 +0000)
Changelog
host2str.c
ldns/resolver.h
resolver.c

index 39ea20f531ebe7d8073a6f0b9adfa9c56cb25416..743fd3c556a3d66eb9a58200b6a3572663992b36 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -25,6 +25,9 @@
        * 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.
 
index f2c7f6298f10147a288d00bdede792046b7c7f0c..a3abe75916e112744ea01ccc6f636d89bb71fcfa 100644 (file)
@@ -1911,20 +1911,33 @@ ldns_resolver_print(FILE *output, const ldns_resolver *r)
        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]);
index 2dec3846426a13f494e702bd01b531573fc8d4de..6bf37a404ba6683c0c346c391e6ada163d8de3c1 100644 (file)
@@ -207,6 +207,18 @@ bool ldns_resolver_usevc(const ldns_resolver *r);
  * \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
index f459d364ec87d6223b45219dcb1695995469dfa5..ef34d02b5ac9b5b8ab7e1e2d6722c64dee7e1474 100644 (file)
@@ -594,6 +594,9 @@ ldns_resolver_new(void)
        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