Sync usage with man page.
[netbsd-mini2440.git] / external / bsd / dhcpcd / dist / dhcpcd-hooks / 29-lookup-hostname
blobce131225d6329cff4b9c0f0f17707c7848a335e9
1 # Lookup the hostname in DNS if not set
3 lookup_hostname()
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
25 set_hostname()
27         if [ -z "$new_host_name" -a -z "$new_fqdn_name" ]; then
28                 export new_host_name="$(lookup_hostname)"
29         fi
32 case "$reason" in
33 BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT|STATIC)        set_hostname;;
34 esac