]>
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 |
dfbb7f59 | 19 | msg_network_down DHCPD |
20 | exit 1 | |
21 | fi | |
22 | else | |
23 | exit 0 | |
b7aa684c | 24 | fi |
c01c2dc3 | 25 | |
9a0037f8 ER |
26 | checkconfig() { |
27 | show "Checking %s configuration" DHCPD | |
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 |
badf1526 | 46 | msg_already_running DHCPD |
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 | |
56 | msg_not_running DHCPD | |
57 | fi | |
5fe17ae7 ER |
58 | } |
59 | ||
60 | RETVAL=0 | |
61 | # See how we were called. | |
62 | case "$1" in | |
63 | start) | |
9a0037f8 | 64 | checkconfig || exit 1 |
5fe17ae7 ER |
65 | start |
66 | ;; | |
67 | stop) | |
68 | stop | |
bdeb1016 | 69 | ;; |
9c9075f5 | 70 | restart) |
9a0037f8 | 71 | checkconfig || exit 1 |
5fe17ae7 ER |
72 | stop |
73 | start | |
bdeb1016 | 74 | ;; |
9a0037f8 ER |
75 | checkconfig) |
76 | checkconfig | |
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 |