From c713ac30f9cc1d71ddfb13b9db777d1c3475a2d0 Mon Sep 17 00:00:00 2001 From: Paul Johnston <12446446+maloo1@users.noreply.github.com> Date: Wed, 29 Jul 2026 17:42:10 +0800 Subject: [PATCH 1/2] Fixes for #5339: Add include directory for custom BIND options --- .../src/etc/namedb/named-options.conf.d/00-README.conf | 7 +++++++ .../library/OPNsense/System/Status/BindOverrideStatus.php | 3 ++- .../opnsense/service/templates/OPNsense/Bind/named.conf | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 dns/bind/src/etc/namedb/named-options.conf.d/00-README.conf diff --git a/dns/bind/src/etc/namedb/named-options.conf.d/00-README.conf b/dns/bind/src/etc/namedb/named-options.conf.d/00-README.conf new file mode 100644 index 0000000000..4a35215199 --- /dev/null +++ b/dns/bind/src/etc/namedb/named-options.conf.d/00-README.conf @@ -0,0 +1,7 @@ +# Custom BIND Configuration Directory for BIND options +# +# Place your custom BIND options in .conf files in this directory +# Files are included in alphabetical order +# +# Example: +# forwarders port 853 tls Cloudflare-DoT { 1.1.1.2; 1.0.0.2; }; diff --git a/dns/bind/src/opnsense/mvc/app/library/OPNsense/System/Status/BindOverrideStatus.php b/dns/bind/src/opnsense/mvc/app/library/OPNsense/System/Status/BindOverrideStatus.php index eb15970e6a..2a648041e7 100644 --- a/dns/bind/src/opnsense/mvc/app/library/OPNsense/System/Status/BindOverrideStatus.php +++ b/dns/bind/src/opnsense/mvc/app/library/OPNsense/System/Status/BindOverrideStatus.php @@ -47,7 +47,8 @@ public function __construct() public function collectStatus() { - if (count(glob('/usr/local/etc/namedb/named.conf.d/*')) > 1) { + if (count(glob('/usr/local/etc/namedb/named.conf.d/*')) > 1 + or count(glob('/usr/local/etc/namedb/named-options.conf.d/*')) > 1) { $this->internalMessage = gettext( 'The configuration contains manual overwrites, these may interfere with the settings configured here.' ); diff --git a/dns/bind/src/opnsense/service/templates/OPNsense/Bind/named.conf b/dns/bind/src/opnsense/service/templates/OPNsense/Bind/named.conf index 9196b5de3e..2b010dc8fd 100644 --- a/dns/bind/src/opnsense/service/templates/OPNsense/Bind/named.conf +++ b/dns/bind/src/opnsense/service/templates/OPNsense/Bind/named.conf @@ -9,6 +9,7 @@ acl "{{ acl_list.name }}" { {{ acl_list.networks.replace(',', '; ') }}; }; {% endif %} options { + include "/usr/local/etc/namedb/named-options.conf.d/*.conf"; directory "/usr/local/etc/namedb/working"; pid-file "/var/run/named/pid"; From a472bf5d233363e87d9be5203f746dad430257bb Mon Sep 17 00:00:00 2001 From: Paul Johnston <12446446+maloo1@users.noreply.github.com> Date: Fri, 7 Aug 2026 02:49:35 +0800 Subject: [PATCH 2/2] Fixes for #5339: Fix glob --- .../named-options.conf.d/{00-README.conf => 00-README.txt} | 0 .../etc/namedb/named.conf.d/{00-README.conf => 00-README.txt} | 0 .../app/library/OPNsense/System/Status/BindOverrideStatus.php | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename dns/bind/src/etc/namedb/named-options.conf.d/{00-README.conf => 00-README.txt} (100%) rename dns/bind/src/etc/namedb/named.conf.d/{00-README.conf => 00-README.txt} (100%) diff --git a/dns/bind/src/etc/namedb/named-options.conf.d/00-README.conf b/dns/bind/src/etc/namedb/named-options.conf.d/00-README.txt similarity index 100% rename from dns/bind/src/etc/namedb/named-options.conf.d/00-README.conf rename to dns/bind/src/etc/namedb/named-options.conf.d/00-README.txt diff --git a/dns/bind/src/etc/namedb/named.conf.d/00-README.conf b/dns/bind/src/etc/namedb/named.conf.d/00-README.txt similarity index 100% rename from dns/bind/src/etc/namedb/named.conf.d/00-README.conf rename to dns/bind/src/etc/namedb/named.conf.d/00-README.txt diff --git a/dns/bind/src/opnsense/mvc/app/library/OPNsense/System/Status/BindOverrideStatus.php b/dns/bind/src/opnsense/mvc/app/library/OPNsense/System/Status/BindOverrideStatus.php index 2a648041e7..a5eb3cde61 100644 --- a/dns/bind/src/opnsense/mvc/app/library/OPNsense/System/Status/BindOverrideStatus.php +++ b/dns/bind/src/opnsense/mvc/app/library/OPNsense/System/Status/BindOverrideStatus.php @@ -47,8 +47,8 @@ public function __construct() public function collectStatus() { - if (count(glob('/usr/local/etc/namedb/named.conf.d/*')) > 1 - or count(glob('/usr/local/etc/namedb/named-options.conf.d/*')) > 1) { + if (count(glob('/usr/local/etc/namedb/named.conf.d/*.conf')) > 0 + or count(glob('/usr/local/etc/namedb/named-options.conf.d/*.conf')) > 0) { $this->internalMessage = gettext( 'The configuration contains manual overwrites, these may interfere with the settings configured here.' );