]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Replace sign operation bool with enum
authorMatthijs Mekking <matthijs@isc.org>
Thu, 2 Apr 2020 14:12:10 +0000 (16:12 +0200)
committerMatthijs Mekking <matthijs@isc.org>
Fri, 3 Apr 2020 07:27:15 +0000 (09:27 +0200)
bin/named/statschannel.c
lib/dns/include/dns/stats.h
lib/dns/stats.c
lib/dns/update.c
lib/dns/zone.c

index 2bbe01de8a82d0501e616ce03a0e080a9bc85c0f..6dc031a0bbffdd55dcc53573e9448af76960a3f7 100644 (file)
@@ -1887,9 +1887,9 @@ zone_xmlrender(dns_zone_t *zone, void *arg) {
                                ISC_XMLCHAR "dnssec-sign"));
 
                        dumparg.result = ISC_R_SUCCESS;
-                       dns_dnssecsignstats_dump(dnssecsignstats, false,
-                                                dnssecsignstat_dump, &dumparg,
-                                                0);
+                       dns_dnssecsignstats_dump(
+                               dnssecsignstats, dns_dnssecsignstats_sign,
+                               dnssecsignstat_dump, &dumparg, 0);
                        if (dumparg.result != ISC_R_SUCCESS) {
                                goto error;
                        }
@@ -1905,9 +1905,9 @@ zone_xmlrender(dns_zone_t *zone, void *arg) {
                                ISC_XMLCHAR "dnssec-refresh"));
 
                        dumparg.result = ISC_R_SUCCESS;
-                       dns_dnssecsignstats_dump(dnssecsignstats, true,
-                                                dnssecsignstat_dump, &dumparg,
-                                                0);
+                       dns_dnssecsignstats_dump(
+                               dnssecsignstats, dns_dnssecsignstats_refresh,
+                               dnssecsignstat_dump, &dumparg, 0);
                        if (dumparg.result != ISC_R_SUCCESS) {
                                goto error;
                        }
@@ -2711,9 +2711,9 @@ zone_jsonrender(dns_zone_t *zone, void *arg) {
                        dumparg.type = isc_statsformat_json;
                        dumparg.arg = counters;
                        dumparg.result = ISC_R_SUCCESS;
-                       dns_dnssecsignstats_dump(dnssecsignstats, false,
-                                                dnssecsignstat_dump, &dumparg,
-                                                0);
+                       dns_dnssecsignstats_dump(
+                               dnssecsignstats, dns_dnssecsignstats_sign,
+                               dnssecsignstat_dump, &dumparg, 0);
                        if (dumparg.result != ISC_R_SUCCESS) {
                                json_object_put(counters);
                                goto error;
@@ -2735,9 +2735,9 @@ zone_jsonrender(dns_zone_t *zone, void *arg) {
                        dumparg.type = isc_statsformat_json;
                        dumparg.arg = counters;
                        dumparg.result = ISC_R_SUCCESS;
-                       dns_dnssecsignstats_dump(dnssecsignstats, true,
-                                                dnssecsignstat_dump, &dumparg,
-                                                0);
+                       dns_dnssecsignstats_dump(
+                               dnssecsignstats, dns_dnssecsignstats_refresh,
+                               dnssecsignstat_dump, &dumparg, 0);
                        if (dumparg.result != ISC_R_SUCCESS) {
                                json_object_put(counters);
                                goto error;
index 2883a31d389a3eb7bfc1ef20aee9c087e751615d..8c1d04aed97095348f239ef7adfa92001ff651d3 100644 (file)
@@ -491,6 +491,14 @@ LIBDNS_EXTERNAL_DATA extern const char *dns_statscounter_names[];
 #define DNS_RDATASTATSTYPE_ATTR(type)  ((type) >> 16)
 #define DNS_RDATASTATSTYPE_VALUE(b, a) (((a) << 16) | (b))
 
+/*%
+ * Types of DNSSEC sign statistics operations.
+ */
+typedef enum {
+       dns_dnssecsignstats_sign = 1,
+       dns_dnssecsignstats_refresh = 2
+} dnssecsignstats_type_t;
+
 /*%<
  * Types of dump callbacks.
  */
@@ -685,10 +693,10 @@ dns_rcodestats_increment(dns_stats_t *stats, dns_opcode_t code);
 
 void
 dns_dnssecsignstats_increment(dns_stats_t *stats, dns_keytag_t id, uint8_t alg,
-                             bool refresh);
+                             dnssecsignstats_type_t operation);
 /*%<
- * Increment the statistics counter for the DNSKEY 'id'. If 'refresh' is set
- * to true, update the refresh counter, otherwise update the sign counter.
+ * Increment the statistics counter for the DNSKEY 'id'. The 'operation'
+ * determines what counter is incremented.
  *
  * Requires:
  *\li  'stats' is a valid dns_stats_t created by dns_dnssecsignstats_create().
@@ -739,7 +747,7 @@ dns_rdatasetstats_dump(dns_stats_t *stats, dns_rdatatypestats_dumper_t dump_fn,
  */
 
 void
-dns_dnssecsignstats_dump(dns_stats_t *stats, bool refresh,
+dns_dnssecsignstats_dump(dns_stats_t *stats, dnssecsignstats_type_t operation,
                         dns_dnssecsignstats_dumper_t dump_fn, void *arg,
                         unsigned int options);
 /*%<
index 1b3ef4d24d6b2dd583b6f3c1717ecc913ea502d2..6fe762c67397daf3942909a59bcf259285b2e1c3 100644 (file)
@@ -106,9 +106,6 @@ typedef enum {
 static int dnssec_max_keys = 4;
 /* Key id mask */
 #define DNSSECSIGNSTATS_KEY_ID_MASK 0x0000FFFF
-/* DNSSEC sign operation (sign or refresh) */
-#define DNSSECSIGNSTATS_SIGN   1
-#define DNSSECSIGNSTATS_REFRESH 2
 
 struct dns_stats {
        unsigned int magic;
@@ -361,8 +358,7 @@ dns_rcodestats_increment(dns_stats_t *stats, dns_rcode_t code) {
 
 void
 dns_dnssecsignstats_increment(dns_stats_t *stats, dns_keytag_t id, uint8_t alg,
-                             bool refresh) {
-       isc_statscounter_t operation = DNSSECSIGNSTATS_SIGN;
+                             dnssecsignstats_type_t operation) {
        uint32_t kval;
 
        REQUIRE(DNS_STATS_VALID(stats) && stats->type == dns_statstype_dnssec);
@@ -370,11 +366,6 @@ dns_dnssecsignstats_increment(dns_stats_t *stats, dns_keytag_t id, uint8_t alg,
        /* Shift algorithm in front of key tag, which is 16 bits */
        kval = (uint32_t)(alg << 16 | id);
 
-       /* What operation are we counting? */
-       if (refresh) {
-               operation = DNSSECSIGNSTATS_REFRESH;
-       }
-
        /* Look up correct counter. */
        for (int i = 0; i < dnssec_max_keys; i++) {
                int idx = 3 * i;
@@ -401,22 +392,24 @@ dns_dnssecsignstats_increment(dns_stats_t *stats, dns_keytag_t id, uint8_t alg,
        for (int i = 1; i < dnssec_max_keys; i++) {
                int gidx = 3 * i; /* Get key (get index, gidx) */
                uint32_t keyv = isc_stats_get_counter(stats->counters, gidx);
-               uint32_t sign = isc_stats_get_counter(stats->counters,
-                                                     (gidx + 1));
-               uint32_t refr = isc_stats_get_counter(stats->counters,
-                                                     (gidx + 2));
+               uint32_t sign = isc_stats_get_counter(
+                       stats->counters, (gidx + dns_dnssecsignstats_sign));
+               uint32_t refr = isc_stats_get_counter(
+                       stats->counters, (gidx + dns_dnssecsignstats_refresh));
 
-               int sidx = gidx - 3; /* Set key, (set index, sidx) */
+               int sidx = 3 * (i - 1); /* Set key, (set index, sidx) */
                isc_stats_set(stats->counters, keyv, sidx);
-               isc_stats_set(stats->counters, sign, (sidx + 1));
-               isc_stats_set(stats->counters, refr, (sidx + 2));
+               isc_stats_set(stats->counters, sign,
+                             (sidx + dns_dnssecsignstats_sign));
+               isc_stats_set(stats->counters, refr,
+                             (sidx + dns_dnssecsignstats_refresh));
        }
 
        /* Reset counters for new key (new index, nidx). */
        int nidx = 3 * (dnssec_max_keys - 1);
        isc_stats_set(stats->counters, kval, nidx);
-       isc_stats_set(stats->counters, 0, (nidx + 1));
-       isc_stats_set(stats->counters, 0, (nidx + 2));
+       isc_stats_set(stats->counters, 0, (nidx + dns_dnssecsignstats_sign));
+       isc_stats_set(stats->counters, 0, (nidx + dns_dnssecsignstats_refresh));
 
        /* And increment the counter for the given operation. */
        isc_stats_increment(stats->counters, (nidx + operation));
@@ -527,14 +520,9 @@ dnssec_dumpcb(isc_statscounter_t counter, uint64_t value, void *arg) {
 }
 
 static void
-dnssec_statsdump(isc_stats_t *stats, bool refresh, isc_stats_dumper_t dump_fn,
-                void *arg, unsigned int options) {
+dnssec_statsdump(isc_stats_t *stats, dnssecsignstats_type_t operation,
+                isc_stats_dumper_t dump_fn, void *arg, unsigned int options) {
        int i;
-       isc_statscounter_t operation = DNSSECSIGNSTATS_SIGN;
-
-       if (refresh) {
-               operation = DNSSECSIGNSTATS_REFRESH;
-       }
 
        for (i = 0; i < dnssec_max_keys; i++) {
                int idx = 3 * i;
@@ -558,7 +546,7 @@ dnssec_statsdump(isc_stats_t *stats, bool refresh, isc_stats_dumper_t dump_fn,
 }
 
 void
-dns_dnssecsignstats_dump(dns_stats_t *stats, bool refresh,
+dns_dnssecsignstats_dump(dns_stats_t *stats, dnssecsignstats_type_t operation,
                         dns_dnssecsignstats_dumper_t dump_fn, void *arg0,
                         unsigned int options) {
        dnssecsigndumparg_t arg;
@@ -568,7 +556,7 @@ dns_dnssecsignstats_dump(dns_stats_t *stats, bool refresh,
        arg.fn = dump_fn;
        arg.arg = arg0;
 
-       dnssec_statsdump(stats->counters, refresh, dnssec_dumpcb, &arg,
+       dnssec_statsdump(stats->counters, operation, dnssec_dumpcb, &arg,
                         options);
 }
 
index 657cc777b0e3aa85223e32f3b01dca2241f68b5a..76d4cee4ef52f71256bcd9b8c47f18944793a28d 100644 (file)
@@ -1260,9 +1260,10 @@ add_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db,
                added_sig = true;
                /* Update DNSSEC sign statistics. */
                if (dnssecsignstats != NULL) {
-                       dns_dnssecsignstats_increment(
-                               dnssecsignstats, ID(keys[i]),
-                               (uint8_t)ALG(keys[i]), false);
+                       dns_dnssecsignstats_increment(dnssecsignstats,
+                                                     ID(keys[i]),
+                                                     (uint8_t)ALG(keys[i]),
+                                                     dns_dnssecsignstats_sign);
                }
        }
        if (!added_sig) {
index 273aa3c5912dd5f9837bec1896d2a47dcbd7b0a7..4ba75ef52d447546faf700a25f1d080803c3ae23 100644 (file)
@@ -6923,13 +6923,15 @@ add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_zone_t *zone,
                dnssecsignstats = dns_zone_getdnssecsignstats(zone);
                if (dnssecsignstats != NULL) {
                        /* Generated a new signature. */
-                       dns_dnssecsignstats_increment(
-                               dnssecsignstats, ID(keys[i]),
-                               (uint8_t)ALG(keys[i]), false);
+                       dns_dnssecsignstats_increment(dnssecsignstats,
+                                                     ID(keys[i]),
+                                                     (uint8_t)ALG(keys[i]),
+                                                     dns_dnssecsignstats_sign);
                        /* This is a refresh. */
                        dns_dnssecsignstats_increment(
                                dnssecsignstats, ID(keys[i]),
-                               (uint8_t)ALG(keys[i]), true);
+                               (uint8_t)ALG(keys[i]),
+                               dns_dnssecsignstats_refresh);
                }
        }
 
@@ -7511,10 +7513,12 @@ sign_a_node(dns_db_t *db, dns_zone_t *zone, dns_name_t *name,
                if (dnssecsignstats != NULL) {
                        /* Generated a new signature. */
                        dns_dnssecsignstats_increment(dnssecsignstats, ID(key),
-                                                     ALG(key), false);
+                                                     ALG(key),
+                                                     dns_dnssecsignstats_sign);
                        /* This is a refresh. */
-                       dns_dnssecsignstats_increment(dnssecsignstats, ID(key),
-                                                     ALG(key), true);
+                       dns_dnssecsignstats_increment(
+                               dnssecsignstats, ID(key), ALG(key),
+                               dns_dnssecsignstats_refresh);
                }
 
                (*signatures)--;