Annotation of embedaddon/dhcp/contrib/sethostname.sh, revision 1.1.1.1
1.1 misho 1: #!/bin/sh
2:
3: # This script can be installed in /etc/dhclient-enter-hooks to set the client's
4: # hostname based either on the hostname that the DHCP server supplied or the
5: # hostname in whatever ptr record exists for the assigned IP address.
6:
7: if [ x$new_host_name = x ]; then
8: ptrname=`echo $new_ip_address \
9: |sed -e \
10: 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\4.\3.\2.\1.in-addr.arpa/'`
11: (echo "set type=ptr"; echo "$ptrname") |nslookup >/tmp/nslookup.$$
12: set `sed -n -e "s/$ptrname[ ]*\(canonical \)*name *= *\(.*\)/\2 \1/p" \
13: < /tmp/nslookup.$$` _
14: if [ x$1 = x_ ]; then
15: new_host_name=""
16: else
17: if [ $# -gt 1 ] && [ x$2 = xcanonical ]; then
18: new_host_name=`sed -n -e "s/$1[ ]*name *= *\(.*\)/\1/p" \
19: </tmp/nslookup.$$`
20: else
21: new_host_name=$1
22: fi
23: fi
24: rm /tmp/nslookup.$$
25: fi
26: if [ x$new_host_name != x ]; then
27: hostname $new_host_name
28: fi
29:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>