From: Colin Vidal Date: Wed, 29 Oct 2025 22:48:38 +0000 (+0100) Subject: chg: dev: Load the effective configuration X-Git-Tag: v9.21.15~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ba7df7f0eb77f739eeb89789168d59321d0c498;p=thirdparty%2Fbind9.git chg: dev: Load the effective configuration The configuration mechanism for `named` has been changed: instead of loading the user configuration from `named.conf` and then, statement-by-statement, picking values from there or from the built-in default configuration, we now merge the user configuration and the default configuration together, then pass the resulting "effective configuration" to `apply_configuration()`. The new `cfg_effective_config()` function takes a user configuration tree and the built-in default configuration tree, and returns a new effective configuration tree. It works by cloning the user configuration (see !11124) into the effective tree, then walking through the clauses defined in it. If a clause is not in the user config but is present in the defaults, the default version is cloned and attached to the effective tree. If a clause is in both trees, then depending on the statement semantics, either the user configuration overrides the default, or the two are merged. Because these semantics are now handled before `apply_configuration()` runs, that function has been substantially simplified. Future MRs will enable the effective configuration to be printed, either by `rndc` (!11123) or `named-checkconf` (!11122). The default configuration has been moved to an include file which is accessible to both `named` and `named-checkconf`. Merge branch 'colin/effective-config-internal' into 'main' See merge request isc-projects/bind9!11121 --- 5ba7df7f0eb77f739eeb89789168d59321d0c498