]> git.ipfire.org Git - thirdparty/bind9.git/commit
fix allow-recursion/allow-query-cache inheritance
authorEvan Hunt <each@isc.org>
Thu, 20 Nov 2025 01:52:39 +0000 (17:52 -0800)
committerEvan Hunt <each@isc.org>
Thu, 20 Nov 2025 19:24:11 +0000 (11:24 -0800)
commit1a77ae2a7afaaa24d9c181dc2ca33c6853ec2246
tree2ac565d5bad334ade4100a0b7336228ba7072840
parentf9340fc152e75a592e645acfa7aa79b75d331fab
fix allow-recursion/allow-query-cache inheritance

the merging of options and defaults into the effective configuration
broke the mutual inheritance of the allow-recursion, allow-query, and
allow-query-cache ACLs, and of the allow-recursion-on and
allow-query-cache-on ACLs.

this has been corrected by adding a 'cloned' flag to the cfg_obj
structure to indicate whether it was configured explicitly or
cloned from the defaults during parsing. we can then adjust the
ACLs while configuring a view, favoring user-configured values
when they're available over cloned defaults.

currently the adjustments to the ACLs are done in configure_view();
later they'll be moved into the effective configuration and this
special handling can be removed.
bin/named/server.c
lib/isccfg/include/isccfg/cfg.h
lib/isccfg/include/isccfg/grammar.h
lib/isccfg/namedconf.c
lib/isccfg/parser.c
tests/isccfg/grammar_test.c