]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix incorrect version bump in statistics channels
authorPetr Špaček <pspacek@isc.org>
Wed, 3 Nov 2021 13:50:08 +0000 (14:50 +0100)
committerEvan Hunt <each@isc.org>
Fri, 5 Nov 2021 01:45:36 +0000 (18:45 -0700)
The version number for the XML statistics channel was not incremented
correctly after removal of isc_socket code in
a55589f881bc4e4c1099e50b6d4ce84ffc7b5ba3, and the JSON version number
was not incremented at all.

bin/named/bind9.xsl
bin/named/statschannel.c
doc/notes/notes-current.rst

index 59bca67470cabb723712e208e8abfc175866b62a..b0090c5a4e57468cc8d826e0c4b5fb086c27d5e2 100644 (file)
 -->
 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
-  <xsl:output method="html" indent="yes" version="5.0"/>
-  <xsl:template match="statistics[@version=&quot;3.11&quot;]">
+  <xsl:output method="html" indent="yes" version="4.0"/>
+  <!-- the version number **below** must match version in bin/named/statschannel.c -->
+  <!-- don't forget to update "/xml/v<STATS_XML_VERSION_MAJOR>" in the HTTP endpoints listed below -->
+  <xsl:template match="statistics[@version=&quot;3.12&quot;]">
     <html>
       <head>
         <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
index dcd1a3e2312bfd2615f0cd50336d00ef1e82e726..613b2ef1a518def67fb9a99d4bf87f129746c1f9 100644 (file)
 
 #include "xsl_p.h"
 
+#define STATS_XML_VERSION_MAJOR "3"
+#define STATS_XML_VERSION_MINOR "12"
+#define STATS_XML_VERSION      STATS_XML_VERSION_MAJOR "." STATS_XML_VERSION_MINOR
+
+#define STATS_JSON_VERSION_MAJOR "1"
+#define STATS_JSON_VERSION_MINOR "6"
+#define STATS_JSON_VERSION      STATS_JSON_VERSION_MAJOR "." STATS_JSON_VERSION_MINOR
+
 #define CHECK(m)                               \
        do {                                   \
                result = (m);                  \
@@ -1991,7 +1999,7 @@ generatexml(named_server_t *server, uint32_t flags, int *buflen,
                                              "href=\"/bind9.xsl\""));
        TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "statistics"));
        TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "version",
-                                        ISC_XMLCHAR "3.11"));
+                                        ISC_XMLCHAR STATS_XML_VERSION));
 
        /* Set common fields for statistics dump */
        dumparg.type = isc_statsformat_xml;
@@ -2778,7 +2786,7 @@ generatejson(named_server_t *server, size_t *msglen, const char **msg,
        /*
         * These statistics are included no matter which URL we use.
         */
-       obj = json_object_new_string("1.5");
+       obj = json_object_new_string(STATS_JSON_VERSION);
        CHECKMEM(obj);
        json_object_object_add(bindstats, "json-stats-version", obj);
 
@@ -3599,42 +3607,58 @@ add_listener(named_server_t *server, named_statschannel_t **listenerp,
                            server);
        isc_httpdmgr_addurl(listener->httpdmgr, "/xml", false, render_xml_all,
                            server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/xml/v" STATS_XML_VERSION_MAJOR, false,
                            render_xml_all, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/status", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/xml/v" STATS_XML_VERSION_MAJOR "/status", false,
                            render_xml_status, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/server", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/xml/v" STATS_XML_VERSION_MAJOR "/server", false,
                            render_xml_server, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/zones", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/xml/v" STATS_XML_VERSION_MAJOR "/zones", false,
                            render_xml_zones, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/net", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/xml/v" STATS_XML_VERSION_MAJOR "/net", false,
                            render_xml_net, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/tasks", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/xml/v" STATS_XML_VERSION_MAJOR "/tasks", false,
                            render_xml_tasks, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/mem", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/xml/v" STATS_XML_VERSION_MAJOR "/mem", false,
                            render_xml_mem, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/xml/v3/traffic", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/xml/v" STATS_XML_VERSION_MAJOR "/traffic", false,
                            render_xml_traffic, server);
 #endif /* ifdef HAVE_LIBXML2 */
 #ifdef HAVE_JSON_C
        isc_httpdmgr_addurl(listener->httpdmgr, "/json", false, render_json_all,
                            server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/json/v" STATS_JSON_VERSION_MAJOR, false,
                            render_json_all, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/status", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/json/v" STATS_JSON_VERSION_MAJOR "/status", false,
                            render_json_status, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/server", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/json/v" STATS_JSON_VERSION_MAJOR "/server", false,
                            render_json_server, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/zones", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/json/v" STATS_JSON_VERSION_MAJOR "/zones", false,
                            render_json_zones, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/tasks", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/json/v" STATS_JSON_VERSION_MAJOR "/tasks", false,
                            render_json_tasks, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/net", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/json/v" STATS_JSON_VERSION_MAJOR "/net", false,
                            render_json_net, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/mem", false,
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/json/v" STATS_JSON_VERSION_MAJOR "/mem", false,
                            render_json_mem, server);
-       isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/traffic", false,
-                           render_json_traffic, server);
+       isc_httpdmgr_addurl(listener->httpdmgr,
+                           "/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);
index 3ef3aced786d7db2a0f99b8f5eb0c60816eb36ab..c0eaa80ec7d6486f3e04be83c40a9ba364250f57 100644 (file)
@@ -46,7 +46,8 @@ Feature Changes
 ~~~~~~~~~~~~~~~
 
 - Because the old socket manager API has been removed, "socketmgr"
-  statistics are no longer reported by the statistics channel. :gl:`#2926`
+  statistics are no longer reported by the
+  :ref:`statistics channel <statschannels>`. :gl:`#2926`
 
 - `UseSTD3ASCIIRules`_ is now enabled for IDN support. This enables additional
   validation rules for domains and hostnames within dig.  :gl:`#1610`