]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: Fall back on host/getent in ts_resolve_host
authorAndreas Henriksson <andreas@fatal.se>
Thu, 24 Jul 2014 19:28:44 +0000 (21:28 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 28 Jul 2014 09:09:52 +0000 (11:09 +0200)
Neither dig or nslookup would be my first option for resolving,
so add the host utility of ISC/bind fame and the (slow) getent
utility shipped with libc.

This extends the conditions introduced in ...

  commit a98de9696e1a898f925c9154e5693e73aec0779d
  Author: Ruediger Meier <ruediger.meier@ga-group.nl>
  Date:   Wed Jun 11 19:28:20 2014 +0200

      tests: skip some last tests if no dns support

... and should help us not skip certain tests when we have
network connection but none of dig or nslookup available.

Signed-off-by: Andreas Henriksson <andreas@fatal.se>
tests/functions.sh

index 6998343e1f9a368c1f2eabc2adce546e672d9d49..59107b01087ab7fa1347b13dec42cc7fa4811ee2 100644 (file)
@@ -635,6 +635,12 @@ function ts_resolve_host {
        elif type "nslookup" >/dev/null 2>&1; then
                tmp=$(nslookup "$host" 2>/dev/null) || return 1
                tmp=$(echo "$tmp"| grep -A1 "^Name:"| grep "^Address:"| cut -d" " -f2)
+       elif type "host" >/dev/null 2>&1; then
+               tmp=$(host "$host" 2>/dev/null) || return 1
+               tmp=$(echo "$tmp" | grep " has address " | cut -d " " -f4)
+       elif type "getent" >/dev/null 2>&1; then
+               tmp=$(getent ahosts "$host" 2>/dev/null) || return 1
+               tmp=$(echo "$tmp" | cut -d " " -f 1 | sort -u)
        fi
 
        # we return 1 if tmp is empty