Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 May 2018 18:07:53 +0000 (UTC)
From:      =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= <des@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r333574 - head/usr.sbin/unbound/setup
Message-ID:  <201805121807.w4CI7rQO009363@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: des
Date: Sat May 12 18:07:53 2018
New Revision: 333574
URL: https://svnweb.freebsd.org/changeset/base/333574

Log:
  If the sole non-option command line argument is "none", remove any
  pre-existing forwarder configuration and set Unbound up to recurse.
  
  PR:		222902
  MFC after:	1 week

Modified:
  head/usr.sbin/unbound/setup/local-unbound-setup.sh

Modified: head/usr.sbin/unbound/setup/local-unbound-setup.sh
==============================================================================
--- head/usr.sbin/unbound/setup/local-unbound-setup.sh	Sat May 12 17:10:36 2018	(r333573)
+++ head/usr.sbin/unbound/setup/local-unbound-setup.sh	Sat May 12 18:07:53 2018	(r333574)
@@ -253,6 +253,18 @@ gen_unbound_conf() {
 }
 
 #
+# Rename a file we are about to replace.
+#
+backup() {
+	local file="$1"
+	if [ -f "${file}" ] ; then
+		local bkfile="${file}.${bkext}"
+		echo "Original ${file} saved as ${bkfile}"
+		mv "${file}" "${bkfile}"
+	fi
+}
+
+#
 # Replace one file with another, making a backup copy of the first,
 # but only if the new file is different from the old.
 #
@@ -263,9 +275,7 @@ replace() {
 		echo "${file} created"
 		mv "${newfile}" "${file}"
 	elif ! cmp -s "${file}" "${newfile}" ; then
-		local oldfile="${file}.${bkext}"
-		echo "original ${file} saved as ${oldfile}"
-		mv "${file}" "${oldfile}"
+		backup "${file}"
 		mv "${newfile}" "${file}"
 	else
 		echo "${file} not modified"
@@ -359,13 +369,20 @@ main() {
 	# from resolv.conf.
 	#
 	forwarders="$@"
-	if [ -z "$forwarders" ] ; then
+	case "${forwarders}" in
+	[Nn][Oo][Nn][Ee])
+		forwarders="none"
+		style=recursing
+		;;
+	"")
 		echo "Extracting forwarders from ${resolv_conf}."
 		forwarders=$(get_nameservers <"${resolv_conf}")
 		style=dynamic
-	else
+		;;
+	*)
 		style=static
-	fi
+		;;
+	esac
 
 	#
 	# Generate forward.conf.
@@ -377,6 +394,9 @@ main() {
 		else
 			echo "unbound will recurse."
 		fi
+	elif [ "${forwarders}" = "none" ] ; then
+		echo "Forwarding disabled, unbound will recurse."
+		backup "${forward_conf}"
 	else
 		local tmp_forward_conf=$(mktemp -u "${forward_conf}.XXXXX")
 		gen_forward_conf ${forwarders} | unexpand >"${tmp_forward_conf}"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201805121807.w4CI7rQO009363>