]>
Commit | Line | Data |
---|---|---|
bdeb1016 | 1 | #!/bin/sh |
2 | # DHCP Server | |
3 | # | |
c01c2dc3 | 4 | # chkconfig: 345 80 20 |
5 | # description: DHCP Server | |
bdeb1016 | 6 | |
c01c2dc3 | 7 | # Source function library |
bdeb1016 | 8 | . /etc/rc.d/init.d/functions |
9 | ||
c01c2dc3 | 10 | # Get network config |
11 | . /etc/sysconfig/network | |
12 | ||
13 | # Get service config | |
8e1f3361 | 14 | [ -f /etc/sysconfig/dhcpd ] && . /etc/sysconfig/dhcpd |
c01c2dc3 | 15 | |
16 | # Check that networking is up. | |
dfbb7f59 | 17 | if is_yes "${NETWORKING}"; then |
d91f786f | 18 | if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then |
456e0d36 | 19 | msg_network_down "DHCP Server" |
dfbb7f59 | 20 | exit 1 |
21 | fi | |
22 | else | |
23 | exit 0 | |
b7aa684c | 24 | fi |
c01c2dc3 | 25 | |
9a0037f8 | 26 | checkconfig() { |
456e0d36 | 27 | show "Checking %s configuration" "DHCP Server" |
9a0037f8 ER |
28 | out=`/usr/sbin/dhcpd -t 2>&1`; rc=$? |
29 | if [ $rc -gt 0 ]; then | |
30 | fail | |
31 | echo >&2 "$out" | |
32 | else | |
33 | ok | |
34 | fi | |
35 | return $rc | |
36 | } | |
37 | ||
5fe17ae7 | 38 | start() { |
c01c2dc3 | 39 | # Check if the service is already running? |
40 | if [ ! -f /var/lock/subsys/dhcpd ]; then | |
3b314dfa | 41 | msg_starting "DHCP Server" |
8e1f3361 | 42 | daemon dhcpd $DHCPD_INTERFACES |
a5333732 | 43 | RETVAL=$? |
44 | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dhcpd | |
c01c2dc3 | 45 | else |
456e0d36 | 46 | msg_already_running "DHCP Server" |
c01c2dc3 | 47 | fi |
5fe17ae7 ER |
48 | } |
49 | ||
50 | stop() { | |
915cd150 | 51 | if [ -f /var/lock/subsys/dhcpd ]; then |
52 | msg_stopping "DHCP Server" | |
53 | killproc dhcpd | |
54 | rm -f /var/run/dhcpd.pid /var/lock/subsys/dhcpd >/dev/null 2>&1 | |
55 | else | |
456e0d36 | 56 | msg_not_running "DHCP Server" |
915cd150 | 57 | fi |
5fe17ae7 ER |
58 | } |
59 | ||
60 | RETVAL=0 | |
61 | # See how we were called. | |
62 | case "$1" in | |
63 | start) | |
9b690214 ER |
64 | checkconfig || exit 1 |
65 | start | |
5fe17ae7 ER |
66 | ;; |
67 | stop) | |
9b690214 | 68 | stop |
bdeb1016 | 69 | ;; |
9c9075f5 | 70 | restart) |
9b690214 | 71 | checkconfig || exit 1 |
5fe17ae7 ER |
72 | stop |
73 | start | |
bdeb1016 | 74 | ;; |
9a0037f8 | 75 | checkconfig) |
9b690214 | 76 | checkconfig |
9a0037f8 | 77 | ;; |
bdeb1016 | 78 | status) |
79 | status dhcpd | |
915cd150 | 80 | exit $? |
bdeb1016 | 81 | ;; |
82 | *) | |
9a0037f8 | 83 | msg_usage "$0 {start|stop|restart|checkconfig|status}" |
915cd150 | 84 | exit 3 |
bdeb1016 | 85 | esac |
86 | ||
a5333732 | 87 | exit $RETVAL |