Store zone config also on modzone

'rndc modzone' deletes the old configuration. If we don't store the
new zone config, when we do a 'rndc showzone' it will be a failure.

This is not an issue in the 9.21 version, because of the effective
config behavior.
This commit is contained in:
Matthijs Mekking 2026-03-17 09:29:10 +01:00
parent 7e30d16e93
commit 85453d393d

View file

@ -14298,6 +14298,18 @@ do_modzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view,
TCHECK(putstr(text, zname)); TCHECK(putstr(text, zname));
TCHECK(putstr(text, "' reconfigured.")); TCHECK(putstr(text, "' reconfigured."));
} else { } else {
#ifdef HAVE_LMDB
CHECK(nzd_open(view, 0, &txn, &dbi));
CHECK(nzd_save(&txn, dbi, zone, zoneobj));
#else /* ifdef HAVE_LMDB */
result = nzf_append(view, zoneobj);
if (result != ISC_R_SUCCESS) {
TCHECK(putstr(text, "\nNew zone config not saved: "));
TCHECK(putstr(text, isc_result_totext(result)));
goto cleanup;
}
#endif /* HAVE_LMDB */
TCHECK(putstr(text, "zone '")); TCHECK(putstr(text, "zone '"));
TCHECK(putstr(text, zname)); TCHECK(putstr(text, zname));
TCHECK(putstr(text, "' must also be reconfigured in\n")); TCHECK(putstr(text, "' must also be reconfigured in\n"));