Here's a cosmetically evolved patch which I'll commit and release
shortly. Thanks!
--
Thomas
diff --git a/etc/dhcp/dhclient-enter-hooks.d/resolvconf b/etc/dhcp/dhclient-enter-hooks.d/resolvconf
index 529504b..cf61615 100644
--- a/etc/dhcp/dhclient-enter-hooks.d/resolvconf
+++ b/etc/dhcp/dhclient-enter-hooks.d/resolvconf
@@ -45,27 +45,26 @@ if [ -x /sbin/resolvconf ] ; then
# It gets run later (or, in the TIMEOUT case, MAY get run later)
make_resolv_conf() {
local R
- local nameserver
- local zone_id
+ local N
+ local N_LOW
+ local ZONE_ID
R=""
if [ "$new_dhcp6_name_servers" ] && [ "$new_dhcp6_domain_search" ] ; then
R="${R}search $new_dhcp6_domain_search
"
fi
- shopt -s nocasematch
- for nameserver in $new_dhcp6_name_servers ; do
-
+ for N in $new_dhcp6_name_servers ; do
# If the nameserver has a link-local address
# then add a zone ID (interface name) to it.
- if [[ "$nameserver" =~ ^fe80:: ]] ; then
- zone_id="%$interface"
+ N_LOW="$(echo "$N" | tr '[:upper:]' '[:lower:]')"
+ if expr "$N_LOW" : ^fe80:: >/dev/null ; then
+ ZONE_ID="%$interface"
else
- zone_id=""
+ ZONE_ID=""
fi
- R="${R}nameserver $nameserver$zone_id
+ R="${R}nameserver $N$ZONE_ID
"
done
- shopt -u nocasematch
[ ! "$interface" ] || echo -n "$R" | /sbin/resolvconf -a "${interface}.ip6.dhclient"
}
;;