blob: c2d980b575a8a8f924d8e2e7865435fad5241638 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#!/bin/bash
# Copyright (c) 2004-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Contributed by Roy Marples (uberlord@gentoo.org)
# Instead of writing new functions for dhclient, we simply map their variables
# over to udhcpc style ones and call those scripts!
[[ -e /etc/dhcp/dhclient-enter-hooks ]] \
&& ( source /etc/dhcp/dhclient-enter-hooks )
case "${reason}" in
BOUND|REBOOT|REBIND) action="bound" ;;
RENEW) action="renew" ;;
RELEASE|PREINIT|FAIL|EXPIRE|TIMEOUT) action="deconfig" ;;
MEDIUM) exit 0 ;;
esac
if [[ -z ${action} ]] ; then
echo "dhclient sent an unknown action ${reason}!" >&2
exit 1
fi
export ip="${new_ip_address}"
export subnet="${new_subnet_mask}"
export broadcast="${new_broadcast_address}"
export routers="${new_routers}"
export hostname="${new_host_name}"
export dns_domain_${interface}="${new_domain_name}"
export dns_servers_${interface}="${new_domain_name_servers}"
export ntp_servers_${interface}="${new_domain_name_servers}"
export nis_domain_${interface}="${new_nis_domain}"
export nis_servers_${interface}="${new_nis_servers}"
[[ ${RC_GOT_FUNCTIONS} != "yes" ]] && source /sbin/functions.sh
RC_QUIET_STDOUT="yes"
"${svclib}/net.modules.d/helpers.d/dhcp" "${action}"
result="$?"
[[ -e /etc/dhcp/dhclient-exit-hooks ]] \
&& ( source /etc/dhcp/dhclient-exit-hooks )
exit "${result}"
# vim: ts=4 :
|