dnsmasq: sysupgrade hook to conditionally preserve dnsmasq.time
conditionally save dnsmasq.time across sysupgrade dnsmasq uses /etc/dnsmasq.time as record of the last known good system time to aid its validation of dnssec timestamps. dnsmasq updates the timestamp on process start/stop once it considers the system time as valid. The timestamp file should be preserved across system upgrade but should not be included as part of normal configuration backups to prevent restores corrupting the current timestamp. Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
This commit is contained in:
parent
2b1556d3e0
commit
7938e8d60a
2 changed files with 18 additions and 0 deletions
|
@ -151,6 +151,8 @@ $(call Package/dnsmasq/install,$(1))
|
||||||
ifneq ($(CONFIG_PACKAGE_dnsmasq_full_dnssec),)
|
ifneq ($(CONFIG_PACKAGE_dnsmasq_full_dnssec),)
|
||||||
$(INSTALL_DIR) $(1)/usr/share/dnsmasq
|
$(INSTALL_DIR) $(1)/usr/share/dnsmasq
|
||||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/trust-anchors.conf $(1)/usr/share/dnsmasq
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/trust-anchors.conf $(1)/usr/share/dnsmasq
|
||||||
|
$(INSTALL_DIR) $(1)/lib/upgrade
|
||||||
|
$(INSTALL_BIN) ./files/dnsmasqsec-add-conffiles.sh $(1)/lib/upgrade
|
||||||
endif
|
endif
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
add_dnsmasqsec_conffiles()
|
||||||
|
{
|
||||||
|
local filelist="$1"
|
||||||
|
|
||||||
|
# do NOT include timestamp in a backup, only system upgrade
|
||||||
|
# dnsmasq restart ensures file timestamp is up to date
|
||||||
|
if [ -z $NEED_IMAGE ]; then
|
||||||
|
if [ $(ubus call service list '{"name":"dnsmasq"}' | jsonfilter -e '@.*.instances.instance1.running') = "true" ]; then
|
||||||
|
/etc/init.d/dnsmasq restart
|
||||||
|
sleep 1
|
||||||
|
echo "/etc/dnsmasq.time" >>$filelist
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
sysupgrade_init_conffiles="$sysupgrade_init_conffiles add_dnsmasqsec_conffiles"
|
Loading…
Reference in a new issue