X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=dhcp.init;h=8a9229cf187a6bf18c76c36070ed8792cec712ec;hb=b0caeee3a6e4ffa63866bb5ac65b534a634c6c6a;hp=d71f72d4e67dc81c30c448097e5d262cab22b26b;hpb=1bf9e657843ecbeee0b21c76a04e2f718e439184;p=packages%2Fdhcp.git diff --git a/dhcp.init b/dhcp.init index d71f72d..8a9229c 100644 --- a/dhcp.init +++ b/dhcp.init @@ -11,47 +11,77 @@ . /etc/sysconfig/network # Get service config -[ -f /etc/sysconfig/dhcp ] && . /etc/sysconfig/dhcp +[ -f /etc/sysconfig/dhcpd ] && . /etc/sysconfig/dhcpd # Check that networking is up. -if [ "${NETWORKING}" = "no" ]; then - echo "WARNING: Networking is down. Dhcpd sercice can't be runed." - exit 1 +if is_yes "${NETWORKING}"; then + if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then + msg_network_down "DHCP Server" + exit 1 + fi +else + exit 0 fi +checkconfig() { + show "Checking %s configuration" "DHCP Server" + out=`/usr/sbin/dhcpd -t 2>&1`; rc=$? + if [ $rc -gt 0 ]; then + fail + echo >&2 "$out" + else + ok + fi + return $rc +} -# See how we were called. -case "$1" in - start) +start() { # Check if the service is already running? if [ ! -f /var/lock/subsys/dhcpd ]; then - show Starting DHCP Server - daemon dhcpd + msg_starting "DHCP Server" + daemon dhcpd $DHCPD_INTERFACES + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dhcpd else - echo "dhcpd already is running" + msg_already_running "DHCP Server" fi - touch /var/lock/subsys/dhcpd - show Starting DHCP Server - daemon dhcpd - touch /var/lock/subsys/dhcpd +} + +stop() { + if [ -f /var/lock/subsys/dhcpd ]; then + msg_stopping "DHCP Server" + killproc dhcpd + rm -f /var/run/dhcpd.pid /var/lock/subsys/dhcpd >/dev/null 2>&1 + else + msg_not_running "DHCP Server" + fi +} + +RETVAL=0 +# See how we were called. +case "$1" in + start) + checkconfig || exit 1 + start ;; stop) - show Stopping DHCP Server - killproc dhcpd - rm -f /var/run/dhcpd.pid - rm -f /var/lock/subsys/dhcpd + stop + ;; + restart) + checkconfig || exit 1 + stop + start ;; - restart|reload) - $0 stop - $0 start + checkconfig) + checkconfig ;; status) status dhcpd + exit $? ;; *) - echo "Usage: $0 {start|stop|restart|reload|status}" - exit 1 + msg_usage "$0 {start|stop|restart|checkconfig|status}" + exit 3 esac -exit 0 - +exit $RETVAL