@@ -166,53 +166,71 @@
# this is higly system dependent...
get_ifconfig_route()
{
- # linux / iproute2? (-> if configure got a path)
- if [ -n "@IPROUTE@" ]
- then
- echo "-- linux iproute2 --"
- @IPROUTE@ addr show | grep -v valid_lft
- @IPROUTE@ route show
- @IPROUTE@ -o -6 route show | grep -v ' cache' | sed -E -e 's/ expires [0-9]*sec//' -e 's/ (mtu|hoplimit|cwnd|ssthresh) [0-9]+//g' -e 's/ (rtt|rttvar) [0-9]+ms//g'
- return
- fi
-
- # try uname
- case `uname -s` in
+ UNAME=`uname -s`
+ case $UNAME in
Linux)
- echo "-- linux / ifconfig --"
- LANG=C @IFCONFIG@ -a |egrep "( addr:|encap:)"
- LANG=C @NETSTAT@ -rn -4 -6
- return
- ;;
+ # linux / iproute2? (-> if configure got a path)
+ if [ -n "@IPROUTE@" ]
+ then
+ echo "-- linux iproute2 --"
+ @IPROUTE@ addr show | grep -v valid_lft
+ @IPROUTE@ route show
+ @IPROUTE@ -o -6 route show | grep -v ' cache' | sed -E -e 's/ expires [0-9]*sec//' -e 's/ (mtu|hoplimit|cwnd|ssthresh) [0-9]+//g' -e 's/ (rtt|rttvar) [0-9]+ms//g'
+ else
+ echo "-- linux / ifconfig --"
+ LANG=C @IFCONFIG@ -a |egrep "( addr:|encap:)"
+ LANG=C @NETSTAT@ -rn -4 -6
+ fi
+ ;;
FreeBSD|NetBSD|Darwin)
echo "-- FreeBSD/NetBSD/Darwin [MacOS X] --"
@IFCONFIG@ -a | egrep "(flags=|inet)"
@NETSTAT@ -rn | awk '$3 !~ /^UHL/ { print $1,$2,$3,$NF }'
- return
;;
OpenBSD)
echo "-- OpenBSD --"
@IFCONFIG@ -a | egrep "(flags=|inet)" | \
sed -e 's/pltime [0-9]*//' -e 's/vltime [0-9]*//'
@NETSTAT@ -rn | awk '$3 !~ /^UHL/ { print $1,$2,$3,$NF }'
- return
;;
SunOS)
echo "-- Solaris --"
@IFCONFIG@ -a | egrep "(flags=|inet)"
@NETSTAT@ -rn | awk '$3 !~ /^UHL/ { print $1,$2,$3,$6 }'
- return
;;
AIX)
echo "-- AIX --"
@IFCONFIG@ -a | egrep "(flags=|inet)"
@NETSTAT@ -rn | awk '$3 !~ /^UHL/ { print $1,$2,$3,$6 }'
- return
;;
+ *)
+ echo "get_ifconfig_route(): no idea how to get info on your OS (`uname -s`). FAIL." >&2
+ exit 20
+ ;;
esac
- echo "get_ifconfig_route(): no idea how to get info on your OS. FAIL." >&2
- exit 20
+ # another round of per-platform information gathering, for DNS info
+ # for most of the platforms "cat /etc/resolv.conf" is good enough
+ # except Linux and MacOS
+ case $UNAME in
+ Linux)
+ if [ -x /usr/bin/resolvectl ] ; then
+ echo "-- linux resolvectl --"
+ resolvectl status
+ else
+ echo "-- linux resolv.conf --"
+ cat /etc/resolv.conf
+ fi
+ ;;
+ Darwin)
+ echo "-- MacOS scutil --dns"
+ scutil --dns
+ ;;
+ *)
+ echo "-- resolv.conf --"
+ cat /etc/resolv.conf
+ ;;
+ esac
}
# ----------------------------------------------------------