From 092e2f9994160194576321bca1dab834dd925f7b Mon Sep 17 00:00:00 2001 From: Blackyfff Date: Mon, 8 Feb 2021 21:23:15 +0100 Subject: [PATCH] Reload external subdomain on change Signed-off-by: Blackyfff --- update-dns.sh | 12 ++++++++---- update-extzone.sh | 5 ++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/update-dns.sh b/update-dns.sh index 4be7277..8c67d60 100755 --- a/update-dns.sh +++ b/update-dns.sh @@ -77,7 +77,7 @@ if [ $ServeMasterZone -ne 0 ]; then done done ExternFile="$ZoneFilesFolder""db.""$ExternalView"".""$CommunityDomain" - ./update-extzone.sh "$MasterFile" "$ExternFile" "$CommunityDomain" "$ExternalView" + ./update-extzone.sh "$MasterFile" "$ExternFile" "$CommunityDomain" "$ExternalView" "$CommunityExternDomain" "$InternalViews" for IView in $InternalViews; do InternViewMasterZone="$ZoneFilesFolder""db.""$IView"".""$CommunityDomain" @@ -134,8 +134,13 @@ for Hood in $Hoods; do done done done + if [ -n "$CommunityExternDomain" ]; then + HoodExternDomain="${Hood%%\#*}"".""$CommunityExternDomain" + else + HoodExternDomain="" + fi ExternFile="$ZoneFilesFolder""db.""$ExternalView"".""$HoodDomain" - ./update-extzone.sh "$HoodZoneFile" "$ExternFile" "$HoodDomain" "$ExternalView" + ./update-extzone.sh "$HoodZoneFile" "$ExternFile" "$HoodDomain" "$ExternalView" "$HoodExternDomain" "$InternalViews" for IView in $InternalViews; do InternViewMasterZone="$ZoneFilesFolder""db.""$IView"".""$HoodDomain" @@ -144,8 +149,7 @@ for Hood in $Hoods; do done InsertZoneToIncludeFile "$HoodDomain" "$ExternFile" "/tmp/""$ExternalView"".conf" "$DNSSECPolicy" - if [ -n "$CommunityExternDomain" ]; then - HoodExternDomain="${Hood%%\#*}"".""$CommunityExternDomain" + if [ -n "$HoodExternDomain" ]; then for IView in $InternalViews; do InternViewExternZone="$ZoneFilesFolder""db.""$IView"".""$HoodExternDomain" [ -f "$InternViewExternZone" ] || ln -s "$ExternFile" "$InternViewExternZone" diff --git a/update-extzone.sh b/update-extzone.sh index 4e35b0c..24244a6 100755 --- a/update-extzone.sh +++ b/update-extzone.sh @@ -6,6 +6,8 @@ InternalZoneFile="$1" ExternalZoneFile="$2" ExternalZone="$3" ExternalView="$4" +CommunityExternal="$5" +InternalViews="$6" SerialIntern="$(GetZoneFileSerial "$InternalZoneFile")" SerialExtern="$(GetZoneFileSerial "$ExternalZoneFile")" @@ -20,4 +22,5 @@ if [ $((SerialIntern)) -gt $((SerialExtern)) ]; then s/^\(@ [^;]* IN SOA\)\s\+\S\+\s\+\S\+\s/\1 '"$DNSSCRIPT_SERVER_NAME"'. '"$DNSSCRIPT_CONTACT_EMAIL"' /g')" echo "$ZoneContent" > "$ExternalZoneFile" ReloadZone "$ExternalZone" "$ExternalView" -fi + [ -z "$CommunityExternal" ] || ReloadZone "$CommunityExternal" "$InternalViews" +fi \ No newline at end of file