]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3106. [func] When logging client requests, include the name of
authorEvan Hunt <each@isc.org>
Thu, 5 May 2011 20:04:24 +0000 (20:04 +0000)
committerEvan Hunt <each@isc.org>
Thu, 5 May 2011 20:04:24 +0000 (20:04 +0000)
the TSIG key if any. [RT #23619]

CHANGES
bin/named/client.c

diff --git a/CHANGES b/CHANGES
index 32adc0120282ca63134a7accf014ae13a78d9617..392b4ec6543b88f5add2b457cdbc5267d56b6413 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+3106.  [func]          When logging client requests, include the name of
+                       the TSIG key if any. [RT #23619]
+
 3105.   [bug]           GOST support can be suppressed by "configure
                         --without-gost" [RT #24367]
 
index 29ebeeec595ddf380083bdb5b7e535e6d5bb9a9a..e4f5e0d73e73519caf74124c7ab2dc9a4191bbea 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: client.c,v 1.271 2011/01/11 23:47:12 tbox Exp $ */
+/* $Id: client.c,v 1.272 2011/05/05 20:04:24 each Exp $ */
 
 #include <config.h>
 
@@ -2682,19 +2682,30 @@ ns_client_logv(ns_client_t *client, isc_logcategory_t *category,
 {
        char msgbuf[2048];
        char peerbuf[ISC_SOCKADDR_FORMATSIZE];
-       const char *name = "";
-       const char *sep = "";
+       char signerbuf[DNS_NAME_FORMATSIZE];
+       const char *viewname = "";
+       const char *sep1 = "", *sep2 = "";
+       const char *signer = "";
 
        vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap);
+
        ns_client_name(client, peerbuf, sizeof(peerbuf));
+
+       if (client->signer != NULL) {
+               dns_name_format(client->signer, signerbuf, sizeof(signerbuf));
+               sep1 = "/key ";
+               signer = signerbuf;
+       }
+
        if (client->view != NULL && strcmp(client->view->name, "_bind") != 0 &&
            strcmp(client->view->name, "_default") != 0) {
-               name = client->view->name;
-               sep = ": view ";
+               sep2 = ": view ";
+               viewname = client->view->name;
        }
 
        isc_log_write(ns_g_lctx, category, module, level,
-                     "client %s%s%s: %s", peerbuf, sep, name, msgbuf);
+                     "client %s%s%s%s%s: %s",
+                     peerbuf, sep1, signer, sep2, viewname, msgbuf);
 }
 
 void