mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-15 00:50:02 -04: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.
(cherry picked from commit 395f6a1474)
This commit is contained in:
parent
f8453f45f7
commit
d9849bb589
1 changed files with 20 additions and 10 deletions
|
|
@ -267,24 +267,34 @@ update_log(ns_client_t *client, dns_zone_t *zone,
|
|||
char namebuf[DNS_NAME_FORMATSIZE];
|
||||
char classbuf[DNS_RDATACLASS_FORMATSIZE];
|
||||
|
||||
if (client == NULL || zone == NULL)
|
||||
if (client == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isc_log_wouldlog(ns_g_lctx, level) == false)
|
||||
if (isc_log_wouldlog(ns_g_lctx, level) == false) {
|
||||
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);
|
||||
vsnprintf(message, sizeof(message), fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
ns_client_log(client, NS_LOGCATEGORY_UPDATE, NS_LOGMODULE_UPDATE,
|
||||
level, "updating zone '%s/%s': %s",
|
||||
namebuf, classbuf, message);
|
||||
if (zone != NULL) {
|
||||
dns_name_format(dns_zone_getorigin(zone), namebuf,
|
||||
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
|
||||
|
|
|
|||
Loading…
Reference in a new issue