From: Jelte Jansen Date: Tue, 10 Jan 2006 10:22:43 +0000 (+0000) Subject: added verbosity argument X-Git-Tag: release-1.1.0~458 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cdc70c8d1c4737ffd195669fe3809899e545c021;p=thirdparty%2Fldns.git added verbosity argument added printing of all owners that are queried (at verbosity level 3) added printing of all answer packets (at verbosity level 5) --- diff --git a/examples/ldns-walk.c b/examples/ldns-walk.c index b9aae136..3f0d17b1 100644 --- a/examples/ldns-walk.c +++ b/examples/ldns-walk.c @@ -104,6 +104,7 @@ main(int argc, char *argv[]) int result = 0; size_t i; + char *arg_end_ptr = NULL; p = NULL; rrlist = NULL; @@ -112,6 +113,7 @@ main(int argc, char *argv[]) domain = NULL; res = NULL; + if (argc < 2) { usage(stdout, argv[0]); exit(EXIT_FAILURE); @@ -128,6 +130,18 @@ main(int argc, char *argv[]) exit(1); } i++; + } else if (strncmp(argv[i], "-v", 3) == 0) { + if (i + 1 < argc) { + verbosity = strtol(argv[i+1], &arg_end_ptr, 10); + if (*arg_end_ptr != '\0') { + printf("Bad argument for -v: %s\n", argv[i+1]); + exit(1); + } + } else { + printf("Missing argument for -v\n"); + exit(1); + } + i++; } else { if (argv[i][0] == '@') { if (strlen(argv[i]) == 1) { @@ -237,8 +251,20 @@ main(int argc, char *argv[]) /* use the resolver to send it a query for the soa * records of the domain given on the command line */ + if (verbosity >= 3) { + printf("\nQuerying for: "); + ldns_rdf_print(stdout, domain); + printf("\n"); + } p = ldns_resolver_query(res, domain, LDNS_RR_TYPE_SOA, LDNS_RR_CLASS_IN, LDNS_RD); soa = NULL; + if (verbosity >= 5) { + if (p) { + ldns_pkt_print(stdout, p); + } else { + fprintf(stdout, "No Packet Received from ldns_resolver_query()\n"); + } + } if (!p) { exit(3); @@ -295,7 +321,20 @@ main(int argc, char *argv[]) ldns_pkt_free(p); p = NULL; } + if (verbosity >= 3) { + printf("Querying for: "); + ldns_rdf_print(stdout, last_dname_p); + printf("\n"); + } p = ldns_resolver_query(res, last_dname_p, LDNS_RR_TYPE_ANY, LDNS_RR_CLASS_IN, LDNS_RD); + if (verbosity >= 5) { + if (p) { + ldns_pkt_print(stdout, p); + } else { + fprintf(stdout, "No Packet Received from ldns_resolver_query()\n"); + } + } + if (next_dname) { ldns_rdf_deep_free(next_dname); @@ -308,7 +347,20 @@ main(int argc, char *argv[]) ldns_rdf_print(stderr, last_dname_p); fprintf(stderr, "\n"); while (!p) { + if (verbosity >= 3) { + printf("Querying for: "); + ldns_rdf_print(stdout, last_dname_p); + printf("\n"); + } p = ldns_resolver_query(res, last_dname_p, LDNS_RR_TYPE_ANY, LDNS_RR_CLASS_IN, LDNS_RD); + if (verbosity >= 5) { + if (p) { + ldns_pkt_print(stdout, p); + } else { + fprintf(stdout, "No Packet Received from ldns_resolver_query()\n"); + } + } + if (!p) { fprintf(stderr, "Error trying to resolve: "); ldns_rdf_print(stderr, last_dname_p); @@ -324,7 +376,20 @@ main(int argc, char *argv[]) if (ldns_pkt_rcode(p) == 2) { ldns_pkt_free(p); p = NULL; + if (verbosity >= 3) { + printf("Querying for: "); + ldns_rdf_print(stdout, last_dname); + printf("\n"); + } p = ldns_resolver_query(res, last_dname, LDNS_RR_TYPE_ANY, LDNS_RR_CLASS_IN, LDNS_RD); + if (verbosity >= 5) { + if (p) { + ldns_pkt_print(stdout, p); + } else { + fprintf(stdout, "No Packet Received from ldns_resolver_query()\n"); + } + } + if (!p) { exit(51); }