mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-29 13:38:26 +00:00
Improve the diagnostic 'rndc retransfer' error message
This commit is contained in:
parent
1fcc6132c4
commit
dd3520ae41
@ -7493,36 +7493,12 @@ portset_fromconf(isc_portset_t *portset, const cfg_obj_t *ports,
|
|||||||
|
|
||||||
static isc_result_t
|
static isc_result_t
|
||||||
removed(dns_zone_t *zone, void *uap) {
|
removed(dns_zone_t *zone, void *uap) {
|
||||||
const char *type;
|
|
||||||
|
|
||||||
if (dns_zone_getview(zone) != uap) {
|
if (dns_zone_getview(zone) != uap) {
|
||||||
return (ISC_R_SUCCESS);
|
return (ISC_R_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (dns_zone_gettype(zone)) {
|
dns_zone_log(zone, ISC_LOG_INFO, "(%s) removed",
|
||||||
case dns_zone_master:
|
dns_zonetype_name(dns_zone_gettype(zone)));
|
||||||
type = "primary";
|
|
||||||
break;
|
|
||||||
case dns_zone_slave:
|
|
||||||
type = "secondary";
|
|
||||||
break;
|
|
||||||
case dns_zone_mirror:
|
|
||||||
type = "mirror";
|
|
||||||
break;
|
|
||||||
case dns_zone_stub:
|
|
||||||
type = "stub";
|
|
||||||
break;
|
|
||||||
case dns_zone_staticstub:
|
|
||||||
type = "static-stub";
|
|
||||||
break;
|
|
||||||
case dns_zone_redirect:
|
|
||||||
type = "redirect";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
type = "other";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
dns_zone_log(zone, ISC_LOG_INFO, "(%s) removed", type);
|
|
||||||
return (ISC_R_SUCCESS);
|
return (ISC_R_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10792,7 +10768,16 @@ named_server_retransfercommand(named_server_t *server, isc_lex_t *lex,
|
|||||||
{
|
{
|
||||||
dns_zone_forcereload(zone);
|
dns_zone_forcereload(zone);
|
||||||
} else {
|
} else {
|
||||||
result = ISC_R_NOTFOUND;
|
(void)putstr(text, "retransfer: inappropriate zone type: ");
|
||||||
|
(void)putstr(text, dns_zonetype_name(type));
|
||||||
|
if (type == dns_zone_redirect) {
|
||||||
|
type = dns_zone_getredirecttype(zone);
|
||||||
|
(void)putstr(text, "(");
|
||||||
|
(void)putstr(text, dns_zonetype_name(type));
|
||||||
|
(void)putstr(text, ")");
|
||||||
|
}
|
||||||
|
(void)putnull(text);
|
||||||
|
result = ISC_R_FAILURE;
|
||||||
}
|
}
|
||||||
dns_zone_detach(&zone);
|
dns_zone_detach(&zone);
|
||||||
return (result);
|
return (result);
|
||||||
@ -15161,34 +15146,7 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex,
|
|||||||
zonetype = dns_zone_gettype(zone);
|
zonetype = dns_zone_gettype(zone);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (zonetype) {
|
type = dns_zonetype_name(zonetype);
|
||||||
case dns_zone_master:
|
|
||||||
type = "primary";
|
|
||||||
break;
|
|
||||||
case dns_zone_slave:
|
|
||||||
type = "secondary";
|
|
||||||
break;
|
|
||||||
case dns_zone_mirror:
|
|
||||||
type = "mirror";
|
|
||||||
break;
|
|
||||||
case dns_zone_stub:
|
|
||||||
type = "stub";
|
|
||||||
break;
|
|
||||||
case dns_zone_staticstub:
|
|
||||||
type = "staticstub";
|
|
||||||
break;
|
|
||||||
case dns_zone_redirect:
|
|
||||||
type = "redirect";
|
|
||||||
break;
|
|
||||||
case dns_zone_key:
|
|
||||||
type = "key";
|
|
||||||
break;
|
|
||||||
case dns_zone_dlz:
|
|
||||||
type = "dlz";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
type = "unknown";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Serial number */
|
/* Serial number */
|
||||||
result = dns_zone_getserial(mayberaw, &serial);
|
result = dns_zone_getserial(mayberaw, &serial);
|
||||||
|
@ -2585,4 +2585,10 @@ dns_zone_verifydb(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver);
|
|||||||
* \li #DNS_R_VERIFYFAILURE any other case
|
* \li #DNS_R_VERIFYFAILURE any other case
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
const char *
|
||||||
|
dns_zonetype_name(dns_zonetype_t type);
|
||||||
|
/*%<
|
||||||
|
* Return the name of the zone type 'type'.
|
||||||
|
*/
|
||||||
|
|
||||||
#endif /* DNS_ZONE_H */
|
#endif /* DNS_ZONE_H */
|
||||||
|
@ -1397,6 +1397,7 @@ dns_zonemgr_shutdown
|
|||||||
dns_zonemgr_unreachable
|
dns_zonemgr_unreachable
|
||||||
dns_zonemgr_unreachableadd
|
dns_zonemgr_unreachableadd
|
||||||
dns_zonemgr_unreachabledel
|
dns_zonemgr_unreachabledel
|
||||||
|
dns_zonetype_name
|
||||||
dns_zoneverify_dnssec
|
dns_zoneverify_dnssec
|
||||||
dns_zt_apply
|
dns_zt_apply
|
||||||
dns_zt_asyncload
|
dns_zt_asyncload
|
||||||
|
@ -15629,6 +15629,32 @@ dns_zone_gettype(dns_zone_t *zone) {
|
|||||||
return (zone->type);
|
return (zone->type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *
|
||||||
|
dns_zonetype_name(dns_zonetype_t type) {
|
||||||
|
switch (type) {
|
||||||
|
case dns_zone_none:
|
||||||
|
return ("none");
|
||||||
|
case dns_zone_master:
|
||||||
|
return ("primary");
|
||||||
|
case dns_zone_slave:
|
||||||
|
return ("secondary");
|
||||||
|
case dns_zone_mirror:
|
||||||
|
return ("mirror");
|
||||||
|
case dns_zone_stub:
|
||||||
|
return ("stub");
|
||||||
|
case dns_zone_staticstub:
|
||||||
|
return ("static-stub");
|
||||||
|
case dns_zone_key:
|
||||||
|
return ("key");
|
||||||
|
case dns_zone_dlz:
|
||||||
|
return ("dlz");
|
||||||
|
case dns_zone_redirect:
|
||||||
|
return ("redirect");
|
||||||
|
default:
|
||||||
|
return ("unknown");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dns_zonetype_t
|
dns_zonetype_t
|
||||||
dns_zone_getredirecttype(dns_zone_t *zone) {
|
dns_zone_getredirecttype(dns_zone_t *zone) {
|
||||||
REQUIRE(DNS_ZONE_VALID(zone));
|
REQUIRE(DNS_ZONE_VALID(zone));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user