mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 14:07:59 +00:00
Wildcard NS records are not conceptually allowed by RFC 103[45].
This commit is contained in:
@@ -40,7 +40,7 @@
|
|||||||
#define DNS_R_BITSTRINGTOOLONG (ISC_RESULTCLASS_DNS + 3)
|
#define DNS_R_BITSTRINGTOOLONG (ISC_RESULTCLASS_DNS + 3)
|
||||||
#define DNS_R_EMPTYLABEL (ISC_RESULTCLASS_DNS + 4)
|
#define DNS_R_EMPTYLABEL (ISC_RESULTCLASS_DNS + 4)
|
||||||
#define DNS_R_BADDOTTEDQUAD (ISC_RESULTCLASS_DNS + 5)
|
#define DNS_R_BADDOTTEDQUAD (ISC_RESULTCLASS_DNS + 5)
|
||||||
/* 6 is unused */
|
#define DNS_R_INVALIDNS (ISC_RESULTCLASS_DNS + 6)
|
||||||
#define DNS_R_UNKNOWN (ISC_RESULTCLASS_DNS + 7)
|
#define DNS_R_UNKNOWN (ISC_RESULTCLASS_DNS + 7)
|
||||||
#define DNS_R_BADLABELTYPE (ISC_RESULTCLASS_DNS + 8)
|
#define DNS_R_BADLABELTYPE (ISC_RESULTCLASS_DNS + 8)
|
||||||
#define DNS_R_BADPOINTER (ISC_RESULTCLASS_DNS + 9)
|
#define DNS_R_BADPOINTER (ISC_RESULTCLASS_DNS + 9)
|
||||||
|
@@ -3585,6 +3585,12 @@ loading_addrdataset(void *arg, dns_name_t *name, dns_rdataset_t *rdataset) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (dns_name_iswildcard(name)) {
|
if (dns_name_iswildcard(name)) {
|
||||||
|
/*
|
||||||
|
* NS record owners cannot legally be wild cards.
|
||||||
|
*/
|
||||||
|
if (rdataset->type == dns_rdatatype_ns)
|
||||||
|
return (DNS_R_INVALIDNS);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* In order for wildcard matching to work correctly in
|
* In order for wildcard matching to work correctly in
|
||||||
* zone_find(), we must ensure that a node for the wildcarding
|
* zone_find(), we must ensure that a node for the wildcarding
|
||||||
|
@@ -30,7 +30,7 @@ static const char *text[DNS_R_NRESULTS] = {
|
|||||||
"bitstring too long", /* 3 */
|
"bitstring too long", /* 3 */
|
||||||
"empty label", /* 4 */
|
"empty label", /* 4 */
|
||||||
"bad dotted quad", /* 5 */
|
"bad dotted quad", /* 5 */
|
||||||
"UNUSED6", /* 6 */
|
"invalid NS owner name (wildcard)", /* 6 */
|
||||||
"unknown class/type", /* 7 */
|
"unknown class/type", /* 7 */
|
||||||
"bad label type", /* 8 */
|
"bad label type", /* 8 */
|
||||||
"bad compression pointer", /* 9 */
|
"bad compression pointer", /* 9 */
|
||||||
|
Reference in New Issue
Block a user