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
This commit is contained in:
des 2018-05-12 18:07:53 +00:00
parent bb2118ef40
commit 6a5d4fafb5

View File

@ -252,6 +252,18 @@ gen_unbound_conf() {
fi
}
#
# 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}"