diff options
author | Shawn Routhier <sar@isc.org> | 2013-08-30 13:25:12 -0700 |
---|---|---|
committer | Shawn Routhier <sar@isc.org> | 2013-08-30 13:25:12 -0700 |
commit | f6dc164f6b01139610b22ace176053efa6dc814c (patch) | |
tree | 85438204f5fe3534be605100736585fc868dd534 | |
parent | 3cb6f9bb3d0cef56b3a4fca7207a27040c2c89b9 (diff) | |
download | isc-dhcp-f6dc164f6b01139610b22ace176053efa6dc814c.tar.gz |
-n [master]
fixes in openwrt script from the lwds-lite lab as well
as some cosmetic changes and updating other scripts to
use two double quotes instead of two single quotes for
empty zone ids.
[rt29843]
-rw-r--r-- | RELNOTES | 3 | ||||
-rwxr-xr-x | client/scripts/bsdos | 2 | ||||
-rwxr-xr-x | client/scripts/freebsd | 2 | ||||
-rwxr-xr-x | client/scripts/macos | 2 | ||||
-rwxr-xr-x | client/scripts/netbsd | 2 | ||||
-rw-r--r-- | client/scripts/openbsd | 2 | ||||
-rwxr-xr-x | client/scripts/openwrt | 54 |
7 files changed, 39 insertions, 28 deletions
@@ -111,6 +111,9 @@ work on other platforms. Please report any problems and suggested fixes to the release tarballs. To generate this documentation, please use make devel command in doc directory. [ISC-Bugs #32767] +- Update client script for use with openwrt. + [ISC-Bugs #29843] + Changes since 4.2.4 - Correct code to calculate timing values in client to compare diff --git a/client/scripts/bsdos b/client/scripts/bsdos index 2cbcdfbf..d69d0d86 100755 --- a/client/scripts/bsdos +++ b/client/scripts/bsdos @@ -29,7 +29,7 @@ make_resolv_conf() { case $nameserver in fe80:*) zone_id="%$interface";; FE80:*) zone_id="%$interface";; - *) zone_id='';; + *) zone_id="";; esac echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6 done diff --git a/client/scripts/freebsd b/client/scripts/freebsd index 3f89dee9..6485cc75 100755 --- a/client/scripts/freebsd +++ b/client/scripts/freebsd @@ -64,7 +64,7 @@ make_resolv_conf() { case $nameserver in fe80:*) zone_id="%$interface";; FE80:*) zone_id="%$interface";; - *) zone_id='';; + *) zone_id="";; esac ( echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6 ) exit_status=$? diff --git a/client/scripts/macos b/client/scripts/macos index 8373820b..cb661921 100755 --- a/client/scripts/macos +++ b/client/scripts/macos @@ -34,7 +34,7 @@ make_resolv_conf() { case $nameserver in fe80:*) zone_id="%$interface";; FE80:*) zone_id="%$interface";; - *) zone_id='';; + *) zone_id="";; esac ( echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6 ) exit_status=$? diff --git a/client/scripts/netbsd b/client/scripts/netbsd index 77b0fba2..8a5007e7 100755 --- a/client/scripts/netbsd +++ b/client/scripts/netbsd @@ -29,7 +29,7 @@ make_resolv_conf() { case $nameserver in fe80:*) zone_id="%$interface";; FE80:*) zone_id="%$interface";; - *) zone_id='';; + *) zone_id="";; esac echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6 done diff --git a/client/scripts/openbsd b/client/scripts/openbsd index ce22d753..f20d0ff6 100644 --- a/client/scripts/openbsd +++ b/client/scripts/openbsd @@ -29,7 +29,7 @@ make_resolv_conf() { case $nameserver in fe80:*) zone_id="%$interface";; FE80:*) zone_id="%$interface";; - *) zone_id='';; + *) zone_id="";; esac echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6 done diff --git a/client/scripts/openwrt b/client/scripts/openwrt index 9d434ad3..8c3059a0 100755 --- a/client/scripts/openwrt +++ b/client/scripts/openwrt @@ -1,5 +1,8 @@ #!/bin/sh +# 'ip' just looks too weird. /sbin/ip looks less weird. +ip=/usr/sbin/ip + make_resolv_conf() { if [ x"$new_domain_name_servers" != x ]; then cat /dev/null > /etc/resolv.conf.dhclient @@ -30,7 +33,7 @@ make_resolv_conf() { case $nameserver in fe80:*) zone_id="%$interface";; FE80:*) zone_id="%$interface";; - *) zone_id='';; + *) zone_id="";; esac echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6 done @@ -39,7 +42,7 @@ make_resolv_conf() { fi } -# Must be used on exit. Invokes the local dhcp client exit hooks, if any. +# Must be used on exit. Invokes the local dhcp client exit hooks, if any. exit_with_hooks() { exit_status=$1 if [ -f /etc/dhclient-exit-hooks ]; then @@ -73,9 +76,9 @@ fi if [ x$alias_subnet_mask != x ]; then alias_subnet_arg="netmask $alias_subnet_mask" fi - if [ x$new_interface_mtu != x ]; then - mtu_arg="mtu $new_interface_mtu" - fi +if [ x$new_interface_mtu != x ]; then + mtu_arg="mtu $new_interface_mtu" +fi if [ x$IF_METRIC != x ]; then metric_arg="metric $IF_METRIC" fi @@ -101,7 +104,7 @@ fi if [ x$reason = xARPCHECK ] || [ x$reason = xARPSEND ]; then exit_with_hooks 0 fi - + if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \ [ x$reason = xREBIND ] || [ x$reason = xREBOOT ]; then current_hostname=`hostname` @@ -112,13 +115,14 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \ hostname $new_host_name fi fi - + if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \ [ x$alias_ip_address != x$old_ip_address ]; then # Possible new alias. Remove old alias. ifconfig $interface:0- 0.0.0.0 fi - if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then + if [ x$old_ip_address != x ] && \ + [ x$old_ip_address != x$new_ip_address ]; then # IP address changed. Bringing down the interface will delete all routes, # and clear the ARP cache. ifconfig $interface 0.0.0.0 down @@ -128,27 +132,27 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \ [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then ifconfig $interface $new_ip_address $new_subnet_arg \ - $new_broadcast_arg $mtu_arg $metric_arg + $new_broadcast_arg $mtu_arg 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 + route add default gw $router $metric_arg dev $interface done - else - # we haven't changed the address, have we changed other options + 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 + 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 + route add default gw $router $metric_arg dev $interface done fi fi @@ -184,7 +188,7 @@ if [ x$reason = xTIMEOUT ]; then ifconfig $interface:0- 0.0.0.0 fi ifconfig $interface $new_ip_address $new_subnet_arg \ - $new_broadcast_arg $mtu_arg $metric_arg + $new_broadcast_arg $mtu_arg set $new_routers if ping -q -c 1 $1; then if [ x$new_ip_address != x$alias_ip_address ] && \ @@ -196,7 +200,7 @@ if [ x$reason = xTIMEOUT ]; then if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then route add -host $router dev $interface fi - route add default gw $router + route add default gw $router $metric_arg dev $interface done make_resolv_conf exit_with_hooks 0 @@ -211,10 +215,10 @@ fi if [ x$reason = xPREINIT6 ]; then # Ensure interface is up. - ifconfig ${interface} up + ${ip} link set ${interface} up # Remove any stale addresses from aborted clients. - ip -f inet6 addr flush dev ${interface} scope global + ${ip} -f inet6 addr flush dev ${interface} scope global permanent exit_with_hooks 0 fi @@ -230,7 +234,8 @@ if [ x$reason = xBOUND6 ]; then exit_with_hooks 2; fi - ifconfig ${interface} inet6 ${new_ip6_address}/${new_ip6_prefixlen} alias + ${ip} -f inet6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \ + dev ${interface} scope global # Check for nameserver options. make_resolv_conf @@ -243,7 +248,8 @@ if [ x$reason = xRENEW6 ] || [ x$reason = xREBIND6 ]; then exit_with_hooks 2; fi - ifconfig ${interface} inet6 ${new_ip6_address}/${new_ip6_prefixlen} alias + ${ip} -f inet6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \ + dev ${interface} scope global # Make sure nothing has moved around on us. @@ -257,11 +263,12 @@ if [ x$reason = xRENEW6 ] || [ x$reason = xREBIND6 ]; then fi if [ x$reason = xDEPREF6 ]; then - if [ x${new_ip6_address} = x ] ; then + if [ x${new_ip6_prefixlen} = x ] ; then exit_with_hooks 2; fi - ifconfig ${interface} inet6 ${new_ip6_address} deprecated + ${ip} -f inet6 addr change ${new_ip6_address}/${new_ip6_prefixlen} \ + dev ${interface} scope global preferred_lft 0 exit_with_hooks 0 fi @@ -271,7 +278,8 @@ if [ x$reason = xEXPIRE6 -o x$reason = xRELEASE6 -o x$reason = xSTOP6 ]; then exit_with_hooks 2; fi - ifconfig ${interface} inet6 ${old_ip6_address}/${old_ip6_prefixlen} -alias + ${ip} -f inet6 addr del ${old_ip6_address}/${old_ip6_prefixlen} \ + dev ${interface} exit_with_hooks 0 fi |