]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Don't create the HTTP server if libxml and libjson-c are unavailable
authorMark Andrews <marka@isc.org>
Tue, 27 Aug 2024 01:22:41 +0000 (11:22 +1000)
committerMark Andrews <marka@isc.org>
Thu, 12 Sep 2024 03:27:38 +0000 (03:27 +0000)
(cherry picked from commit 31650d94400956e185eefb03d701eaf79d5a0e89)

bin/named/statschannel.c

index fbb35cf36c8102b6bc8d2ad9f878d5095ba24d0b..ec570c4f87e894da5a285f66434ffef14a5fbeac 100644 (file)
@@ -3547,6 +3547,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;
@@ -3577,7 +3578,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;
@@ -3591,12 +3594,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;
@@ -3709,6 +3724,7 @@ cleanup:
        isc_mem_putanddetach(&listener->mctx, listener, sizeof(*listener));
 
        return (result);
+#endif
 }
 
 static void