Changeset View
Changeset View
Standalone View
Standalone View
contrib/dhcpcd/hooks/29-lookup-hostname
- This file was added.
# Lookup the hostname in DNS if not set | |||||
lookup_hostname() | |||||
{ | |||||
[ -z "$new_ip_address" ] && return 1 | |||||
# Silly ISC programs love to send error text to stdout | |||||
if type dig >/dev/null 2>&1; then | |||||
h=$(dig +short -x $new_ip_address) | |||||
if [ $? = 0 ]; then | |||||
echo "$h" | sed 's/\.$//' | |||||
return 0 | |||||
fi | |||||
elif type host >/dev/null 2>&1; then | |||||
h=$(host $new_ip_address) | |||||
if [ $? = 0 ]; then | |||||
echo "$h" \ | |||||
| sed 's/.* domain name pointer \(.*\)./\1/' | |||||
return 0 | |||||
fi | |||||
elif type getent >/dev/null 2>&1; then | |||||
h=$(getent hosts $new_ip_address) | |||||
if [ $? = 0 ]; then | |||||
echo "$h" | sed 's/[^ ]* *\([^ ]*\).*/\1/' | |||||
return 0 | |||||
fi | |||||
fi | |||||
return 1 | |||||
} | |||||
set_hostname() | |||||
{ | |||||
if [ -z "${new_host_name}${new_fqdn_name}" ]; then | |||||
export new_host_name="$(lookup_hostname)" | |||||
fi | |||||
} | |||||
if $if_up; then | |||||
set_hostname | |||||
fi |