]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix missing newlines in output of `rndc nta -dump`
authorTony Finch <dot@dotat.at>
Tue, 15 Oct 2019 14:36:55 +0000 (15:36 +0100)
committerEvan Hunt <each@isc.org>
Fri, 3 Nov 2023 07:28:18 +0000 (08:28 +0100)
There were no newlines between each view in the list of negative trust
anchors.

(cherry picked from commit 61b245e3182a0d940295b0f45cf3dc136fa9ef8b)

bin/named/server.c
bin/tests/system/rndc/tests.sh

index cc874d0f203c0d0e14203c0b23b438c5829c6979..bfe6df36c8f6c4acdff0fc07cbf3c7528a0d8df3 100644 (file)
@@ -15844,6 +15844,8 @@ named_server_nta(named_server_t *server, isc_lex_t *lex, bool readonly,
         * If -dump was specified, list NTA's and return
         */
        if (dump) {
+               size_t last = 0;
+
                for (view = ISC_LIST_HEAD(server->viewlist); view != NULL;
                     view = ISC_LIST_NEXT(view, link))
                {
@@ -15855,6 +15857,12 @@ named_server_nta(named_server_t *server, isc_lex_t *lex, bool readonly,
                                continue;
                        }
 
+                       if (last != isc_buffer_usedlength(*text)) {
+                               CHECK(putstr(text, "\n"));
+                       }
+
+                       last = isc_buffer_usedlength(*text);
+
                        CHECK(dns_ntatable_totext(ntatable, view->name, text));
                }
                CHECK(putnull(text));
index 707c956e42777db32d5872b42a09b434bc99f057..701e8591a77cc196be5a33b30a460ba16cd66956 100644 (file)
@@ -816,5 +816,14 @@ grep 'include 2' dig.out.2.test$n >/dev/null || ret=1
 if [ $ret != 0 ]; then echo_i "failed"; fi
 status=$((status + ret))
 
+n=$((n + 1))
+echo_i "check rndc nta -dump reports NTAs in multiple views ($n)"
+ret=0
+$RNDCCMD 10.53.0.3 nta -dump >rndc.out.test$n 2>&1 || ret=1
+lines=$(cat rndc.out.test$n | wc -l)
+[ ${lines:-0} -eq 2 ] || ret=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
+status=$((status + ret))
+
 echo_i "exit status: $status"
 [ $status -eq 0 ] || exit 1