Commit 1c29755c authored by Shawn Routhier's avatar Shawn Routhier
Browse files

Client Script fixes

[ISC-Bugs #23045] Typos in client/scripts/openbsd
[ISC-Bugs #23565] In the client scripts add a zone id (interface id) if
the domain search address is link local.
[ISC-Bugs #1277] In some of the client scripts add code to handle the
case of the default router information being changed without the address
being changed.
parent 948c51fa
......@@ -165,6 +165,14 @@ work on other platforms. Please report any problems and suggested fixes to
- Compilation problem with gcc4.5 and omshell.c resolved. [ISC-Bugs #23831]
- Client Script fixes
[ISC-Bugs #23045] Typos in client/scripts/openbsd
[ISC-Bugs #23565] In the client scripts add a zone id (interface id) if
the domain search address is link local.
[ISC-Bugs #1277] In some of the client scripts add code to handle the
case of the default router information being changed without the address
being changed.
Changes since 4.1-ESV-R1
! In dhclient check the data for some string options for
......
......@@ -24,7 +24,14 @@ make_resolv_conf() {
echo search ${new_dhcp6_domain_search} >> /etc/resolv.conf.dhclient6
fi
for nameserver in ${new_dhcp6_name_servers} ; do
echo nameserver ${nameserver} >> /etc/resolv.conf.dhclient6
# If the nameserver has a link-local address
# add a <zone_id> (interface name) to it.
case $nameserver in
fe80:*) zone_id="%$interface";;
FE80:*) zone_id="%$interface";;
*) zone_id='';;
esac
echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
done
mv /etc/resolv.conf.dhclient6 /etc/resolv.conf
......@@ -151,6 +158,19 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
shift; shift
done
fi
else
# we haven't changed the address, have we changed other options
# that we wish to update?
if [ x$new_routers != x ] && [ x$new_routers != x$old_routers ] ; then
# if we've changed routers delete the old and add the new.
$LOGGER "New Routers: $new_routers"
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
done
for router in $new_routers; do
route add default $router >/dev/null 2>&1
done
fi
fi
if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
then
......
#!/bin/sh
#
# $Id: freebsd,v 1.22.42.1 2009/04/21 14:21:09 pselkirk Exp $
# $Id: freebsd,v 1.22.42.1.10.1 2011/05/18 20:13:51 sar Exp $
#
# $FreeBSD$
......@@ -59,7 +59,14 @@ make_resolv_conf() {
if [ $exit_status -ne 0 ] ; then
break
fi
( echo nameserver ${nameserver} >> /etc/resolv.conf.dhclient6 )
# If the nameserver has a link-local address
# add a <zone_id> (interface name) to it.
case $nameserver in
fe80:*) zone_id="%$interface";;
FE80:*) zone_id="%$interface";;
*) zone_id='';;
esac
( echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6 )
exit_status=$?
done
......@@ -208,6 +215,25 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
shift; shift
done
fi
else
# we haven't changed the address, have we changed other options
# that we wish to update?
if [ x$new_routers != x ] && [ x$new_routers != x$old_routers ] ; then
# if we've changed routers delete the old and add the new.
$LOGGER "New Routers: $new_routers"
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
done
for router in $new_routers; do
# If the subnet is captive, eg the netmask is /32 but the default
# gateway is (obviously) outside of this, then we need to produce a
# host route to reach the gateway.
if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
route add -host $router -interface $interface
fi
route add default $router >/dev/null 2>&1
done
fi
fi
if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
then
......
......@@ -49,9 +49,19 @@ make_resolv_conf() {
if [ "x${new_dhcp6_domain_search}" != x ] ; then
echo search ${new_dhcp6_domain_search} >> /etc/resolv.conf.dhclient6
fi
shopt -s nocasematch
for nameserver in ${new_dhcp6_name_servers} ; do
echo nameserver ${nameserver} >> /etc/resolv.conf.dhclient6
# If the nameserver has a link-local address
# add a <zone_id> (interface name) to it.
if [[ "$nameserver" =~ ^fe80:: ]]
then
zone_id="%$interface"
else
zone_id=
fi
echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
done
shopt -u nocasematch
mv /etc/resolv.conf.dhclient6 /etc/resolv.conf
fi
......@@ -161,6 +171,21 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
fi
route add default gw $router $metric_arg dev $interface
done
else
# we haven't changed the address, have we changed other options
# that we wish to update?
if [ x$new_routers != x ] && [ x$new_routers != x$old_routers ] ; then
# if we've changed routers delete the old and add the new.
for router in $old_routers; do
route del default gw $router
done
for router in $new_routers; do
if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
route add -host $router dev $interface
fi
route add default gw $router $metric_arg dev $interface
done
fi
fi
if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
then
......
#!/bin/sh
#
# $Id: macos,v 1.2 2008/11/03 23:32:12 dhankins Exp $
# $Id: macos,v 1.2.222.1 2011/05/18 20:13:51 sar Exp $
#
# automous run of this script will commit the DNS setting
#
......@@ -29,7 +29,14 @@ make_resolv_conf() {
if [ $exit_status -ne 0 ]; then
break
fi
( echo nameserver ${nameserver} >> /var/run/resolv.conf.dhclient6 )
# If the nameserver has a link-local address
# add a <zone_id> (interface name) to it.
case $nameserver in
fe80:*) zone_id="%$interface";;
FE80:*) zone_id="%$interface";;
*) zone_id='';;
esac
( echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6 )
exit_status=$?
done
......
......@@ -24,7 +24,14 @@ make_resolv_conf() {
echo search ${new_dhcp6_domain_search} >> /etc/resolv.conf.dhclient6
fi
for nameserver in ${new_dhcp6_name_servers} ; do
echo nameserver ${nameserver} >> /etc/resolv.conf.dhclient6
# If the nameserver has a link-local address
# add a <zone_id> (interface name) to it.
case $nameserver in
fe80:*) zone_id="%$interface";;
FE80:*) zone_id="%$interface";;
*) zone_id='';;
esac
echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
done
mv /etc/resolv.conf.dhclient6 /etc/resolv.conf
......@@ -151,6 +158,19 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
shift; shift
done
fi
else
# we haven't changed the address, have we changed other options
# that we wish to update?
if [ x$new_routers != x ] && [ x$new_routers != x$old_routers ] ; then
# if we've changed routers delete the old and add the new.
$LOGGER "New Routers: $new_routers"
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
done
for router in $new_routers; do
route add default $router >/dev/null 2>&1
done
fi
fi
if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
then
......
#!/bin/sh
make_resolv_conf() {
if x"$new_domain_name_servers" != x ]; then
if [ x"$new_domain_name_servers" != x ]; then
cat /dev/null > /etc/resolv.conf.dhclient
if [ x"$new_domain_search" != x ]; then
echo search $new_domain_search >> /etc/resolv.conf.dhclient
......@@ -15,7 +15,7 @@ make_resolv_conf() {
echo nameserver $nameserver >>/etc/resolv.conf.dhclient
done
mv /etc/ersolv.conf.dhclient /etc/resolv.conf
mv /etc/resolv.conf.dhclient /etc/resolv.conf
elif [ "x${new_dhcp6_name_servers}" != x ] ; then
cat /dev/null > /etc/resolv.conf.dhclient6
chmod 644 /etc/resolv.conf.dhclient6
......@@ -24,7 +24,14 @@ make_resolv_conf() {
echo search ${new_dhcp6_domain_search} >> /etc/resolv.conf.dhclient6
fi
for nameserver in ${new_dhcp6_name_servers} ; do
echo nameserver ${nameserver} >> /etc/resolv.conf.dhclient6
# If the nameserver has a link-local address
# add a <zone_id> (interface name) to it.
case $nameserver in
fe80:*) zone_id="%$interface";;
FE80:*) zone_id="%$interface";;
*) zone_id='';;
esac
echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
done
mv /etc/resolv.conf.dhclient6 /etc/resolv.conf
......@@ -145,6 +152,19 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
shift; shift
done
fi
else
# we haven't changed the address, have we changed other options
# that we wish to update?
if [ x$new_routers != x ] && [ x$new_routers != x$old_routers ] ; then
# if we've changed routers delete the old and add the new.
$LOGGER "New Routers: $new_routers"
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
done
for router in $new_routers; do
route add default $router >/dev/null 2>&1
done
fi
fi
if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
then
......
......@@ -25,7 +25,14 @@ make_resolv_conf() {
echo search ${new_dhcp6_domain_search} >> /etc/resolv.conf.dhclient6
fi
for nameserver in ${new_dhcp6_name_servers} ; do
echo nameserver ${nameserver} >> /etc/resolv.conf.dhclient6
# If the nameserver has a link-local address
# add a <zone_id> (interface name) to it.
case $nameserver in
fe80:*) zone_id="%$interface";;
FE80:*) zone_id="%$interface";;
*) zone_id='';;
esac
echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
done
mv /etc/resolv.conf.dhclient6 /etc/resolv.conf
......@@ -128,6 +135,22 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
fi
route add default gw $router
done
else
# we haven't changed the address, have we changed other options
# that we wish to update?
if [ x$new_routers != x ] && [ x$new_routers != x$old_routers ] ; then
# if we've changed routers delete the old and add the new.
$LOGGER "New Routers: $new_routers"
for router in $old_routers; do
route delete default $router
done
for router in $new_routers; do
if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
route add -host $router dev $interface
fi
route add default gw $router
done
fi
fi
if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
then
......
......@@ -128,6 +128,19 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
for router in $new_routers; do
route add default $router 1 >/dev/null 2>&1
done
else
# we haven't changed the address, have we changed other options
# that we wish to update?
if [ x$new_routers != x ] && [ x$new_routers != x$old_routers ] ; then
# if we've changed routers delete the old and add the new.
$LOGGER "New Routers: $new_routers"
for router in $old_routers; do
route delete default $router >/dev/null 2>&1
done
for router in $new_routers; do
route add default $router 1 >/dev/null 2>&1
done
fi
fi
if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
then
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment