From: Miek Gieben Date: Tue, 15 Mar 2005 12:19:09 +0000 (+0000) Subject: allow printing of resolvers (not everything is printed yet X-Git-Tag: release-0.50~248 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8991e8119587c71a0c768abdc7664aec1d0d43fd;p=thirdparty%2Fldns.git allow printing of resolvers (not everything is printed yet --- diff --git a/host2str.c b/host2str.c index f33b17e5..fc31654b 100644 --- a/host2str.c +++ b/host2str.c @@ -1201,3 +1201,35 @@ ldns_rr_list_print(FILE *output, ldns_rr_list *lst) } FREE(str); } + +void +ldns_resolver_print(FILE *output, ldns_resolver *r) +{ + uint16_t i; + ldns_rdf **n; + if (!r) { + return; + } + n = ldns_resolver_nameservers(r); + + fprintf(output, "port: %d\n", ldns_resolver_port(r)); + fprintf(output, "edns0 size: %d\n", ldns_resolver_edns_udp_size(r)); + + fprintf(output, "recursive: %d\n", ldns_resolver_recursive(r)); + fprintf(output, "usevc: %d\n", ldns_resolver_usevc(r)); + fprintf(output, "igntc: %d\n", ldns_resolver_igntc(r)); + fprintf(output, "fail: %d\n", ldns_resolver_fail(r)); + + fprintf(output, "default domain:"); + ldns_rdf_print(output, ldns_resolver_domain(r)); fprintf(output, "\n"); + + fprintf(output, "nameservers:\n"); + for (i = 0; i < ldns_resolver_nameserver_count(r); i++) { + fprintf(output, "\t"); + ldns_rdf_print(output, n[i]); + fprintf(output, "\n"); + } + + + +} diff --git a/ldns/host2str.h b/ldns/host2str.h index 51cff0c8..c70a0326 100644 --- a/ldns/host2str.h +++ b/ldns/host2str.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include "util.h" @@ -121,5 +122,7 @@ void ldns_pkt_print(FILE *output, ldns_pkt *pkt); ldns_status ldns_rr_list2buffer_str(ldns_buffer *, ldns_rr_list *); void ldns_rr_list_print(FILE *, ldns_rr_list *); +void ldns_resolver_print(FILE *, ldns_resolver *); + #endif diff --git a/ldns/resolver.h b/ldns/resolver.h index 00c4ec4d..8dba15a8 100644 --- a/ldns/resolver.h +++ b/ldns/resolver.h @@ -99,6 +99,7 @@ bool ldns_resolver_debug(ldns_resolver *); bool ldns_resolver_usevc(ldns_resolver *); bool ldns_resolver_fail(ldns_resolver *); bool ldns_resolver_dnssec(ldns_resolver *); +bool ldns_resolver_igntc(ldns_resolver *r); size_t ldns_resolver_nameserver_count(ldns_resolver *); @@ -144,6 +145,7 @@ void ldns_resolver_set_retrans(ldns_resolver *, uint8_t); void ldns_resolver_set_retry(ldns_resolver *, uint8_t); void ldns_resolver_set_ip6(ldns_resolver *, uint8_t); void ldns_resolver_set_fail(ldns_resolver *, bool); +void ldns_resolver_set_igntc(ldns_resolver *, bool); void ldns_resolver_set_edns_udp_size(ldns_resolver *, uint16_t); /** diff --git a/run-test16.c b/run-test16.c index 70245737..2c133401 100644 --- a/run-test16.c +++ b/run-test16.c @@ -91,6 +91,9 @@ main(void) ldns_resolver_push_nameserver_rr_list(res, list); ldns_resolver_push_nameserver_rr_list(res, list); ldns_resolver_push_nameserver_rr_list(res, list); + + printf("The whole resolver\n\n"); + ldns_resolver_print(stdout, res); nss = ldns_resolver_nameservers(res); if (!nss) {