From 61b245e3182a0d940295b0f45cf3dc136fa9ef8b Mon Sep 17 00:00:00 2001 From: Tony Finch Date: Tue, 15 Oct 2019 15:36:55 +0100 Subject: [PATCH] Fix missing newlines in output of `rndc nta -dump` There were no newlines between each view in the list of negative trust anchors. --- bin/named/server.c | 8 ++++++++ bin/tests/system/rndc/tests.sh | 9 +++++++++ 2 files changed, 17 insertions(+) diff --git a/bin/named/server.c b/bin/named/server.c index 3223e35789..461f900a95 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -15253,6 +15253,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)) { @@ -15264,6 +15266,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)); diff --git a/bin/tests/system/rndc/tests.sh b/bin/tests/system/rndc/tests.sh index 838055884c..8187f69ece 100644 --- a/bin/tests/system/rndc/tests.sh +++ b/bin/tests/system/rndc/tests.sh @@ -817,5 +817,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