]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
expand address range in ifconfig.sh to include more than one subnet
authorEvan Hunt <each@isc.org>
Thu, 31 May 2018 03:07:23 +0000 (20:07 -0700)
committerEvan Hunt <each@isc.org>
Wed, 6 Jun 2018 04:51:03 +0000 (21:51 -0700)
(cherry picked from commit 41b29a436bd668f5b2788cce2bd471675cd9c3c0)
(cherry picked from commit e4487b160c48d477fba67561009d6ec1bd6ef36d)

bin/tests/system/ifconfig.sh [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index d1784cd..8e9fc38
 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 # PERFORMANCE OF THIS SOFTWARE.
 
-# $Id: ifconfig.sh,v 1.59 2010/06/11 23:46:49 tbox Exp $
-
 #
 # Set up interface aliases for bind9 system tests.
 #
 # IPv4: 10.53.0.{1..8}                         RFC 1918
+#       10.53.1.{0..2}
+#       10.53.2.{0..2}
 # IPv6: fd92:7065:b8e:ffff::{1..8}             ULA
+#       fd92:7065:b8e:99ff::{1..2}
+#       fd92:7065:b8e:ff::{1..2}
 #
 
 config_guess=""
@@ -51,183 +53,194 @@ case `uname -a` in
        *) sys=`sh $config_guess` ;;
 esac
 
-case "$2" in
-       [1-9]|[1-9][0-9]|[1-9][0-9][0-9]) base=$2;;
-       *) base="1"
-esac
-
-case "$3" in
-       [1-9]|[1-9][0-9]|[1-9][0-9][0-9]) base6=$3;;
-       *) base6=$base
-esac
-
 case "$1" in
 
     start|up)
-       for ns in 1 2 3 4 5 6 7 8
+       for i in 0 1 2
        do
-               if test -n "$base"
-               then
-                       int=`expr $ns + $base - 1`
-               else
-                       int=$ns
-               fi
-               if test -n "$base6"
-               then
-                       int6=`expr $ns + $base6 - 1`
-               else
-                       int6=$ns
-               fi
-               case "$sys" in
-                   *-pc-solaris2.5.1)
-                       ifconfig lo0:$int 10.53.0.$ns netmask 0xffffffff up
-                       ;;
-                   *-sun-solaris2.[6-7])
-                       ifconfig lo0:$int 10.53.0.$ns netmask 0xffffffff up
-                       ;;
-                   *-*-solaris2.[8-9]|*-*-solaris2.1[0-9])
-                       /sbin/ifconfig lo0:$int plumb
-                       /sbin/ifconfig lo0:$int 10.53.0.$ns up
-                       if test -n "$int6"
-                       then
-                               /sbin/ifconfig lo0:$int6 inet6 plumb
-                               /sbin/ifconfig lo0:$int6 \
-                                       inet6 fd92:7065:b8e:ffff::$ns up
-                       fi
-                       ;;
-                   *-*-linux*)
-                       ifconfig lo:$int 10.53.0.$ns up netmask 255.255.255.0
-                       ifconfig lo inet6 add fd92:7065:b8e:ffff::$ns/64
-                       ;;
-                   *-unknown-freebsd*)
-                       ifconfig lo0 10.53.0.$ns alias netmask 0xffffffff
-                       ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns alias
-                       ;;
-                   *-unknown-netbsd*)
-                       ifconfig lo0 10.53.0.$ns alias netmask 255.255.255.0
-                       ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns alias
-                       ;;
-                   *-unknown-openbsd*)
-                       ifconfig lo0 10.53.0.$ns alias netmask 255.255.255.0
-                       ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns alias
-                       ;;
-                   *-*-bsdi[3-5].*)
-                       ifconfig lo0 add 10.53.0.$ns netmask 255.255.255.0
-                       ;;
-                   *-dec-osf[4-5].*)
-                       ifconfig lo0 alias 10.53.0.$ns
-                       ;;
-                   *-sgi-irix6.*)
-                       ifconfig lo0 alias 10.53.0.$ns
-                       ;;
-                   *-*-sysv5uw7*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
-                       ifconfig lo0 10.53.0.$ns alias netmask 0xffffffff
-                       ;;
-                   *-ibm-aix4.*|*-ibm-aix5.*)
-                       ifconfig lo0 alias 10.53.0.$ns
-                       ifconfig lo0 inet6 alias -dad fd92:7065:b8e:ffff::$ns/64
-                       ;;
-                   hpux)
-                       ifconfig lo0:$int 10.53.0.$ns netmask 255.255.255.0 up
-                       ifconfig lo0:$int inet6 fd92:7065:b8e:ffff::$ns up
-                       ;;
-                   *-sco3.2v*)
-                       ifconfig lo0 alias 10.53.0.$ns
-                       ;;
-                   *-darwin*)
-                       ifconfig lo0 alias 10.53.0.$ns
-                       ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns alias
-                       ;;
-                   *)
-                       echo "Don't know how to set up interface.  Giving up."
-                       exit 1
+               case $i in
+                 0) ipv6="ff" ;;
+                 1) ipv6="99" ;;
+                 2) ipv6="00" ;;
+                 *) ipv6="" ;;
                esac
+               for ns in 1 2 3 4 5 6 7 8
+               do
+                       [ $i -gt 0 -a $ns -gt 2 ] && break
+                       int=`expr $i \* 10 + $ns - 1`
+                       case "$sys" in
+                           *-pc-solaris2.5.1)
+                               ifconfig lo0:$int 10.53.$i.$ns \
+                                       netmask 0xffffffff up
+                               ;;
+                           *-sun-solaris2.[6-7])
+                               ifconfig lo0:$int 10.53.$i.$ns \
+                                       netmask 0xffffffff up
+                               ;;
+                           *-*-solaris2.[8-9]|*-*-solaris2.1[0-9])
+                               /sbin/ifconfig lo0:$int plumb
+                               /sbin/ifconfig lo0:$int 10.53.$i.$ns up
+                               /sbin/ifconfig lo0:$int inet6 plumb
+                               [ "$ipv6" ] && /sbin/ifconfig lo0:$int \
+                                       inet6 fd92:7065:b8e:${ipv6}ff::$ns up
+                               ;;
+                           *-*-linux*)
+                               ifconfig lo:$int 10.53.$i.$ns up \
+                                       netmask 255.255.255.0
+                               [ "$ipv6" ] && ifconfig lo inet6 add \
+                                       fd92:7065:b8e:${ipv6}ff::$ns/64
+                               ;;
+                           *-unknown-freebsd*)
+                               ifconfig lo0 10.53.$i.$ns alias \
+                                       netmask 0xffffffff
+                               [ "$ipv6" ] && ifconfig lo0 inet6 \
+                                       fd92:7065:b8e:${ipv6}ff::$ns alias
+                               ;;
+                           *-unknown-netbsd*)
+                               ifconfig lo0 10.53.$i.$ns alias \
+                                       netmask 255.255.255.0
+                               [ "$ipv6" ] && ifconfig lo0 inet6 \
+                                       fd92:7065:b8e:${ipv6}ff::$ns alias
+                               ;;
+                           *-unknown-openbsd*)
+                               ifconfig lo0 10.53.$i.$ns alias \
+                                       netmask 255.255.255.0
+                               [ "$ipv6" ] && ifconfig lo0 inet6 \
+                                       fd92:7065:b8e:${ipv6}ff::$ns alias
+                               ;;
+                           *-*-bsdi[3-5].*)
+                               ifconfig lo0 add 10.53.$i.$ns \
+                                       netmask 255.255.255.0
+                               ;;
+                           *-dec-osf[4-5].*)
+                               ifconfig lo0 alias 10.53.$i.$ns
+                               ;;
+                           *-sgi-irix6.*)
+                               ifconfig lo0 alias 10.53.$i.$ns
+                               ;;
+                           *-*-sysv5uw7*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
+                               ifconfig lo0 10.53.$i.$ns alias \
+                                       netmask 0xffffffff
+                               ;;
+                           *-ibm-aix4.*|*-ibm-aix5.*)
+                               ifconfig lo0 alias 10.53.$i.$ns
+                               [ "$ipv6" ] && ifconfig lo0 inet6 alias -dad \
+                                       fd92:7065:b8e:${ipv6}ff::$ns/64
+                               ;;
+                           hpux)
+                               ifconfig lo0:$int 10.53.$i.$ns \
+                                       netmask 255.255.255.0 up
+                               [ "$ipv6" ] && ifconfig lo0:$int inet6 \
+                                       fd92:7065:b8e:${ipv6}ff::$ns up
+                               ;;
+                           *-sco3.2v*)
+                               ifconfig lo0 alias 10.53.$i.$ns
+                               ;;
+                           *-darwin*)
+                               ifconfig lo0 alias 10.53.$i.$ns
+                               [ "$ipv6" ] && ifconfig lo0 inet6 \
+                                       fd92:7065:b8e:${ipv6}ff::$ns alias
+                               ;;
+                           *-cygwin*)
+                               echo "Please run ifconfig.bat as Administrator."
+                               exit 1
+                               ;;
+                           *)
+                               echo "Don't know how to set up interface.  Giving up."
+                               exit 1
+                       esac
+               done
        done
        ;;
 
     stop|down)
-       for ns in 8 7 6 5 4 3 2 1
+       for i in 0 1 2
        do
-               if test -n "$base"
-               then
-                       int=`expr $ns + $base - 1`
-               else
-                       int=$ns 
-               fi
-               if test -n "$base6"
-               then
-                       int6=`expr $ns + $base6 - 1`
-               else
-                       int6=$ns
-               fi
-               case "$sys" in
-                   *-pc-solaris2.5.1)
-                       ifconfig lo0:$int 0.0.0.0 down
-                       ;;
-                   *-sun-solaris2.[6-7])
-                       ifconfig lo0:$int 10.53.0.$ns down
-                       ;;
-                   *-*-solaris2.[8-9]|*-*-solaris2.1[0-9])
-                       ifconfig lo0:$int 10.53.0.$ns down
-                       ifconfig lo0:$int 10.53.0.$ns unplumb
-                       if test -n "$int6"
-                       then
-                               ifconfig lo0:$int6 inet6 down
-                               ifconfig lo0:$int6 inet6 unplumb
-                       fi
-                       ;;
-                   *-*-linux*)
-                       ifconfig lo:$int 10.53.0.$ns down
-                       ifconfig lo inet6 del fd92:7065:b8e:ffff::$ns/64
-                       ;;
-                   *-unknown-freebsd*)
-                       ifconfig lo0 10.53.0.$ns delete
-                       ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns delete
-                       ;;
-                   *-unknown-netbsd*)
-                       ifconfig lo0 10.53.0.$ns delete
-                       ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns delete
-                       ;;
-                   *-unknown-openbsd*)
-                       ifconfig lo0 10.53.0.$ns delete
-                       ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns delete
-                       ;;
-                   *-*-bsdi[3-5].*)
-                       ifconfig lo0 remove 10.53.0.$ns
-                       ;;
-                   *-dec-osf[4-5].*)
-                       ifconfig lo0 -alias 10.53.0.$ns
-                       ;;
-                   *-sgi-irix6.*)
-                       ifconfig lo0 -alias 10.53.0.$ns
-                       ;;
-                   *-*-sysv5uw7*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
-                       ifconfig lo0 -alias 10.53.0.$ns
-                       ;;
-                   *-ibm-aix4.*|*-ibm-aix5.*)
-                       ifconfig lo0 delete 10.53.0.$ns
-                       ifconfig lo0 delete inet6 fd92:7065:b8e:ffff::$ns/64
-                       ;;
-                   hpux)
-                       ifconfig lo0:$int 0.0.0.0
-                       ifconfig lo0:$int inet6 ::
-                       ;;
-                   *-sco3.2v*)
-                       ifconfig lo0 -alias 10.53.0.$ns
-                       ;;
-                   *darwin*)
-                       ifconfig lo0 -alias 10.53.0.$ns
-                       ifconfig lo0 inet6 fd92:7065:b8e:ffff::$ns delete
-                       ;;
-                   *)
-                       echo "Don't know how to destroy interface.  Giving up."
-                       exit 1
+               case $i in
+                 0) ipv6="ff" ;;
+                 1) ipv6="99" ;;
+                 2) ipv6="00" ;;
+                 *) ipv6="" ;;
                esac
+               for ns in 8 7 6 5 4 3 2 1
+               do
+                       [ $i -gt 0 -a $ns -gt 2 ] && continue
+                       int=`expr $i \* 10 + $ns - 1`
+                       case "$sys" in
+                           *-pc-solaris2.5.1)
+                               ifconfig lo0:$int 0.0.0.0 down
+                               ;;
+                           *-sun-solaris2.[6-7])
+                               ifconfig lo0:$int 10.53.$i.$ns down
+                               ;;
+                           *-*-solaris2.[8-9]|*-*-solaris2.1[0-9])
+                               ifconfig lo0:$int 10.53.$i.$ns down
+                               ifconfig lo0:$int 10.53.$i.$ns unplumb
+                               ifconfig lo0:$int inet6 down
+                               ifconfig lo0:$int inet6 unplumb
+                               ;;
+                           *-*-linux*)
+                               ifconfig lo:$int 10.53.$i.$ns down
+                               [ "$ipv6" ] && ifconfig lo inet6 \
+                                       del fd92:7065:b8e:${ipv6}ff::$ns/64
+                               ;;
+                           *-unknown-freebsd*)
+                               ifconfig lo0 10.53.$i.$ns delete
+                               [ "$ipv6" ] && ifconfig lo0 inet6 \
+                                       fd92:7065:b8e:${ipv6}ff::$ns delete
+                               ;;
+                           *-unknown-netbsd*)
+                               ifconfig lo0 10.53.$i.$ns delete
+                               [ "$ipv6" ] && ifconfig lo0 inet6 \
+                                       fd92:7065:b8e:${ipv6}ff::$ns delete
+                               ;;
+                           *-unknown-openbsd*)
+                               ifconfig lo0 10.53.$i.$ns delete
+                               [ "$ipv6" ] && ifconfig lo0 inet6 \
+                                       fd92:7065:b8e:${ipv6}ff::$ns delete
+                               ;;
+                           *-*-bsdi[3-5].*)
+                               ifconfig lo0 remove 10.53.$i.$ns
+                               ;;
+                           *-dec-osf[4-5].*)
+                               ifconfig lo0 -alias 10.53.$i.$ns
+                               ;;
+                           *-sgi-irix6.*)
+                               ifconfig lo0 -alias 10.53.$i.$ns
+                               ;;
+                           *-*-sysv5uw7*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*)
+                               ifconfig lo0 -alias 10.53.$i.$ns
+                               ;;
+                           *-ibm-aix4.*|*-ibm-aix5.*)
+                               ifconfig lo0 delete 10.53.$i.$ns
+                               [ "$ipv6" ] && ifconfig lo0 delete inet6 \
+                                       fd92:7065:b8e:${ipv6}ff::$ns/64
+                               ;;
+                           hpux)
+                               ifconfig lo0:$int 0.0.0.0
+                               ifconfig lo0:$int inet6 ::
+                               ;;
+                           *-sco3.2v*)
+                               ifconfig lo0 -alias 10.53.$i.$ns
+                               ;;
+                           *darwin*)
+                               ifconfig lo0 -alias 10.53.$i.$ns
+                               [ "$ipv6" ] && ifconfig lo0 inet6 \
+                                       fd92:7065:b8e:${ipv6}ff::$ns delete
+                               ;;
+                           *-cygwin*)
+                               echo "Please run ifconfig.bat as Administrator."
+                               exit 1
+                               ;;
+                           *)
+                               echo "Don't know how to destroy interface.  Giving up."
+                               exit 1
+                       esac
+               done
        done
-
        ;;
 
        *)
-               echo "Usage: $0 { up | down } [base]"
+               echo "Usage: $0 { up | down }"
                exit 1
 esac