From 232ca12b48601a37343bbe06c31f1f5ab16bb582 Mon Sep 17 00:00:00 2001 From: Blackyfff Date: Sat, 24 Jul 2021 01:45:46 +0200 Subject: [PATCH] use Tempfile instead of folder; fix Reverse NS Signed-off-by: Blackyfff --- usr/lib/ffdns/update-rdnszone.sh | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) mode change 100755 => 100644 usr/lib/ffdns/update-rdnszone.sh diff --git a/usr/lib/ffdns/update-rdnszone.sh b/usr/lib/ffdns/update-rdnszone.sh old mode 100755 new mode 100644 index 5e366cd..ebec235 --- a/usr/lib/ffdns/update-rdnszone.sh +++ b/usr/lib/ffdns/update-rdnszone.sh @@ -10,10 +10,10 @@ ReverseDomain="$1" ReverseZone="${ReverseDomain%*.}" ForwardZones="$2" ReverseZoneFile="$3" -TempDir="/tmp/""$ReverseZone" TTL="${4%% *}" ReReExMi="${4#* }" View="$5" +TempFile="/tmp/""$ReverseZone" GetIPEntries() { if [ -z "$RZoneIsIPv6" ]; then @@ -41,8 +41,6 @@ else TraceErrAndExit "$ReverseDomain"" is no valid reverse domain" fi -mkdir -p "$TempDir" - for ForwardZone in $ForwardZones; do ZoneFile="${ForwardZone#*/}" Serial="$(GetZoneFileSerial "$ZoneFile")" @@ -60,19 +58,19 @@ if [ $((NewReverseSerial)) -gt $((OldSerial)) ]; then Static="${Static#*/}" [ -f "$Static" ] && echo "$(cat "$Static")" echo - } > "$TempDir/$ReverseZone" + } > "$TempFile" for ForwardZone in $ForwardZones; do ZoneName="${ForwardZone%%/*}" ZoneFile="${ForwardZone#*/}" - ZoneRevNSSubnets="$(sed -ne 's/^\s*\S\+\s\+\([0-9]*\s\)\?\s*[Ii][Nn]\s\+[Nn][Ss]\s\+\(\S\+\).*;\s*Subnets:\s*\([^;]*\)\s*\(;[^;]*\s*\)$/\2@\3/p' "$ZoneFile" | + ZoneRevNSSubnets="$(sed -ne 's/^\s*\S\+\s\+\([0-9]*\s\)\?\s*[Ii][Nn]\s\+[Nn][Ss]\s\+\(\S\+\).*;\s*Subnets:\s*\([^;]\+\)\s*\(;.*\)\?$/\2@\3/p' "$ZoneFile" | \ sed -e 's/\(.*[^\.]\)@/\1\.'"$ZoneName"'\.@/;s/@/ /;s/\s\+/@/g')" for NSSubnets in $ZoneRevNSSubnets; do Subnets="$(echo "${NSSubnets#*@}" | sed -e 's/@/ /g')" for Subnet in $Subnets; do for ReverseNS in $(GetReverseDomains "$Subnet"); do if [ -n "$ReverseNS" ] && [ -z "${ReverseNS##*$ReverseDomain}" ]; then - echo "$ReverseNS $TTL IN NS ${NSSubnets%%@*}" >> "$TempDir/$ReverseZone" + echo "$ReverseNS $TTL IN NS ${NSSubnets%%@*}" >> "$TempFile" fi done done @@ -85,13 +83,12 @@ if [ $((NewReverseSerial)) -gt $((OldSerial)) ]; then IP="$(ReverseEntry "$IP")" if [ -z "${IP##*$ReverseDomain}" ]; then Host="$(ExpandHostname "${IPEntry%%/*}" "$ZoneName"".")" - echo "$IP $TTL IN PTR $Host" >> "$TempDir/$ReverseZone" + echo "$IP $TTL IN PTR $Host" >> "$TempFile" fi done done - named-checkzone -o "$ReverseZoneFile" "$ReverseDomain" "$TempDir/$ReverseZone" >/dev/null + named-checkzone -o "$ReverseZoneFile" "$ReverseDomain" "$TempFile" >/dev/null ReloadZone "$ReverseDomain" "$View" -fi - -rm -r "$TempDir" \ No newline at end of file + rm -r "$TempFile" +fi \ No newline at end of file