From: Tony Finch Date: Tue, 15 Oct 2019 14:06:01 +0000 (+0100) Subject: Include all views in output of `rndc validation status` X-Git-Tag: v9.15.6~38^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bebeadc8e679761b25b4a6fff190c5f6ae6bb06f;p=thirdparty%2Fbind9.git Include all views in output of `rndc validation status` The implementation of `rndc validation status` iterates over all the views to print their validation status. It takes care to print newlines in between, but it also used put a nul byte at the end of the first view which truncated the output. After this change, the nul byte is added at the end so that it prints the validation status in all views. The `_bind` view is skipped because its validation status is irrelevant. --- diff --git a/bin/named/server.c b/bin/named/server.c index ea505135f54..452b38945d8 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -11078,7 +11078,8 @@ named_server_validation(named_server_t *server, isc_lex_t *lex, view != NULL; view = ISC_LIST_NEXT(view, link)) { - if (ptr != NULL && strcasecmp(ptr, view->name) != 0) + if ((ptr != NULL && strcasecmp(ptr, view->name) != 0) + || strcasecmp("_bind", view->name) == 0) continue; CHECK(dns_view_flushcache(view, false)); @@ -11094,10 +11095,10 @@ named_server_validation(named_server_t *server, isc_lex_t *lex, CHECK(putstr(text, " (view ")); CHECK(putstr(text, view->name)); CHECK(putstr(text, ")")); - CHECK(putnull(text)); first = false; } } + CHECK(putnull(text)); if (!set) result = ISC_R_SUCCESS;