Fixes for rndc nta user interface
Tell the user explicitly about their mistakes: * Unknown options, e.g. -list instead of -dump or -delete instead of -remove. * Unknown view names. * Excess arguments. Include the view name in `rndc nta -dump` output, for consistency with the NTA add and remove actions. When removing an NTA from all views, do not abort with an error if the NTA was not found in one of the views.
This commit is contained in:
committed by
Witold Kręcicki
parent
e3c37cef51
commit
4bbd2bb511
@@ -182,9 +182,10 @@ dns_ntatable_covered(dns_ntatable_t *ntatable, isc_stdtime_t now,
|
||||
*/
|
||||
|
||||
isc_result_t
|
||||
dns_ntatable_totext(dns_ntatable_t *ntatable, isc_buffer_t **buf);
|
||||
dns_ntatable_totext(dns_ntatable_t *ntatable, const char *view,
|
||||
isc_buffer_t **buf);
|
||||
/*%<
|
||||
* Dump the NTA table to buffer at 'buf'
|
||||
* Dump the NTA table to buffer at 'buf', with view names
|
||||
*
|
||||
* Requires:
|
||||
* \li "ntatable" is a valid table.
|
||||
|
||||
+7
-3
@@ -509,7 +509,9 @@ putstr(isc_buffer_t **b, const char *str) {
|
||||
}
|
||||
|
||||
isc_result_t
|
||||
dns_ntatable_totext(dns_ntatable_t *ntatable, isc_buffer_t **buf) {
|
||||
dns_ntatable_totext(dns_ntatable_t *ntatable, const char *view,
|
||||
isc_buffer_t **buf)
|
||||
{
|
||||
isc_result_t result;
|
||||
dns_rbtnode_t *node;
|
||||
dns_rbtnodechain_t chain;
|
||||
@@ -552,8 +554,10 @@ dns_ntatable_totext(dns_ntatable_t *ntatable, isc_buffer_t **buf) {
|
||||
isc_time_formattimestamp(&t, tbuf,
|
||||
sizeof(tbuf));
|
||||
|
||||
snprintf(obuf, sizeof(obuf), "%s%s: %s %s",
|
||||
snprintf(obuf, sizeof(obuf), "%s%s%s%s: %s %s",
|
||||
first ? "" : "\n", nbuf,
|
||||
view != NULL ? "/" : "",
|
||||
view != NULL ? view : "",
|
||||
n->expiry <= now
|
||||
? "expired"
|
||||
: "expiry",
|
||||
@@ -588,7 +592,7 @@ dns_ntatable_dump(dns_ntatable_t *ntatable, FILE *fp) {
|
||||
if (result != ISC_R_SUCCESS)
|
||||
return (result);
|
||||
|
||||
result = dns_ntatable_totext(ntatable, &text);
|
||||
result = dns_ntatable_totext(ntatable, NULL, &text);
|
||||
|
||||
if (isc_buffer_usedlength(text) != 0) {
|
||||
(void) putstr(&text, "\n");
|
||||
|
||||
Reference in New Issue
Block a user