]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] log TSIG key on xfrin
authorEvan Hunt <each@isc.org>
Tue, 3 Nov 2015 04:13:13 +0000 (20:13 -0800)
committerEvan Hunt <each@isc.org>
Tue, 3 Nov 2015 04:13:13 +0000 (20:13 -0800)
4250. [func] Log the TSIG key in use during inbound zone
transfers. [RT #41075]

CHANGES
lib/dns/xfrin.c

diff --git a/CHANGES b/CHANGES
index 9d6b88dd9bcb4bfb189afe5a40cc42a5b1c992f7..914afd9d00c6964b84432902f848e14650d303ef 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+4250.  [func]          Log the TSIG key in use during inbound zone
+                       transfers. [RT #41075]
+
 4249.  [func]          Improve error reporting of TSIG / SIG(0) records in
                        the wrong location. [RT #41030]
 
index 4781465168ee5ad3712538be0f3b81337d22023f..aeace4600e73e382a4bec10c125d2e5da53b6a02 100644 (file)
@@ -970,6 +970,8 @@ xfrin_connect_done(isc_task_t *task, isc_event_t *event) {
        dns_xfrin_ctx_t *xfr = (dns_xfrin_ctx_t *) event->ev_arg;
        isc_result_t result = cev->result;
        char sourcetext[ISC_SOCKADDR_FORMATSIZE];
+       char signerbuf[DNS_NAME_FORMATSIZE];
+       const char *signer = "", *sep = "";
        isc_sockaddr_t sockaddr;
        dns_zonemgr_t * zmgr;
        isc_time_t now;
@@ -1004,7 +1006,16 @@ xfrin_connect_done(isc_task_t *task, isc_event_t *event) {
                isc_sockaddr_format(&sockaddr, sourcetext, sizeof(sourcetext));
        } else
                strcpy(sourcetext, "<UNKNOWN>");
-       xfrin_log(xfr, ISC_LOG_INFO, "connected using %s", sourcetext);
+
+       if (xfr->tsigkey != NULL && xfr->tsigkey->key != NULL) {
+               dns_name_format(dst_key_name(xfr->tsigkey->key),
+                               signerbuf, sizeof(signerbuf));
+               sep = " TSIG ";
+               signer = signerbuf;
+       }
+
+       xfrin_log(xfr, ISC_LOG_INFO, "connected using %s%s%s",
+                 sourcetext, sep, signer);
 
        dns_tcpmsg_init(xfr->mctx, xfr->socket, &xfr->tcpmsg);
        xfr->tcpmsg_valid = ISC_TRUE;