]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3475. [func] expand logging when adding records via DDNS update
authorCurtis Blackburn <ckb@isc.org>
Thu, 24 Jan 2013 22:35:23 +0000 (16:35 -0600)
committerCurtis Blackburn <ckb@isc.org>
Thu, 24 Jan 2013 22:35:23 +0000 (16:35 -0600)
  [RT #32365]

CHANGES
bin/named/update.c

diff --git a/CHANGES b/CHANGES
index 978a37ad0a82f08773309c95d4f3585a381ef63f..ed3f78368f517a95d7541a8a1fe0dc7ccd9d8b80 100644 (file)
--- 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]
 
index 0df00c083c557078efade1a5049fbe60eb0aceb6..0d0ddf790dd84ec7f3cd159d02b71e700f278961 100644 (file)
@@ -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. */