2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-09-03 16:15:27 +00:00

make update_log() work if zone is not set

- update_log() is called to log update errors, but if those errors
  occur before the zone is set (for example, when returning NOTAUTH)
  it returns without logging anything.
This commit is contained in:
Evan Hunt
2018-10-02 22:33:17 -07:00
committed by Mark Andrews
parent 33229e7fc5
commit 395f6a1474

View File

@@ -269,24 +269,34 @@ update_log(ns_client_t *client, dns_zone_t *zone,
char namebuf[DNS_NAME_FORMATSIZE]; char namebuf[DNS_NAME_FORMATSIZE];
char classbuf[DNS_RDATACLASS_FORMATSIZE]; char classbuf[DNS_RDATACLASS_FORMATSIZE];
if (client == NULL || zone == NULL) if (client == NULL) {
return; return;
}
if (isc_log_wouldlog(ns_lctx, level) == false) if (isc_log_wouldlog(ns_lctx, level) == false) {
return; return;
}
dns_name_format(dns_zone_getorigin(zone), namebuf,
sizeof(namebuf));
dns_rdataclass_format(dns_zone_getclass(zone), classbuf,
sizeof(classbuf));
va_start(ap, fmt); va_start(ap, fmt);
vsnprintf(message, sizeof(message), fmt, ap); vsnprintf(message, sizeof(message), fmt, ap);
va_end(ap); va_end(ap);
ns_client_log(client, NS_LOGCATEGORY_UPDATE, NS_LOGMODULE_UPDATE, if (zone != NULL) {
level, "updating zone '%s/%s': %s", dns_name_format(dns_zone_getorigin(zone), namebuf,
namebuf, classbuf, message); sizeof(namebuf));
dns_rdataclass_format(dns_zone_getclass(zone), classbuf,
sizeof(classbuf));
ns_client_log(client, NS_LOGCATEGORY_UPDATE,
NS_LOGMODULE_UPDATE,
level, "updating zone '%s/%s': %s",
namebuf, classbuf, message);
} else {
ns_client_log(client, NS_LOGCATEGORY_UPDATE,
NS_LOGMODULE_UPDATE,
level, "%s", message);
}
} }
static void static void