From: Mark Andrews Date: Thu, 20 Feb 2014 02:55:21 +0000 (+1100) Subject: define DNS_OPT_EDNSOPTIONS X-Git-Tag: v9.10.0b1~59 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=72ba6ba736ef1c0bd106c3023f9f7e9fa3936adf;p=thirdparty%2Fbind9.git define DNS_OPT_EDNSOPTIONS --- diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c index 6eede932214..767a091cf73 100644 --- a/bin/dig/dighost.c +++ b/bin/dig/dighost.c @@ -2349,8 +2349,7 @@ setup_lookup(dig_lookup_t *lookup) { if (lookup->udpsize > 0 || lookup->dnssec || lookup->edns > -1 || lookup->ecs_addr != NULL) { -#define EDNSOPTS 3 - dns_ednsopt_t opts[EDNSOPTS]; + dns_ednsopt_t opts[DNS_OPT_EDNSOPTIONS]; int i = 0; if (lookup->udpsize == 0) @@ -2359,7 +2358,7 @@ setup_lookup(dig_lookup_t *lookup) { lookup->edns = 0; if (lookup->nsid) { - INSIST(i < EDNSOPTS); + INSIST(i < DNS_OPT_EDNSOPTIONS); opts[i].code = DNS_OPT_NSID; opts[i].length = 0; opts[i].value = NULL; @@ -2380,7 +2379,7 @@ setup_lookup(dig_lookup_t *lookup) { /* Round up prefix len to a multiple of 8 */ addrl = (prefixlen + 7) / 8; - INSIST(i < EDNSOPTS); + INSIST(i < DNS_OPT_EDNSOPTIONS); opts[i].code = DNS_OPT_CLIENT_SUBNET; opts[i].length = addrl + 4; check_result(result, "isc_buffer_allocate"); @@ -2409,7 +2408,7 @@ setup_lookup(dig_lookup_t *lookup) { #ifdef ISC_PLATFORM_USESIT if (lookup->sit) { - INSIST(i < EDNSOPTS); + INSIST(i < DNS_OPT_EDNSOPTIONS); opts[i].code = DNS_OPT_SIT; if (lookup->sitvalue != NULL) { isc_buffer_t b; diff --git a/bin/named/client.c b/bin/named/client.c index c4e1c751d28..19c296f377d 100644 --- a/bin/named/client.c +++ b/bin/named/client.c @@ -122,7 +122,6 @@ #endif #define SIT_SIZE 24 /* 8 + 4 + 4 + 8 */ -#define EDNSOPTS 2 /*% nameserver client manager structure */ struct ns_clientmgr { @@ -1378,7 +1377,7 @@ client_addopt(ns_client_t *client) { dns_view_t *view; dns_resolver_t *resolver; isc_uint16_t udpsize; - dns_ednsopt_t ednsopts[EDNSOPTS]; + dns_ednsopt_t ednsopts[DNS_OPT_EDNSOPTIONS]; int count = 0; unsigned int flags; @@ -1407,7 +1406,7 @@ client_addopt(ns_client_t *client) { } else nsidp = ns_g_server->server_id; - INSIST(count < EDNSOPTS); + INSIST(count < DNS_OPT_EDNSOPTIONS); ednsopts[count].code = DNS_OPT_NSID; ednsopts[count].length = strlen(nsidp); ednsopts[count].value = (unsigned char *)nsidp; @@ -1426,7 +1425,7 @@ client_addopt(ns_client_t *client) { compute_sit(client, now, nonce, &buf); - INSIST(count < EDNSOPTS); + INSIST(count < DNS_OPT_EDNSOPTIONS); ednsopts[count].code = DNS_OPT_SIT; ednsopts[count].length = SIT_SIZE; ednsopts[count].value = sit; diff --git a/lib/dns/include/dns/message.h b/lib/dns/include/dns/message.h index 6461b52ffbe..72b70719fde 100644 --- a/lib/dns/include/dns/message.h +++ b/lib/dns/include/dns/message.h @@ -109,6 +109,9 @@ /*%< Experimental options [65001...65534] as per RFC6891 */ #define DNS_OPT_SIT 65001 /*%< SIT opt code */ +/*%< The number of EDNS options we know about. */ +#define DNS_OPT_EDNSOPTIONS 3 + #define DNS_MESSAGE_REPLYPRESERVE (DNS_MESSAGEFLAG_RD|DNS_MESSAGEFLAG_CD) #define DNS_MESSAGEEXTFLAG_REPLYPRESERVE (DNS_MESSAGEEXTFLAG_DO) diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c index 4e4348ba112..4b87f5e4a86 100644 --- a/lib/dns/resolver.c +++ b/lib/dns/resolver.c @@ -141,7 +141,6 @@ * Maximum EDNS0 input packet size. */ #define RECV_BUFFER_SIZE 4096 /* XXXRTH Constant. */ -#define EDNSOPTS 2 /*% * This defines the maximum number of timeouts we will permit before we @@ -1838,7 +1837,7 @@ resquery_send(resquery_t *query) { isc_boolean_t cleanup_cctx = ISC_FALSE; isc_boolean_t secure_domain; isc_boolean_t connecting = ISC_FALSE; - dns_ednsopt_t ednsopts[EDNSOPTS]; + dns_ednsopt_t ednsopts[DNS_OPT_EDNSOPTIONS]; unsigned ednsopt = 0; isc_uint16_t hint = 0, udpsize = 0; /* No EDNS */ @@ -2066,7 +2065,7 @@ resquery_send(resquery_t *query) { #endif } if (reqnsid) { - INSIST(ednsopt < EDNSOPTS); + INSIST(ednsopt < DNS_OPT_EDNSOPTIONS); ednsopts[ednsopt].code = DNS_OPT_NSID; ednsopts[ednsopt].length = 0; ednsopts[ednsopt].value = NULL; @@ -2074,7 +2073,7 @@ resquery_send(resquery_t *query) { } #ifdef ISC_PLATFORM_USESIT if (reqsit) { - INSIST(ednsopt < EDNSOPTS); + INSIST(ednsopt < DNS_OPT_EDNSOPTIONS); ednsopts[ednsopt].code = DNS_OPT_SIT; ednsopts[ednsopt].length = (isc_uint16_t) dns_adb_getsit(fctx->adb,