Add new UCI list 'hostsdir' allowing the usage of the dnsmasq --hostdir argument while also making sure the path is added to the RO jail for the dnsmasq process. This is useful e.g. in case of manually maintaining a set of host-like files that should be monitored for changes that should be applied immediately. This differers from the --addn-hosts host-like files which only takes effect after sending a SIGHUP to the dnsmasq process.
It is important to make sure the directory exists before starting the dnsmasq process, as any non-existing directory is ignored and won't be monitored, and a common use-case is to maintain a host-like structure under /tmp. Signed-off-by: Niklas Söderlund <niklas.soderl...@ragnatech.se> --- package/network/services/dnsmasq/files/dnsmasq.init | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index fb061dceed6c..d80578384a57 100755 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -213,6 +213,12 @@ append_addnhosts() { xappend "--addn-hosts=$1" } +append_hostsdir() { + mkdir -p "$1" + append_extramount "$1" + xappend "--hostsdir=$1" +} + append_bogusnxdomain() { xappend "--bogus-nxdomain=$1" } @@ -1011,6 +1017,7 @@ dnsmasq_start() append_addnhosts "$HOSTFILE_DIR" fi config_list_foreach "$cfg" "addnhosts" append_addnhosts + config_list_foreach "$cfg" "hostsdir" append_hostsdir config_list_foreach "$cfg" "bogusnxdomain" append_bogusnxdomain append_parm "$cfg" "leasefile" "--dhcp-leasefile" "/tmp/dhcp.leases" -- 2.46.0 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel