2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-23 10:39:16 +00:00

Fix incorrect version bump in statistics channels

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.
This commit is contained in:
Petr Špaček 2021-11-03 14:50:08 +01:00 committed by Evan Hunt
parent b3aba19582
commit 660d502c64
3 changed files with 49 additions and 22 deletions

View File

@ -11,8 +11,10 @@
--> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0"> <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:output method="html" indent="yes" version="4.0"/>
<xsl:template match="statistics[@version=&quot;3.11&quot;]"> <!-- 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> <html>
<head> <head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

View File

@ -52,6 +52,14 @@
#include "xsl_p.h" #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) \ #define CHECK(m) \
do { \ do { \
result = (m); \ result = (m); \
@ -1991,7 +1999,7 @@ generatexml(named_server_t *server, uint32_t flags, int *buflen,
"href=\"/bind9.xsl\"")); "href=\"/bind9.xsl\""));
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "statistics")); TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "statistics"));
TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "version", TRY0(xmlTextWriterWriteAttribute(writer, ISC_XMLCHAR "version",
ISC_XMLCHAR "3.11")); ISC_XMLCHAR STATS_XML_VERSION));
/* Set common fields for statistics dump */ /* Set common fields for statistics dump */
dumparg.type = isc_statsformat_xml; 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. * 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); CHECKMEM(obj);
json_object_object_add(bindstats, "json-stats-version", 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); server);
isc_httpdmgr_addurl(listener->httpdmgr, "/xml", false, render_xml_all, isc_httpdmgr_addurl(listener->httpdmgr, "/xml", false, render_xml_all,
server); 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); 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); 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); 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); 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); 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); 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); 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); render_xml_traffic, server);
#endif /* ifdef HAVE_LIBXML2 */ #endif /* ifdef HAVE_LIBXML2 */
#ifdef HAVE_JSON_C #ifdef HAVE_JSON_C
isc_httpdmgr_addurl(listener->httpdmgr, "/json", false, render_json_all, isc_httpdmgr_addurl(listener->httpdmgr, "/json", false, render_json_all,
server); 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); 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); 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); 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); 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); 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); 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); render_json_mem, server);
isc_httpdmgr_addurl(listener->httpdmgr, "/json/v1/traffic", false, isc_httpdmgr_addurl(listener->httpdmgr,
render_json_traffic, server); "/json/v" STATS_JSON_VERSION_MAJOR "/traffic",
false, render_json_traffic, server);
#endif /* ifdef HAVE_JSON_C */ #endif /* ifdef HAVE_JSON_C */
isc_httpdmgr_addurl(listener->httpdmgr, "/bind9.xsl", true, render_xsl, isc_httpdmgr_addurl(listener->httpdmgr, "/bind9.xsl", true, render_xsl,
server); server);

View File

@ -46,7 +46,8 @@ Feature Changes
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
- Because the old socket manager API has been removed, "socketmgr" - 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 - `UseSTD3ASCIIRules`_ is now enabled for IDN support. This enables additional
validation rules for domains and hostnames within dig. :gl:`#1610` validation rules for domains and hostnames within dig. :gl:`#1610`