From ed81b3ae9322f5b631d708780d88e550681fa91f Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Tue, 27 Aug 2024 08:54:54 +1000 Subject: [PATCH 1/4] Don't return the style sheet unless libxml2 is supported If not statistics are available we don't want the style sheet returned. --- bin/named/statschannel.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/named/statschannel.c b/bin/named/statschannel.c index b29b26f16a..b9fc1c52c2 100644 --- a/bin/named/statschannel.c +++ b/bin/named/statschannel.c @@ -3463,6 +3463,11 @@ render_json_traffic(const isc_httpd_t *httpd, const isc_httpdurl_t *urlinfo, #endif /* HAVE_JSON_C */ +#if HAVE_LIBXML2 +/* + * This is only needed if we have libxml2 and was confusingly returned if + * neither of libxml2 or json-c is configured. + */ static isc_result_t render_xsl(const isc_httpd_t *httpd, const isc_httpdurl_t *urlinfo, void *args, unsigned int *retcode, const char **retmsg, const char **mimetype, @@ -3518,6 +3523,7 @@ send: end: return (ISC_R_SUCCESS); } +#endif static void shutdown_listener(named_statschannel_t *listener) { @@ -3644,6 +3650,8 @@ add_listener(named_server_t *server, named_statschannel_t **listenerp, isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v" STATS_XML_VERSION_MAJOR "/traffic", false, render_xml_traffic, server); + isc_httpdmgr_addurl(listener->httpdmgr, "/bind9.xsl", true, render_xsl, + server); #endif /* ifdef HAVE_LIBXML2 */ #ifdef HAVE_JSON_C isc_httpdmgr_addurl(listener->httpdmgr, "/json", false, render_json_all, @@ -3673,8 +3681,6 @@ add_listener(named_server_t *server, named_statschannel_t **listenerp, "/json/v" STATS_JSON_VERSION_MAJOR "/traffic", false, render_json_traffic, server); #endif /* ifdef HAVE_JSON_C */ - isc_httpdmgr_addurl(listener->httpdmgr, "/bind9.xsl", true, render_xsl, - server); *listenerp = listener; isc_log_write(NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, From 31650d94400956e185eefb03d701eaf79d5a0e89 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Tue, 27 Aug 2024 11:22:41 +1000 Subject: [PATCH 2/4] Don't create the HTTP server if libxml and libjson-c are unavailable --- bin/named/statschannel.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bin/named/statschannel.c b/bin/named/statschannel.c index b9fc1c52c2..ef1b77f4da 100644 --- a/bin/named/statschannel.c +++ b/bin/named/statschannel.c @@ -3536,6 +3536,7 @@ shutdown_listener(named_statschannel_t *listener) { isc_httpdmgr_shutdown(&listener->httpdmgr); } +#if defined(HAVE_LIBXML2) || defined(HAVE_JSON_C) static bool client_ok(const isc_sockaddr_t *fromaddr, void *arg) { named_statschannel_t *listener = arg; @@ -3566,7 +3567,9 @@ client_ok(const isc_sockaddr_t *fromaddr, void *arg) { return (false); } +#endif +#if defined(HAVE_LIBXML2) || defined(HAVE_JSON_C) static void destroy_listener(void *arg) { named_statschannel_t *listener = (named_statschannel_t *)arg; @@ -3580,12 +3583,24 @@ destroy_listener(void *arg) { isc_mutex_destroy(&listener->lock); isc_mem_putanddetach(&listener->mctx, listener, sizeof(*listener)); } +#endif static isc_result_t add_listener(named_server_t *server, named_statschannel_t **listenerp, const cfg_obj_t *listen_params, const cfg_obj_t *config, isc_sockaddr_t *addr, cfg_aclconfctx_t *aclconfctx, const char *socktext) { +#if !defined(HAVE_LIBXML2) && !defined(HAVE_JSON_C) + UNUSED(server); + UNUSED(listenerp); + UNUSED(listen_params); + UNUSED(config); + UNUSED(addr); + UNUSED(aclconfctx); + UNUSED(socktext); + + return (ISC_R_NOTIMPLEMENTED); +#else isc_result_t result; named_statschannel_t *listener = NULL; const cfg_obj_t *allow = NULL; @@ -3697,6 +3712,7 @@ cleanup: isc_mem_putanddetach(&listener->mctx, listener, sizeof(*listener)); return (result); +#endif } static void From d0c8c6d7ef0156265c0448ca00df166ab60af29f Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Tue, 3 Sep 2024 14:59:19 +1000 Subject: [PATCH 3/4] Only configure statistics-channels if supported --- bin/tests/system/statistics/ns1/named.conf.in | 4 +--- .../statistics/ns1/statistics-channels.conf.in | 16 ++++++++++++++++ bin/tests/system/statistics/ns2/named.conf.in | 4 +--- bin/tests/system/statistics/ns2/named2.conf.in | 4 +--- .../statistics/ns2/statistics-channels.conf.in | 16 ++++++++++++++++ bin/tests/system/statistics/ns3/named.conf.in | 4 +--- .../statistics/ns3/statistics-channels.conf.in | 16 ++++++++++++++++ bin/tests/system/statistics/setup.sh | 13 ++++++++++--- bin/tests/system/statschannel/prereq.sh | 5 +++++ .../system/synthfromdnssec/ns1/named.conf.in | 4 +--- .../ns1/statistics-channels.conf.in | 16 ++++++++++++++++ .../system/synthfromdnssec/ns2/named.conf.in | 4 +--- .../ns2/statistics-channels.conf.in | 16 ++++++++++++++++ .../system/synthfromdnssec/ns3/named.conf.in | 4 +--- .../ns3/statistics-channels.conf.in | 16 ++++++++++++++++ .../system/synthfromdnssec/ns4/named.conf.in | 4 +--- .../ns4/statistics-channels.conf.in | 16 ++++++++++++++++ .../system/synthfromdnssec/ns5/named.conf.in | 4 +--- .../ns5/statistics-channels.conf.in | 16 ++++++++++++++++ .../system/synthfromdnssec/ns6/named.conf.in | 4 +--- .../ns6/statistics-channels.conf.in | 16 ++++++++++++++++ bin/tests/system/synthfromdnssec/setup.sh | 16 ++++++++++------ 22 files changed, 179 insertions(+), 39 deletions(-) create mode 100644 bin/tests/system/statistics/ns1/statistics-channels.conf.in create mode 100644 bin/tests/system/statistics/ns2/statistics-channels.conf.in create mode 100644 bin/tests/system/statistics/ns3/statistics-channels.conf.in create mode 100644 bin/tests/system/synthfromdnssec/ns1/statistics-channels.conf.in create mode 100644 bin/tests/system/synthfromdnssec/ns2/statistics-channels.conf.in create mode 100644 bin/tests/system/synthfromdnssec/ns3/statistics-channels.conf.in create mode 100644 bin/tests/system/synthfromdnssec/ns4/statistics-channels.conf.in create mode 100644 bin/tests/system/synthfromdnssec/ns5/statistics-channels.conf.in create mode 100644 bin/tests/system/synthfromdnssec/ns6/statistics-channels.conf.in diff --git a/bin/tests/system/statistics/ns1/named.conf.in b/bin/tests/system/statistics/ns1/named.conf.in index 8fd14f9855..2048d73bf9 100644 --- a/bin/tests/system/statistics/ns1/named.conf.in +++ b/bin/tests/system/statistics/ns1/named.conf.in @@ -24,9 +24,7 @@ options { notify yes; }; -statistics-channels { - inet 10.53.0.1 port @EXTRAPORT1@ allow { any; }; -}; +include "statistics-channels.conf"; zone "." { type primary; diff --git a/bin/tests/system/statistics/ns1/statistics-channels.conf.in b/bin/tests/system/statistics/ns1/statistics-channels.conf.in new file mode 100644 index 0000000000..12a1e27003 --- /dev/null +++ b/bin/tests/system/statistics/ns1/statistics-channels.conf.in @@ -0,0 +1,16 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +statistics-channels { + inet 10.53.0.1 port @EXTRAPORT1@ allow { any; }; +}; diff --git a/bin/tests/system/statistics/ns2/named.conf.in b/bin/tests/system/statistics/ns2/named.conf.in index 877e26a16f..f23bac8d67 100644 --- a/bin/tests/system/statistics/ns2/named.conf.in +++ b/bin/tests/system/statistics/ns2/named.conf.in @@ -26,9 +26,7 @@ options { trust-anchors { }; -statistics-channels { - inet 10.53.0.2 port @EXTRAPORT1@ allow { any; }; -}; +include "statistics-channels.conf"; key rndc_key { secret "1234abcd8765"; diff --git a/bin/tests/system/statistics/ns2/named2.conf.in b/bin/tests/system/statistics/ns2/named2.conf.in index 39772f9822..4b8e5030f1 100644 --- a/bin/tests/system/statistics/ns2/named2.conf.in +++ b/bin/tests/system/statistics/ns2/named2.conf.in @@ -24,9 +24,7 @@ options { notify yes; }; -statistics-channels { - inet 10.53.0.2 port @EXTRAPORT1@ allow { any; }; -}; +include "statistics-channels.conf"; key rndc_key { secret "1234abcd8765"; diff --git a/bin/tests/system/statistics/ns2/statistics-channels.conf.in b/bin/tests/system/statistics/ns2/statistics-channels.conf.in new file mode 100644 index 0000000000..6dd1516962 --- /dev/null +++ b/bin/tests/system/statistics/ns2/statistics-channels.conf.in @@ -0,0 +1,16 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +statistics-channels { + inet 10.53.0.2 port @EXTRAPORT1@ allow { any; }; +}; diff --git a/bin/tests/system/statistics/ns3/named.conf.in b/bin/tests/system/statistics/ns3/named.conf.in index 1726d1d381..cacc0ec8e7 100644 --- a/bin/tests/system/statistics/ns3/named.conf.in +++ b/bin/tests/system/statistics/ns3/named.conf.in @@ -29,9 +29,7 @@ options { trust-anchors { }; -statistics-channels { - inet 10.53.0.3 port @EXTRAPORT1@ allow { any; }; -}; +include "statistics-channels.conf"; key rndc_key { secret "1234abcd8765"; diff --git a/bin/tests/system/statistics/ns3/statistics-channels.conf.in b/bin/tests/system/statistics/ns3/statistics-channels.conf.in new file mode 100644 index 0000000000..a755c39439 --- /dev/null +++ b/bin/tests/system/statistics/ns3/statistics-channels.conf.in @@ -0,0 +1,16 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +statistics-channels { + inet 10.53.0.3 port @EXTRAPORT1@ allow { any; }; +}; diff --git a/bin/tests/system/statistics/setup.sh b/bin/tests/system/statistics/setup.sh index 7ffda5583c..37f52f5e32 100644 --- a/bin/tests/system/statistics/setup.sh +++ b/bin/tests/system/statistics/setup.sh @@ -13,6 +13,13 @@ . ../conf.sh -copy_setports ns1/named.conf.in ns1/named.conf -copy_setports ns2/named.conf.in ns2/named.conf -copy_setports ns3/named.conf.in ns3/named.conf +for d in ns1 ns2 ns3; do + conf=named.conf + copy_setports "${d}/${conf}.in" "${d}/${conf}" + conf=statistics-channels.conf + if $FEATURETEST --have-libxml2 || $FEATURETEST --have-json-c; then + copy_setports "${d}/${conf}.in" "${d}/${conf}" + else + echo "" >"${d}/${conf}" + fi +done diff --git a/bin/tests/system/statschannel/prereq.sh b/bin/tests/system/statschannel/prereq.sh index a0ad7a9bc7..df30423dc6 100644 --- a/bin/tests/system/statschannel/prereq.sh +++ b/bin/tests/system/statschannel/prereq.sh @@ -23,4 +23,9 @@ if ! ${PERL} -MFile::Fetch -e ''; then exit 1 fi +if ! $FEATURETEST --have-libxml2 && ! $FEATURETEST --have-json-c; then + echo_i "skip: one or both of --with-libxml2 and --with-json-c required" + exit 255 +fi + exit 0 diff --git a/bin/tests/system/synthfromdnssec/ns1/named.conf.in b/bin/tests/system/synthfromdnssec/ns1/named.conf.in index 9a86e24acc..6a5086e4b2 100644 --- a/bin/tests/system/synthfromdnssec/ns1/named.conf.in +++ b/bin/tests/system/synthfromdnssec/ns1/named.conf.in @@ -35,9 +35,7 @@ controls { inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; }; -statistics-channels { - inet 10.53.0.1 port @EXTRAPORT1@ allow { any; }; -}; +include "statistics-channels.conf"; zone "." { type primary; diff --git a/bin/tests/system/synthfromdnssec/ns1/statistics-channels.conf.in b/bin/tests/system/synthfromdnssec/ns1/statistics-channels.conf.in new file mode 100644 index 0000000000..12a1e27003 --- /dev/null +++ b/bin/tests/system/synthfromdnssec/ns1/statistics-channels.conf.in @@ -0,0 +1,16 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +statistics-channels { + inet 10.53.0.1 port @EXTRAPORT1@ allow { any; }; +}; diff --git a/bin/tests/system/synthfromdnssec/ns2/named.conf.in b/bin/tests/system/synthfromdnssec/ns2/named.conf.in index f4b5059c44..efcf7e5d78 100644 --- a/bin/tests/system/synthfromdnssec/ns2/named.conf.in +++ b/bin/tests/system/synthfromdnssec/ns2/named.conf.in @@ -35,9 +35,7 @@ controls { inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; }; -statistics-channels { - inet 10.53.0.2 port @EXTRAPORT1@ allow { any; }; -}; +include "statistics-channels.conf"; zone "." { type hint; diff --git a/bin/tests/system/synthfromdnssec/ns2/statistics-channels.conf.in b/bin/tests/system/synthfromdnssec/ns2/statistics-channels.conf.in new file mode 100644 index 0000000000..6dd1516962 --- /dev/null +++ b/bin/tests/system/synthfromdnssec/ns2/statistics-channels.conf.in @@ -0,0 +1,16 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +statistics-channels { + inet 10.53.0.2 port @EXTRAPORT1@ allow { any; }; +}; diff --git a/bin/tests/system/synthfromdnssec/ns3/named.conf.in b/bin/tests/system/synthfromdnssec/ns3/named.conf.in index 874143a543..7665d8a6e6 100644 --- a/bin/tests/system/synthfromdnssec/ns3/named.conf.in +++ b/bin/tests/system/synthfromdnssec/ns3/named.conf.in @@ -35,9 +35,7 @@ controls { inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; }; -statistics-channels { - inet 10.53.0.3 port @EXTRAPORT1@ allow { any; }; -}; +include "statistics-channels.conf"; zone "." { type hint; diff --git a/bin/tests/system/synthfromdnssec/ns3/statistics-channels.conf.in b/bin/tests/system/synthfromdnssec/ns3/statistics-channels.conf.in new file mode 100644 index 0000000000..a755c39439 --- /dev/null +++ b/bin/tests/system/synthfromdnssec/ns3/statistics-channels.conf.in @@ -0,0 +1,16 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +statistics-channels { + inet 10.53.0.3 port @EXTRAPORT1@ allow { any; }; +}; diff --git a/bin/tests/system/synthfromdnssec/ns4/named.conf.in b/bin/tests/system/synthfromdnssec/ns4/named.conf.in index c9d921092e..85cbc38d98 100644 --- a/bin/tests/system/synthfromdnssec/ns4/named.conf.in +++ b/bin/tests/system/synthfromdnssec/ns4/named.conf.in @@ -36,9 +36,7 @@ controls { inet 10.53.0.4 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; }; -statistics-channels { - inet 10.53.0.4 port @EXTRAPORT1@ allow { any; }; -}; +include "statistics-channels.conf"; zone "." { type hint; diff --git a/bin/tests/system/synthfromdnssec/ns4/statistics-channels.conf.in b/bin/tests/system/synthfromdnssec/ns4/statistics-channels.conf.in new file mode 100644 index 0000000000..5a89f8d489 --- /dev/null +++ b/bin/tests/system/synthfromdnssec/ns4/statistics-channels.conf.in @@ -0,0 +1,16 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +statistics-channels { + inet 10.53.0.4 port @EXTRAPORT1@ allow { any; }; +}; diff --git a/bin/tests/system/synthfromdnssec/ns5/named.conf.in b/bin/tests/system/synthfromdnssec/ns5/named.conf.in index 42495488c2..0875b7701e 100644 --- a/bin/tests/system/synthfromdnssec/ns5/named.conf.in +++ b/bin/tests/system/synthfromdnssec/ns5/named.conf.in @@ -37,9 +37,7 @@ controls { inet 10.53.0.5 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; }; -statistics-channels { - inet 10.53.0.5 port @EXTRAPORT1@ allow { any; }; -}; +include "statistics-channels.conf"; zone "." { type hint; diff --git a/bin/tests/system/synthfromdnssec/ns5/statistics-channels.conf.in b/bin/tests/system/synthfromdnssec/ns5/statistics-channels.conf.in new file mode 100644 index 0000000000..12a9398c60 --- /dev/null +++ b/bin/tests/system/synthfromdnssec/ns5/statistics-channels.conf.in @@ -0,0 +1,16 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +statistics-channels { + inet 10.53.0.5 port @EXTRAPORT1@ allow { any; }; +}; diff --git a/bin/tests/system/synthfromdnssec/ns6/named.conf.in b/bin/tests/system/synthfromdnssec/ns6/named.conf.in index c10e0f70e2..1f631865ac 100644 --- a/bin/tests/system/synthfromdnssec/ns6/named.conf.in +++ b/bin/tests/system/synthfromdnssec/ns6/named.conf.in @@ -36,9 +36,7 @@ controls { inet 10.53.0.6 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; }; -statistics-channels { - inet 10.53.0.6 port @EXTRAPORT1@ allow { any; }; -}; +include "statistics-channels.conf"; zone "." { type hint; diff --git a/bin/tests/system/synthfromdnssec/ns6/statistics-channels.conf.in b/bin/tests/system/synthfromdnssec/ns6/statistics-channels.conf.in new file mode 100644 index 0000000000..138a84bde3 --- /dev/null +++ b/bin/tests/system/synthfromdnssec/ns6/statistics-channels.conf.in @@ -0,0 +1,16 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, you can obtain one at https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +statistics-channels { + inet 10.53.0.6 port @EXTRAPORT1@ allow { any; }; +}; diff --git a/bin/tests/system/synthfromdnssec/setup.sh b/bin/tests/system/synthfromdnssec/setup.sh index 5d0ddee2d3..85feba601d 100644 --- a/bin/tests/system/synthfromdnssec/setup.sh +++ b/bin/tests/system/synthfromdnssec/setup.sh @@ -16,12 +16,16 @@ set -e -copy_setports ns1/named.conf.in ns1/named.conf -copy_setports ns2/named.conf.in ns2/named.conf -copy_setports ns3/named.conf.in ns3/named.conf -copy_setports ns4/named.conf.in ns4/named.conf -copy_setports ns5/named.conf.in ns5/named.conf -copy_setports ns6/named.conf.in ns6/named.conf +for d in ns1 ns2 ns3 ns4 ns5 ns6; do + conf=named.conf + copy_setports "${d}/${conf}.in" "${d}/${conf}" + conf=statistics-channels.conf + if $FEATURETEST --have-libxml2 || $FEATURETEST --have-json-c; then + copy_setports "${d}/${conf}.in" "${d}/${conf}" + else + echo "" >"${d}/${conf}" + fi +done ( cd ns1 From b9246418e897a1db1f6e2a526178168787b588e1 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Mon, 2 Sep 2024 15:53:11 +1000 Subject: [PATCH 4/4] Fix named-checkconf and statistics-channels If neither libxml2 nor libjson_c are available have named-checkconf fail if a statistics-channels block is specified. --- lib/isccfg/namedconf.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c index 09275a830a..9adaec5eef 100644 --- a/lib/isccfg/namedconf.c +++ b/lib/isccfg/namedconf.c @@ -1259,8 +1259,13 @@ static cfg_clausedef_t namedconf_clauses[] = { { "options", &cfg_type_options, 0 }, { "parental-agents", &cfg_type_remoteservers, CFG_CLAUSEFLAG_MULTI }, { "primaries", &cfg_type_remoteservers, CFG_CLAUSEFLAG_MULTI }, +#if defined(HAVE_LIBXML2) || defined(HAVE_JSON_C) { "statistics-channels", &cfg_type_statschannels, CFG_CLAUSEFLAG_MULTI }, +#else + { "statistics-channels", &cfg_type_statschannels, + CFG_CLAUSEFLAG_MULTI | CFG_CLAUSEFLAG_NOTCONFIGURED }, +#endif { "tls", &cfg_type_tlsconf, CFG_CLAUSEFLAG_MULTI }, { "view", &cfg_type_view, CFG_CLAUSEFLAG_MULTI }, { NULL, NULL, 0 }