mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 22:15:20 +00:00
Merge branch '778-named-checkconf-crashes-in-name-c' into 'master'
Resolve "named-checkconf crashes in name.c" Closes #778 See merge request isc-projects/bind9!1235
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -1,3 +1,6 @@
|
||||
5116. [bug] Named/named-checkconf triggered a assertion when
|
||||
a mirror zone's name is bad. [GL #778]
|
||||
|
||||
5115. [bug] Allow unsupported algorithms in zone when not used for
|
||||
signing with dnssec-signzone. [GL #783]
|
||||
|
||||
|
4
bin/tests/system/checkconf/bad-mirror-zonename.conf
Normal file
4
bin/tests/system/checkconf/bad-mirror-zonename.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
zone "\0example" {
|
||||
type mirror;
|
||||
file "example.db";
|
||||
};
|
@@ -1958,7 +1958,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
|
||||
unsigned int i;
|
||||
dns_rdataclass_t zclass;
|
||||
dns_fixedname_t fixedname;
|
||||
dns_name_t *zname = NULL;
|
||||
dns_name_t *zname = NULL; /* NULL if parsing of zone name fails. */
|
||||
isc_buffer_t b;
|
||||
bool root = false;
|
||||
bool rfc1918 = false;
|
||||
@@ -1977,10 +1977,10 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
|
||||
};
|
||||
|
||||
static optionstable dialups[] = {
|
||||
{ "notify", CFG_ZONE_MASTER | CFG_ZONE_SLAVE },
|
||||
{ "notify-passive", CFG_ZONE_SLAVE },
|
||||
{ "passive", CFG_ZONE_SLAVE | CFG_ZONE_STUB },
|
||||
{ "refresh", CFG_ZONE_SLAVE | CFG_ZONE_STUB },
|
||||
{ "notify", CFG_ZONE_MASTER | CFG_ZONE_SLAVE },
|
||||
{ "notify-passive", CFG_ZONE_SLAVE },
|
||||
{ "passive", CFG_ZONE_SLAVE | CFG_ZONE_STUB },
|
||||
{ "refresh", CFG_ZONE_SLAVE | CFG_ZONE_STUB },
|
||||
};
|
||||
|
||||
znamestr = cfg_obj_asstring(cfg_tuple_get(zconfig, "name"));
|
||||
@@ -2273,7 +2273,8 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
|
||||
* server list is used in the absence of one explicitly specified.
|
||||
*/
|
||||
if (ztype == CFG_ZONE_SLAVE || ztype == CFG_ZONE_STUB ||
|
||||
(ztype == CFG_ZONE_MIRROR && !dns_name_equal(zname, dns_rootname)))
|
||||
(ztype == CFG_ZONE_MIRROR && zname != NULL &&
|
||||
!dns_name_equal(zname, dns_rootname)))
|
||||
{
|
||||
obj = NULL;
|
||||
if (cfg_map_get(zoptions, "masters", &obj) != ISC_R_SUCCESS) {
|
||||
@@ -2567,7 +2568,6 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Check that max-zone-ttl isn't used with masterfile-format map
|
||||
*/
|
||||
|
Reference in New Issue
Block a user