From 5f86d50de91ed308b9160ddc3a4ea307f6272063 Mon Sep 17 00:00:00 2001 From: Eric Luehrsen Date: Tue, 21 Mar 2017 21:43:42 -0400 Subject: [PATCH] unbound: support copy without dash update Signed-off-by: Eric Luehrsen --- net/unbound/Makefile | 2 +- net/unbound/files/unbound.sh | 29 ++++++++++++++++++++++++----- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/net/unbound/Makefile b/net/unbound/Makefile index d6ded2cf4..57a65045a 100644 --- a/net/unbound/Makefile +++ b/net/unbound/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=unbound PKG_VERSION:=1.6.1 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/net/unbound/files/unbound.sh b/net/unbound/files/unbound.sh index 5f733fbcb..d918152d7 100644 --- a/net/unbound/files/unbound.sh +++ b/net/unbound/files/unbound.sh @@ -88,6 +88,29 @@ UNBOUND_CONTROL_CFG="$UNBOUND_CONTROL -c $UNBOUND_CONFFILE" ############################################################################## +copy_dash_update() { + # TODO: remove this function and use builtins when this issues is resovled. + # Due to OpenWrt/LEDE divergence "cp -u" isn't yet universally available. + local filetime keeptime + + + if [ -f $UNBOUND_KEYFILE.keep ] ; then + # root.key.keep is reused if newest + filetime=$( date -r $UNBOUND_KEYFILE +%s ) + keeptime=$( date -r $UNBOUND_KEYFILE.keep +%s ) + + + if [ $keeptime -gt $filetime ] ; then + cp $UNBOUND_KEYFILE.keep $UNBOUND_KEYFILE + fi + + + rm -f $UNBOUND_KEYFILE.keep + fi +} + +############################################################################## + create_interface_dns() { local cfg="$1" local ipcommand logint ignore ifname ifdashname @@ -312,11 +335,7 @@ unbound_mkdir() { fi - if [ -f $UNBOUND_KEYFILE.keep ] ; then - # root.key.keep is reused if newest - cp -u $UNBOUND_KEYFILE.keep $UNBOUND_KEYFILE - rm -f $UNBOUND_KEYFILE.keep - fi + copy_dash_update # Ensure access and prepare to jail