From c91c439f80c555f016cce8e9fd910630f81bb5c9 Mon Sep 17 00:00:00 2001 From: Curtis Blackburn Date: Thu, 24 Jan 2013 16:35:23 -0600 Subject: [PATCH] 3475. [func] expand logging when adding records via DDNS update [RT #32365] --- CHANGES | 3 +++ bin/named/update.c | 17 +++++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index 978a37ad0a..ed3f78368f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +3475. [func] expand logging when adding records via DDNS update + [RT #32365] + 3474. [bug] nsupdate could assert when the local and remote address families didn't match. [RT #22897] diff --git a/bin/named/update.c b/bin/named/update.c index 0df00c083c..0d0ddf790d 100644 --- a/bin/named/update.c +++ b/bin/named/update.c @@ -2859,13 +2859,22 @@ update_action(isc_task_t *task, isc_event_t *event) { if (isc_log_wouldlog(ns_g_lctx, LOGLEVEL_PROTOCOL)) { char namestr[DNS_NAME_FORMATSIZE]; char typestr[DNS_RDATATYPE_FORMATSIZE]; - dns_name_format(name, namestr, - sizeof(namestr)); + char rdstr[4096]; + isc_buffer_t buf; + isc_region_t r; + int len = 0; + dns_name_format(name, namestr, sizeof(namestr)); dns_rdatatype_format(rdata.type, typestr, sizeof(typestr)); + isc_buffer_init(&buf, rdstr, sizeof(rdstr)); + result = dns_rdata_totext(&rdata, NULL, &buf); + isc_buffer_usedregion(&buf, &r); + if (result == ISC_R_SUCCESS) + len = r.length; update_log(client, zone, LOGLEVEL_PROTOCOL, - "adding an RR at '%s' %s", - namestr, typestr); + "adding an RR at '%s' %s %.*s", + namestr, typestr, len, + (char *) r.base); } /* Prepare the affected RRset for the addition. */