blob: 8661fccd8f037cbaa3cf0e78ef253520aff1b5af [file] [log] [blame]
The Android Open Source Projectf7c54212009-03-03 19:29:22 -08001# Lookup the hostname in DNS if not set
2
3lookup_hostname()
4{
Dmitry Shmidte86eee12011-01-24 16:27:51 -08005 [ -z "$new_ip_address" ] && return 1
The Android Open Source Projectf7c54212009-03-03 19:29:22 -08006 local h=
7 # Silly ISC programs love to send error text to stdout
8 if type dig >/dev/null 2>&1; then
Dmitry Shmidte86eee12011-01-24 16:27:51 -08009 h=$(dig +short -x $new_ip_address)
The Android Open Source Projectf7c54212009-03-03 19:29:22 -080010 if [ $? = 0 ]; then
Dmitry Shmidte86eee12011-01-24 16:27:51 -080011 echo "$h" | sed 's/\.$//'
The Android Open Source Projectf7c54212009-03-03 19:29:22 -080012 return 0
13 fi
14 elif type host >/dev/null 2>&1; then
Dmitry Shmidte86eee12011-01-24 16:27:51 -080015 h=$(host $new_ip_address)
The Android Open Source Projectf7c54212009-03-03 19:29:22 -080016 if [ $? = 0 ]; then
Dmitry Shmidte86eee12011-01-24 16:27:51 -080017 echo "$h" \
The Android Open Source Projectf7c54212009-03-03 19:29:22 -080018 | sed 's/.* domain name pointer \(.*\)./\1/'
19 return 0
20 fi
21 fi
22 return 1
23}
24
25set_hostname()
26{
Dmitry Shmidte86eee12011-01-24 16:27:51 -080027 if [ -z "$new_host_name" -a -z "$new_fqdn_name" ]; then
The Android Open Source Projectf7c54212009-03-03 19:29:22 -080028 export new_host_name="$(lookup_hostname)"
29 fi
30}
31
Dmitry Shmidte86eee12011-01-24 16:27:51 -080032if $if_up; then
33 set_hostname
34fi