From 070fefabf54fd8f4d640f23d2fd9fe5e45648489 Mon Sep 17 00:00:00 2001 From: Blackyfff Date: Thu, 29 Jul 2021 22:54:18 +0200 Subject: [PATCH] fix: permissions; unnecessary key reload when serving extern and root; reloading with rndc Signed-off-by: Blackyfff --- usr/lib/ffdns/dns-functions.sh | 14 +++++++++----- usr/lib/ffdns/update-dns.sh | 2 +- usr/lib/ffdns/update-hoodzone.sh | 0 usr/lib/ffdns/update-public-acl.sh | 0 usr/lib/ffdns/update-rdnszone.sh | 0 5 files changed, 10 insertions(+), 6 deletions(-) mode change 100644 => 100755 usr/lib/ffdns/dns-functions.sh mode change 100644 => 100755 usr/lib/ffdns/update-dns.sh mode change 100644 => 100755 usr/lib/ffdns/update-hoodzone.sh mode change 100644 => 100755 usr/lib/ffdns/update-public-acl.sh mode change 100644 => 100755 usr/lib/ffdns/update-rdnszone.sh diff --git a/usr/lib/ffdns/dns-functions.sh b/usr/lib/ffdns/dns-functions.sh old mode 100644 new mode 100755 index f8cc7b0..e8f3573 --- a/usr/lib/ffdns/dns-functions.sh +++ b/usr/lib/ffdns/dns-functions.sh @@ -49,7 +49,8 @@ zone \"""$1""\" {\n\ } GetAllNameservers() { sed -ne 's/^\s*'"$2"'\s\+\([0-9]*\s\)\?\s*[Ii][Nn]\s\+[Nn][Ss]\s\+\(\S\+\)/\3/p' "$3" | \ - sed -e 's/\([^.]\)$/\1\.'"$1"'\./g;s/\.$//g' + sed -e 's/\([^.]\)$/\1\.'"$1"'\./g;s/\.$//g' | \ + awk '!a[$0]++' } GetAllSubNameservers() { Domain="$(SEDifyHostname "$1")" @@ -281,10 +282,13 @@ ReloadZone() { systemctl reload bind9 >/dev/null elif [ $((DNSSCRIPT_BIND_RELOAD_VER)) -eq 1 ]; then for Zone in $2; do - rndc reload "$1" IN "$Zone" 2>"/tmp/dnsscript_rndcerr" >/dev/null || \ - [ -n "$3" ] && grep -q "failed: out of range" "/tmp/dnsscript_rndcerr" && \ - rndc sync -clean "$1" IN "$Zone" >/dev/null || \ - touch "/tmp/dnsscript-forcereconf" + if ! rndc reload "$1" IN "$Zone" 2>"/tmp/dnsscript_rndcerr" >/dev/null; then + if [ -n "$3" ] && grep -q "failed: out of range" "/tmp/dnsscript_rndcerr"; then + rndc sync -clean "$1" IN "$Zone" >/dev/null || touch "/tmp/dnsscript-forcereconf" + else + touch "/tmp/dnsscript-forcereconf" + fi + fi rm -f "/tmp/dnsscript_rndcerr" done elif [ $((DNSSCRIPT_BIND_RELOAD_VER)) -eq 2 ]; then diff --git a/usr/lib/ffdns/update-dns.sh b/usr/lib/ffdns/update-dns.sh old mode 100644 new mode 100755 index aa10a1e..ad24cfa --- a/usr/lib/ffdns/update-dns.sh +++ b/usr/lib/ffdns/update-dns.sh @@ -8,7 +8,7 @@ # exit script when command fails set -e -export DNSSCRIPT_VERSION="0.8.2" +export DNSSCRIPT_VERSION="0.8.3" . /etc/ffdns/community.conf . /etc/ffdns/local.conf diff --git a/usr/lib/ffdns/update-hoodzone.sh b/usr/lib/ffdns/update-hoodzone.sh old mode 100644 new mode 100755 diff --git a/usr/lib/ffdns/update-public-acl.sh b/usr/lib/ffdns/update-public-acl.sh old mode 100644 new mode 100755 diff --git a/usr/lib/ffdns/update-rdnszone.sh b/usr/lib/ffdns/update-rdnszone.sh old mode 100644 new mode 100755