OLD | NEW |
| (Empty) |
1 # Lookup the hostname in DNS if not set | |
2 | |
3 lookup_hostname() | |
4 { | |
5 [ -z "$new_ip_address" ] && return 1 | |
6 local h= | |
7 # Silly ISC programs love to send error text to stdout | |
8 if type dig >/dev/null 2>&1; then | |
9 h=$(dig +short -x $new_ip_address) | |
10 if [ $? = 0 ]; then | |
11 echo "$h" | sed 's/\.$//' | |
12 return 0 | |
13 fi | |
14 elif type host >/dev/null 2>&1; then | |
15 h=$(host $new_ip_address) | |
16 if [ $? = 0 ]; then | |
17 echo "$h" \ | |
18 | sed 's/.* domain name pointer \(.*\)./\1/' | |
19 return 0 | |
20 fi | |
21 fi | |
22 return 1 | |
23 } | |
24 | |
25 set_hostname() | |
26 { | |
27 if [ -z "$new_host_name" -a -z "$new_fqdn_name" ]; then | |
28 export new_host_name="$(lookup_hostname)" | |
29 fi | |
30 } | |
31 | |
32 case "$reason" in | |
33 BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT|STATIC) set_hostname;; | |
34 esac | |
OLD | NEW |