2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-09-04 16:45:24 +00:00

[master] Ensure all master definitions in a catalog zone contain an IP address

4864.	[bug]		named acting as a slave for a catalog zone crashed if
			the latter contained a master definition without an IP
			address. [RT #45999]
This commit is contained in:
Michał Kępień
2018-01-15 20:49:05 +01:00
parent fa22351a7c
commit ae51a676c9
4 changed files with 201 additions and 22 deletions

View File

@@ -2548,11 +2548,17 @@ catz_addmodzone_taskaction(isc_task_t *task, isc_event_t *event0) {
RUNTIME_CHECK(zone == NULL);
/* Create a config for new zone */
confbuf = NULL;
dns_catz_generate_zonecfg(ev->origin, ev->entry, &confbuf);
cfg_parser_reset(cfg->add_parser);
result = cfg_parse_buffer3(cfg->add_parser, confbuf, "catz", 0,
&cfg_type_addzoneconf, &zoneconf);
isc_buffer_free(&confbuf);
result = dns_catz_generate_zonecfg(ev->origin, ev->entry, &confbuf);
if (result == ISC_R_SUCCESS) {
cfg_parser_reset(cfg->add_parser);
result = cfg_parse_buffer3(cfg->add_parser, confbuf, "catz", 0,
&cfg_type_addzoneconf, &zoneconf);
isc_buffer_free(&confbuf);
}
/*
* Fail if either dns_catz_generate_zonecfg() or cfg_parse_buffer3()
* failed.
*/
if (result != ISC_R_SUCCESS) {
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR,