]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Use dns_rdatatype_none more consistently
authorOndřej Surý <ondrej@sury.org>
Mon, 11 Aug 2025 05:17:43 +0000 (07:17 +0200)
committerOndřej Surý <ondrej@isc.org>
Fri, 15 Aug 2025 05:22:52 +0000 (07:22 +0200)
Use dns_rdatatype_none instead of plain '0' for dns_rdatatype_t and
dns_typepair_t manipulation.  While plain '0' is technically ok, it
doesn't carry the required semantic meaning, and using the named
dns_rdatatype_none constant makes the code more readable.

14 files changed:
bin/delv/delv.c
bin/tests/system/dyndb/driver/db.c
lib/dns/db.c
lib/dns/include/dns/rdata.h
lib/dns/include/dns/rdatatype.h
lib/dns/master.c
lib/dns/message.c
lib/dns/ncache.c
lib/dns/qpcache.c
lib/dns/qpzone.c
lib/dns/rdata.c
lib/dns/rdata/generic/naptr_35.c
lib/ns/query.c
lib/ns/update.c

index 021aeb6deeb1657e6d590cf2721de0009399350c..53b9f25886e9e020c00cd17911b092d23b0740a4 100644 (file)
@@ -1967,7 +1967,7 @@ recvresponse(void *arg) {
        }
 
        MSG_SECTION_FOREACH (response, DNS_SECTION_ANSWER, name) {
-               dns_rdatatype_t prevtype = 0;
+               dns_rdatatype_t prevtype = dns_rdatatype_none;
 
                ISC_LIST_FOREACH (name->list, rdataset, link) {
                        dns_rdataset_t rds, sigs;
index b0bfe605fb4b624ef3bac5dabf285351c123287d..23de0c79ab304d0f84b9b18ce99afa64b6fd2437 100644 (file)
@@ -448,7 +448,7 @@ add_soa(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name,
        CHECK(dns_soa_buildrdata(origin, contact, dns_db_class(db), 0, 28800,
                                 7200, 604800, 86400, buf, &rdata));
        rdatalist.type = rdata.type;
-       rdatalist.covers = 0;
+       rdatalist.covers = dns_rdatatype_none;
        rdatalist.rdclass = rdata.rdclass;
        rdatalist.ttl = 86400;
        ISC_LIST_APPEND(rdatalist.rdata, &rdata, link);
@@ -486,7 +486,7 @@ add_ns(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name,
        CHECK(dns_rdata_fromstruct(&rdata, dns_db_class(db), dns_rdatatype_ns,
                                   &ns, &b));
        rdatalist.type = rdata.type;
-       rdatalist.covers = 0;
+       rdatalist.covers = dns_rdatatype_none;
        rdatalist.rdclass = rdata.rdclass;
        rdatalist.ttl = 86400;
        ISC_LIST_APPEND(rdatalist.rdata, &rdata, link);
@@ -522,7 +522,7 @@ add_a(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name,
        CHECK(dns_rdata_fromstruct(&rdata, dns_db_class(db), dns_rdatatype_a,
                                   &a, &b));
        rdatalist.type = rdata.type;
-       rdatalist.covers = 0;
+       rdatalist.covers = dns_rdatatype_none;
        rdatalist.rdclass = rdata.rdclass;
        rdatalist.ttl = 86400;
        ISC_LIST_APPEND(rdatalist.rdata, &rdata, link);
index 44455bd84a270b730361b8ffabb7d8767018ca29..29a557a84e4432cdc79c66afc5faad9cddfe921f 100644 (file)
@@ -637,7 +637,7 @@ dns__db_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
        REQUIRE(node != NULL);
        REQUIRE(DNS_RDATASET_VALID(rdataset));
        REQUIRE(!dns_rdataset_isassociated(rdataset));
-       REQUIRE(covers == 0 || type == dns_rdatatype_rrsig);
+       REQUIRE(covers == dns_rdatatype_none || type == dns_rdatatype_rrsig);
        REQUIRE(type != dns_rdatatype_any);
        REQUIRE(sigrdataset == NULL ||
                (DNS_RDATASET_VALID(sigrdataset) &&
index 40ada066ce5ba6b514c11a82f2a8e63c627292a6..6e0a89cdf6a2eba4c2fefcfaa6465fa5ae36f668 100644 (file)
@@ -151,10 +151,10 @@ enum {
 
 #define DNS_RDATA_CHECKINITIALIZED
 #ifdef DNS_RDATA_CHECKINITIALIZED
-#define DNS_RDATA_INITIALIZED(rdata)                                           \
-       ((rdata)->data == NULL && (rdata)->length == 0 &&                      \
-        (rdata)->rdclass == 0 && (rdata)->type == 0 && (rdata)->flags == 0 && \
-        !ISC_LINK_LINKED((rdata), link))
+#define DNS_RDATA_INITIALIZED(rdata)                                     \
+       ((rdata)->data == NULL && (rdata)->length == 0 &&                \
+        (rdata)->rdclass == 0 && (rdata)->type == dns_rdatatype_none && \
+        (rdata)->flags == 0 && !ISC_LINK_LINKED((rdata), link))
 #else /* ifdef DNS_RDATA_CHECKINITIALIZED */
 #ifdef ISC_LIST_CHECKINIT
 #define DNS_RDATA_INITIALIZED(rdata) (!ISC_LINK_LINKED((rdata), link))
index 13847136d5b1d5158c565971eff0e858a003f9d0..d083d45f267755bacfc2a1df0b4673a4b91ac6d9 100644 (file)
 #include <dns/types.h>
 
 #if DNS_TYPEPAIR_CHECK
-#define DNS__TYPEPAIR_CHECK(base, covers)                    \
-       INSIST((dns_rdatatype_issig(base) && covers != 0) || \
-              (base == 0 && covers != 0) || (base != 0 && covers == 0))
+#define DNS__TYPEPAIR_CHECK(base, covers)                                      \
+       INSIST((dns_rdatatype_issig(base) && covers != dns_rdatatype_none) ||  \
+              (base == dns_rdatatype_none && covers != dns_rdatatype_none) || \
+              (base != dns_rdatatype_none && covers == dns_rdatatype_none))
 #else
 #define DNS__TYPEPAIR_CHECK(base, covers)
 #endif
index e9fae4e2ad81ac33ccea958e5edbc0143791fa70..7be4920a1abd6a413a6f3f0436409c0afb3fca29 100644 (file)
@@ -1561,7 +1561,7 @@ load_text(dns_loadctx_t *lctx) {
                 * [<class>] [<TTL>] <type> <RDATA>
                 */
 
-               type = 0;
+               type = dns_rdatatype_none;
                rdclass = 0;
 
                GETTOKEN(lctx->lex, 0, &token, initialws);
@@ -1918,7 +1918,7 @@ load_text(dns_loadctx_t *lctx) {
                if (dns_rdatatype_issig(type)) {
                        covers = dns_rdata_covers(&rdata[rdcount]);
                } else {
-                       covers = 0;
+                       covers = dns_rdatatype_none;
                }
 
                if (!lctx->ttl_known && !lctx->default_ttl_known) {
index 50b0a80018b2ab0f6fd045f43c60f22ef50a4600..18e19c3d130fa28bc3b9e275d8a68a37f1e1bbea 100644 (file)
@@ -989,7 +989,7 @@ getquestions(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t dctx,
                rdatalist = newrdatalist(msg);
                rdatalist->type = rdtype;
                rdatalist->rdclass = rdclass;
-               rdatalist->covers = 0;
+               rdatalist->covers = dns_rdatatype_none;
 
                /*
                 * Convert rdatalist to rdataset, and attach the latter to
@@ -1253,14 +1253,14 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t dctx,
                rdata->rdclass = rdclass;
                if (rdtype == dns_rdatatype_rrsig && rdata->flags == 0) {
                        covers = dns_rdata_covers(rdata);
-                       if (covers == 0) {
+                       if (covers == dns_rdatatype_none) {
                                DO_ERROR(DNS_R_FORMERR);
                        }
                } else if (rdtype == dns_rdatatype_sig /* SIG(0) */ &&
                           rdata->flags == 0)
                {
                        covers = dns_rdata_covers(rdata);
-                       if (covers == 0) {
+                       if (covers == dns_rdatatype_none) {
                                if (sectionid != DNS_SECTION_ADDITIONAL ||
                                    count != msg->counts[sectionid] - 1 ||
                                    !dns_name_equal(name, dns_rootname))
@@ -1280,7 +1280,7 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t dctx,
                                }
                        }
                } else {
-                       covers = 0;
+                       covers = dns_rdatatype_none;
                }
 
                /*
index 2d33c913c8a3a87963ab4337cdeb8ad2fd0f4697..0461bde7a4468f27e7369d9df319d8f84e19a5f5 100644 (file)
@@ -205,7 +205,7 @@ dns_ncache_add(dns_message_t *message, dns_db_t *cache, dns_dbnode_t *node,
                                        rdata[next].length = r.length;
                                        rdata[next].rdclass =
                                                ncrdatalist.rdclass;
-                                       rdata[next].type = 0;
+                                       rdata[next].type = dns_rdatatype_none;
                                        rdata[next].flags = 0;
                                        ISC_LIST_APPEND(ncrdatalist.rdata,
                                                        &rdata[next], link);
@@ -276,7 +276,7 @@ dns_ncache_towire(dns_rdataset_t *rdataset, dns_compress_t *cctx,
         */
 
        REQUIRE(rdataset != NULL);
-       REQUIRE(rdataset->type == 0);
+       REQUIRE(rdataset->type == dns_rdatatype_none);
        REQUIRE(rdataset->attributes.negative);
 
        savedbuffer = *target;
@@ -492,7 +492,7 @@ dns_ncache_getrdataset(dns_rdataset_t *ncacherdataset, dns_name_t *name,
 
        REQUIRE(ncacherdataset != NULL);
        REQUIRE(DNS_RDATASET_VALID(ncacherdataset));
-       REQUIRE(ncacherdataset->type == 0);
+       REQUIRE(ncacherdataset->type == dns_rdatatype_none);
        REQUIRE(ncacherdataset->attributes.negative);
        REQUIRE(name != NULL);
        REQUIRE(!dns_rdataset_isassociated(rdataset));
@@ -532,7 +532,7 @@ dns_ncache_getrdataset(dns_rdataset_t *ncacherdataset, dns_name_t *name,
                rdataset->methods = &rdataset_methods;
                rdataset->rdclass = ncacherdataset->rdclass;
                rdataset->type = type;
-               rdataset->covers = 0;
+               rdataset->covers = dns_rdatatype_none;
                rdataset->ttl = ncacherdataset->ttl;
                rdataset->trust = trust;
                rdataset->ncache.raw = remaining.base;
@@ -558,7 +558,7 @@ dns_ncache_getsigrdataset(dns_rdataset_t *ncacherdataset, dns_name_t *name,
        unsigned int count;
 
        REQUIRE(ncacherdataset != NULL);
-       REQUIRE(ncacherdataset->type == 0);
+       REQUIRE(ncacherdataset->type == dns_rdatatype_none);
        REQUIRE(ncacherdataset->attributes.negative);
        REQUIRE(name != NULL);
        REQUIRE(!dns_rdataset_isassociated(rdataset));
@@ -643,7 +643,7 @@ dns_ncache_current(dns_rdataset_t *ncacherdataset, dns_name_t *found,
        unsigned char *raw;
 
        REQUIRE(ncacherdataset != NULL);
-       REQUIRE(ncacherdataset->type == 0);
+       REQUIRE(ncacherdataset->type == dns_rdatatype_none);
        REQUIRE(ncacherdataset->attributes.negative);
        REQUIRE(found != NULL);
        REQUIRE(!dns_rdataset_isassociated(rdataset));
@@ -665,7 +665,6 @@ dns_ncache_current(dns_rdataset_t *ncacherdataset, dns_name_t *found,
        INSIST(trust <= dns_trust_ultimate);
        isc_buffer_remainingregion(&source, &remaining);
 
-       covers = 0;
        if (type == dns_rdatatype_rrsig) {
                /*
                 * Extract covers from RRSIG.
@@ -682,6 +681,8 @@ dns_ncache_current(dns_rdataset_t *ncacherdataset, dns_name_t *found,
                                     &sigregion);
                (void)dns_rdata_tostruct(&rdata, &rrsig, NULL);
                covers = rrsig.covered;
+       } else {
+               covers = dns_rdatatype_none;
        }
 
        rdataset->methods = &rdataset_methods;
index c6ebb0a575da2e6f081014bd8a6b63a70e3a6ce0..cdfc60f7bcab230ab2bb97ece61d4dbba7dab882 100644 (file)
@@ -2087,7 +2087,8 @@ qpcache_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
 
        typepair = DNS_TYPEPAIR_VALUE(type, covers);
        negpair = DNS_TYPEPAIR_VALUE(0, type);
-       sigpair = (covers == 0) ? DNS_SIGTYPE(type) : 0;
+       sigpair = (covers == dns_rdatatype_none) ? DNS_SIGTYPE(type)
+                                                : dns_rdatatype_none;
 
        for (header = qpnode->data; header != NULL; header = header_next) {
                header_next = header->next;
@@ -2598,7 +2599,8 @@ add(qpcache_t *qpdb, qpcnode_t *qpnode,
                                        break;
                                }
                        }
-                       negpair = DNS_TYPEPAIR_VALUE(covers, 0);
+                       negpair = DNS_TYPEPAIR_VALUE(covers,
+                                                    dns_rdatatype_none);
                } else {
                        /*
                         * We're adding something that isn't a
@@ -2615,7 +2617,9 @@ add(qpcache_t *qpdb, qpcnode_t *qpnode,
                                     RDATATYPE_NCACHEANY) ||
                                    (newheader->typepair == sigpair &&
                                     topheader->typepair ==
-                                            DNS_TYPEPAIR_VALUE(0, covers)))
+                                            DNS_TYPEPAIR_VALUE(
+                                                    dns_rdatatype_none,
+                                                    covers)))
                                {
                                        break;
                                }
@@ -3135,7 +3139,7 @@ qpcache_deleterdataset(dns_db_t *db, dns_dbnode_t *node,
        if (type == dns_rdatatype_any) {
                return ISC_R_NOTIMPLEMENTED;
        }
-       if (type == dns_rdatatype_rrsig && covers == 0) {
+       if (type == dns_rdatatype_rrsig && covers == dns_rdatatype_none) {
                return ISC_R_NOTIMPLEMENTED;
        }
 
index 59f80a511316d1a776e855de032b8c5d835aba9e..eabaec5e73562a277840c9a479be050d06e50200 100644 (file)
@@ -1645,10 +1645,10 @@ qpzone_findrdataset(dns_db_t *db, dns_dbnode_t *dbnode,
        NODE_RDLOCK(nlock, &nlocktype);
 
        typepair = DNS_TYPEPAIR_VALUE(type, covers);
-       if (covers == 0) {
+       if (covers == dns_rdatatype_none) {
                sigpair = DNS_SIGTYPE(type);
        } else {
-               sigpair = 0;
+               sigpair = dns_rdatatype_none;
        }
 
        for (header = node->data; header != NULL; header = header_next) {
@@ -5122,7 +5122,7 @@ qpzone_deleterdataset(dns_db_t *db, dns_dbnode_t *dbnode,
        if (type == dns_rdatatype_any) {
                return ISC_R_NOTIMPLEMENTED;
        }
-       if (type == dns_rdatatype_rrsig && covers == 0) {
+       if (type == dns_rdatatype_rrsig && covers == dns_rdatatype_none) {
                return ISC_R_NOTIMPLEMENTED;
        }
 
index 9d7f9a3ca633b32f3f05f9e76a596f53cebbc364..8ec43e0bd28c6a2704c8133b077f5f54f2311c26 100644 (file)
@@ -817,7 +817,7 @@ dns_rdata_init(dns_rdata_t *rdata) {
        rdata->data = NULL;
        rdata->length = 0;
        rdata->rdclass = 0;
-       rdata->type = 0;
+       rdata->type = dns_rdatatype_none;
        rdata->flags = 0;
        ISC_LINK_INIT(rdata, link);
        /* ISC_LIST_INIT(rdata->list); */
@@ -833,7 +833,7 @@ dns_rdata_reset(dns_rdata_t *rdata) {
        rdata->data = NULL;
        rdata->length = 0;
        rdata->rdclass = 0;
-       rdata->type = 0;
+       rdata->type = dns_rdatatype_none;
        rdata->flags = 0;
 }
 
@@ -977,7 +977,7 @@ dns_rdata_fromwire(dns_rdata_t *rdata, dns_rdataclass_t rdclass,
        REQUIRE(source != NULL);
        REQUIRE(target != NULL);
 
-       if (type == 0) {
+       if (type == dns_rdatatype_none) {
                return DNS_R_FORMERR;
        }
 
@@ -1092,7 +1092,7 @@ unknown_fromtext(dns_rdataclass_t rdclass, dns_rdatatype_t type,
        isc_buffer_t *buf = NULL;
        isc_token_t token;
 
-       if (type == 0 || dns_rdatatype_ismeta(type)) {
+       if (type == dns_rdatatype_none || dns_rdatatype_ismeta(type)) {
                return DNS_R_METATYPE;
        }
 
index 8f9f9b61ca624f47168778a3f223d889d9c3e601..fcc11a5b8499304b7379c8f050ef604a9df186df 100644 (file)
@@ -584,7 +584,7 @@ additionaldata_naptr(ARGS_ADDLDATA) {
        /*
         * Flags.
         */
-       atype = 0;
+       atype = dns_rdatatype_none;
        flagslen = sr.base[0];
        cp = (char *)&sr.base[1];
        for (i = 0; i < flagslen; i++, cp++) {
index 810e9f1eaf7c841fd2bd4852093c2a2e8562242a..8f649ac1f49e84fcd63467b16a369454228b10c8 100644 (file)
@@ -7604,7 +7604,8 @@ query_respond_any(query_ctx_t *qctx) {
        bool found = false, hidden = false;
        dns_rdatasetiter_t *rdsiter = NULL;
        isc_result_t result = ISC_R_UNSET;
-       dns_rdatatype_t onetype = 0; /* type to use for minimal-any */
+       dns_rdatatype_t onetype = dns_rdatatype_none; /* type to use for
+                                                        minimal-any */
        isc_buffer_t b;
 
        CCTRACE(ISC_LOG_DEBUG(3), "query_respond_any");
@@ -7671,7 +7672,8 @@ query_respond_any(query_ctx_t *qctx) {
                                                  "minimal-any skip signature");
                        dns_rdataset_disassociate(qctx->rdataset);
                } else if (qctx->view->minimal_any && !TCP(qctx->client) &&
-                          onetype != 0 && qctx->rdataset->type != onetype &&
+                          onetype != dns_rdatatype_none &&
+                          qctx->rdataset->type != onetype &&
                           qctx->rdataset->covers != onetype)
                {
                        CCTRACE(ISC_LOG_DEBUG(5), "query_respond_any: "
index 29cb145dd0091dfa9af4e3126a40841b422db51d..b5473d15b39a10b7ccc9df449764bc7e90237c8f 100644 (file)
@@ -1147,7 +1147,7 @@ temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db,
                                dns_diff_clear(&trash);
                                return DNS_R_NXRRSET;
                        } else {
-                               covers = 0;
+                               covers = dns_rdatatype_none;
                        }
 
                        /*
@@ -2019,14 +2019,15 @@ remove_orphaned_ds(dns_db_t *db, dns_dbversion_t *newver, dns_diff_t *diff) {
                        continue;
                }
                CHECK(rrset_exists(db, newver, &tuple->name, dns_rdatatype_ns,
-                                  0, &ns_exists));
+                                  dns_rdatatype_none, &ns_exists));
                if (ns_exists &&
                    !dns_name_equal(&tuple->name, dns_db_origin(db)))
                {
                        continue;
                }
                CHECK(delete_if(true_p, db, newver, &tuple->name,
-                               dns_rdatatype_ds, 0, NULL, &temp_diff));
+                               dns_rdatatype_ds, dns_rdatatype_none, NULL,
+                               &temp_diff));
        }
        result = ISC_R_SUCCESS;
 
@@ -2875,8 +2876,8 @@ update_action(void *arg) {
                                }
                        } else {
                                CHECK(rrset_exists(db, ver, name,
-                                                  dns_rdatatype_cname, 0,
-                                                  &flag));
+                                                  dns_rdatatype_cname,
+                                                  dns_rdatatype_none, &flag));
                                if (flag && !dns_rdatatype_atcname(rdata.type))
                                {
                                        update_log(client, zone,
@@ -2889,8 +2890,8 @@ update_action(void *arg) {
                        if (rdata.type == dns_rdatatype_soa) {
                                bool ok;
                                CHECK(rrset_exists(db, ver, name,
-                                                  dns_rdatatype_soa, 0,
-                                                  &flag));
+                                                  dns_rdatatype_soa,
+                                                  dns_rdatatype_none, &flag));
                                if (!flag) {
                                        update_log(client, zone,
                                                   LOGLEVEL_PROTOCOL,
@@ -3080,12 +3081,14 @@ update_action(void *arg) {
                                if (dns_name_equal(name, zonename)) {
                                        CHECK(delete_if(type_not_soa_nor_ns_p,
                                                        db, ver, name,
-                                                       dns_rdatatype_any, 0,
+                                                       dns_rdatatype_any,
+                                                       dns_rdatatype_none,
                                                        &rdata, &diff));
                                } else {
                                        CHECK(delete_if(type_not_dnssec, db,
                                                        ver, name,
-                                                       dns_rdatatype_any, 0,
+                                                       dns_rdatatype_any,
+                                                       dns_rdatatype_none,
                                                        &rdata, &diff));
                                }
                        } else if (dns_name_equal(name, zonename) &&
@@ -3132,9 +3135,9 @@ update_action(void *arg) {
                                }
                                if (rdata.type == dns_rdatatype_ns) {
                                        int count;
-                                       CHECK(rr_count(db, ver, name,
-                                                      dns_rdatatype_ns, 0,
-                                                      &count));
+                                       CHECK(rr_count(
+                                               db, ver, name, dns_rdatatype_ns,
+                                               dns_rdatatype_none, &count));
                                        if (count == 1) {
                                                update_log(client, zone,
                                                           LOGLEVEL_PROTOCOL,
@@ -3241,11 +3244,11 @@ update_action(void *arg) {
 
                CHECK(remove_orphaned_ds(db, ver, &diff));
 
-               CHECK(rrset_exists(db, ver, zonename, dns_rdatatype_dnskey, 0,
-                                  &has_dnskey));
+               CHECK(rrset_exists(db, ver, zonename, dns_rdatatype_dnskey,
+                                  dns_rdatatype_none, &has_dnskey));
 
                CHECK(rrset_exists(db, oldver, zonename, dns_rdatatype_dnskey,
-                                  0, &had_dnskey));
+                                  dns_rdatatype_none, &had_dnskey));
 
                CHECK(rollback_private(db, privatetype, ver, &diff));