]> git.ipfire.org Git - thirdparty/bind9.git/commit
cfg_aclconfctx_t object is part of named_server
authorColin Vidal <colin@isc.org>
Mon, 8 Sep 2025 12:58:47 +0000 (14:58 +0200)
committerColin Vidal <colin@isc.org>
Wed, 24 Sep 2025 08:54:50 +0000 (10:54 +0200)
commit201f62d9efb3cf6ccbac1127768121e899d36ee8
tree8572532793f41ccd962f0df902340c3e088fbd6e
parent4523852ded5c3a263ab6fc40295007beda911786
cfg_aclconfctx_t object is part of named_server

`named_g_actconfctx` is a global variable holding the ACL configuration
context alive (in particular, to dynamically load zones). However, this
object is build once per configuration (early) and is used only inside
server.c `apply_configuration` flow. (Two exceptions: the shutdown flow,
still in server.c and plugin check flow, which doesn't need it, so it's
NULL in such case).

Instead of leaving this global publicly exposed, it is now part of the
`named_server_t` object. This allows us to clearly see that, when
reconfigureing the server, the new instance of the ACL context is known
only by the newly built object and not currently used by "production"
object; and will help to move move logic before the exclusive mode is
taken.

The other advantage is that the ACL configuration context can now be
built before the exclusive lock as well.
bin/named/include/named/globals.h
bin/named/include/named/server.h
bin/named/include/named/zoneconf.h
bin/named/server.c
bin/named/zoneconf.c
lib/isccfg/check.c
lib/isccfg/include/isccfg/cfg.h
lib/isccfg/parser.c