diff --git a/src/util-internal.c b/src/util-internal.c index 2e656bba..1200157f 100644 --- a/src/util-internal.c +++ b/src/util-internal.c @@ -45,6 +45,9 @@ #include "util-internal.h" #include "types-internal.h" #include "rr-dict.h" +#if defined(WIRE_DEBUG) && WIRE_DEBUG +#include "gldns/wire2str.h" +#endif /** * this is a comprehensive list of extensions and their data types @@ -553,6 +556,23 @@ create_getdns_response(getdns_dns_req *completed_request) /* info (bools) about dns_req */ int dnssec_return_status; +#if defined(WIRE_DEBUG) && WIRE_DEBUG + char *str_pkt; + for ( netreq_p = completed_request->netreqs + ; ! r && (netreq = *netreq_p) + ; netreq_p++) { + + if (! netreq->result) + continue; + + if ((str_pkt = gldns_wire2str_pkt( + netreq->response, netreq->max_udp_payload_size))) { + fprintf(stderr, "%s\n", str_pkt); + free(str_pkt); + } + } +#endif + dnssec_return_status = completed_request->dnssec_return_status || completed_request->dnssec_return_only_secure; diff --git a/src/util-internal.h b/src/util-internal.h index 044ac5ca..7d19c1f5 100644 --- a/src/util-internal.h +++ b/src/util-internal.h @@ -42,6 +42,7 @@ #include "context.h" #define SCHED_DEBUG 0 +#define WIRE_DEBUG 1 #ifdef S_SPLINT_S # define INLINE