From 7d9dd30689a3a3a2a65dbed56d18f77d1aa1b874 Mon Sep 17 00:00:00 2001 From: Thomas Markwalder Date: Tue, 8 Jul 2014 13:14:19 -0400 Subject: [PATCH] [master] Squashed commit of the following: commit d911f58de00fd97f0e041cd12bd6b43804c32f4b Author: Shawn Routhier Date: Mon Jul 7 19:20:13 2014 -0700 [rt36102] Add release note commit 9dd4630b0653e7f7405a633e7f0163c163d3cb9a Author: Thomas Markwalder Date: Mon Jul 7 09:11:35 2014 -0400 [master] Patched client scripts for linux and openwrt 36102 - Client scripts were not updatig resolv.conf when reason is RENEW6 or REBIND6 and mode is stateless. Note this only affects the linux and openwrt scripts as only these two flush the interface of "stale" addresses in PREINIT6 --- RELNOTES | 7 +++++++ client/scripts/linux | 8 +++----- client/scripts/openwrt | 8 +++----- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/RELNOTES b/RELNOTES index 1b535c39..7eeba46e 100644 --- a/RELNOTES +++ b/RELNOTES @@ -52,6 +52,13 @@ ISC DHCP is open source software maintained by Internet Systems Consortium. This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). + Changes since 4.3.1b1 + +- Modify the linux and openwrt dhclient scripts to process information + from a stateless request. Thanks to Jiri Popelka at Red Hat for the + bug report and patch. + [ISC-Bugs 36102] + Changes since 4.3.0 - Tidy up several small tickets. diff --git a/client/scripts/linux b/client/scripts/linux index 14655f04..e6792c67 100755 --- a/client/scripts/linux +++ b/client/scripts/linux @@ -275,12 +275,10 @@ if [ x$reason = xBOUND6 ] ; then fi if [ x$reason = xRENEW6 ] || [ x$reason = xREBIND6 ] ; then - if [ x${new_ip6_address} = x ] || [ x${new_ip6_prefixlen} = x ] ; then - exit_with_hooks 2; - fi - - ${ip} -f inet6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \ + if [ x${new_ip6_address} != x ] && [ x${new_ip6_prefixlen} != x ] ; then + ${ip} -f inet6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \ dev ${interface} scope global + fi # Make sure nothing has moved around on us. diff --git a/client/scripts/openwrt b/client/scripts/openwrt index 8c3059a0..55a4aa96 100755 --- a/client/scripts/openwrt +++ b/client/scripts/openwrt @@ -244,13 +244,11 @@ if [ x$reason = xBOUND6 ]; then fi if [ x$reason = xRENEW6 ] || [ x$reason = xREBIND6 ]; then - if [ x${new_ip6_address} = x ] || [ x${new_ip6_prefixlen} = x ] ; then - exit_with_hooks 2; + if [ x${new_ip6_address} != x ] && [ x${new_ip6_prefixlen} != x ] ; then + ${ip} -f inet6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \ + dev ${interface} scope global fi - ${ip} -f inet6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \ - dev ${interface} scope global - # Make sure nothing has moved around on us. # Nameservers/domains/etc.