From: Matthijs Mekking Date: Thu, 2 Apr 2020 14:12:10 +0000 (+0200) Subject: Replace sign operation bool with enum X-Git-Tag: v9.17.1~13^2~3 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=44b49955e1a67e59e5a4cac7cec41baec7d5d0aa;p=thirdparty%2Fbind9.git Replace sign operation bool with enum --- diff --git a/bin/named/statschannel.c b/bin/named/statschannel.c index 2bbe01de8a8..6dc031a0bbf 100644 --- a/bin/named/statschannel.c +++ b/bin/named/statschannel.c @@ -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; diff --git a/lib/dns/include/dns/stats.h b/lib/dns/include/dns/stats.h index 2883a31d389..8c1d04aed97 100644 --- a/lib/dns/include/dns/stats.h +++ b/lib/dns/include/dns/stats.h @@ -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); /*%< diff --git a/lib/dns/stats.c b/lib/dns/stats.c index 1b3ef4d24d6..6fe762c6739 100644 --- a/lib/dns/stats.c +++ b/lib/dns/stats.c @@ -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); } diff --git a/lib/dns/update.c b/lib/dns/update.c index 657cc777b0e..76d4cee4ef5 100644 --- a/lib/dns/update.c +++ b/lib/dns/update.c @@ -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) { diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 273aa3c5912..4ba75ef52d4 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -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)--;