mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
Merge branch '302-use-ip-for-ifconfig' into 'v9_12'
Resolve "ifconfig.sh doesn't work on centos7" Closes #302 See merge request isc-projects/bind9!330
This commit is contained in:
commit
4be2773736
2 changed files with 210 additions and 169 deletions
4
CHANGES
4
CHANGES
|
|
@ -1,3 +1,7 @@
|
|||
4963. [test] ifconfig.sh now uses "ip" instead of "ifconfig",
|
||||
if available, to configure the test interfaces on
|
||||
linux. [GL #302]
|
||||
|
||||
4958. [bug] Remove redundant space from NSEC3 record. [GL #281]
|
||||
|
||||
4955. [cleanup] Silence cppcheck warnings in lib/dns/master.c.
|
||||
|
|
|
|||
|
|
@ -13,7 +13,11 @@
|
|||
# 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=""
|
||||
|
|
@ -44,191 +48,224 @@ 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
|
||||
use_ip=
|
||||
case "$sys" in
|
||||
*-*-linux*)
|
||||
if type ip > /dev/null; then
|
||||
use_ip=yes
|
||||
elif type ifconfig > /dev/null; then
|
||||
:
|
||||
else
|
||||
echo "$0: can't find ip or ifconfig" >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
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
|
||||
;;
|
||||
*-cygwin*)
|
||||
echo "Please run ifconfig.bat as Administrator."
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
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*)
|
||||
if [ $use_ip ]; then
|
||||
ip address add 10.53.$i.$ns/24 \
|
||||
dev lo:$int
|
||||
[ "$ipv6" ] && ip address add \
|
||||
fd92:7065:b8e:${ipv6}ff::$ns/64 \
|
||||
dev lo
|
||||
else
|
||||
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
|
||||
fi
|
||||
;;
|
||||
*-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
|
||||
;;
|
||||
*-cygwin*)
|
||||
echo "Please run ifconfig.bat as Administrator."
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
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*)
|
||||
if [ $use_ip ]; then
|
||||
ip address del 10.53.$i.$ns/24 \
|
||||
dev lo:$int
|
||||
[ "$ipv6" ] && ip address del \
|
||||
fd92:7065:b8e:${ipv6}ff::$ns/64 \
|
||||
dev lo
|
||||
else
|
||||
ifconfig lo:$int 10.53.$i.$ns down
|
||||
[ "$ipv6" ] && ifconfig lo inet6 \
|
||||
del fd92:7065:b8e:${ipv6}ff::$ns/64
|
||||
fi
|
||||
;;
|
||||
*-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
|
||||
|
|
|
|||
Loading…
Reference in a new issue