Sophie

Sophie

distrib > Mandriva > cooker > i586 > by-pkgid > 412970d9f385c1bf8e7b4c5aba976259 > files > 4

dhcp-server-4.2.4-0.P1.1.i586.rpm

#!/bin/sh
#
### BEGIN INIT INFO
# Provides: dhcpd
# Default-Start:
# Default-Stop:
# Should-Start:
# Required-Start: $network
# Required-Stop:
# Short-Description: Start and stop the DHCPv6 server
# Description: dhcpd provides the Dynamic Host Configuration Protocol (DHCPv6)
#              server.
### END INIT INFO
#
# The fields below are left around for legacy tools (will remove later).
#
# chkconfig: - 65 35
# description: dhcpd provides the Dynamic Host Configuration Protocol (DHCPv6) \
#              server
# processname: dhcpd
# config: /etc/dhcpd6.conf
# config: /var/lib/dhcpd/dhcpd6.leases
# pidfile: /var/run/dhcpd6.pid

. /etc/rc.d/init.d/functions

[ -x /usr/sbin/dhcpd ] || exit 0

# Which configuration file to use.
CONFIGFILE="/etc/dhcpd6.conf"
# Where to store the lease state information.
LEASEFILE="/var/lib/dhcp/dhcpd6.leases"
# Define INTERFACES to limit which network interfaces dhcpd listens on.
# The default null value causes dhcpd to listen on all interfaces.
INTERFACES=""
# Define OPTIONS with any other options to pass to the dhcpd server.
OPTIONS="-q"

# Values specified in this file override the defaults above.
[ -f /etc/sysconfig/dhcpd6 ] && . /etc/sysconfig/dhcpd6

[ -f $CONFIGFILE ] || exit 0
[ -f $LEASEFILE ] || exit 0

RETVAL=0

start() {
    gprintf "Starting dhcpd (DHCPv6): "
    if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
        OPTIONS="${OPTIONS} -chroot ${ROOTDIR}"
    fi
    daemon /usr/sbin/dhcpd -6 -cf $CONFIGFILE -lf $LEASEFILE $OPTIONS $INTERFACES
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dhcpd6
    return $RETVAL
}

stop() {
    gprintf "Shutting down dhcpd (DHCPv6): "
    if [ -r ${ROOTDIR}/var/run/dhcpd/dhcpd6.pid ]; then
        kill -TERM `cat ${ROOTDIR}/var/run/dhcpd/dhcpd6.pid`
        RETVAL=$?
        [ "$RETVAL" = 0 ] && success "stop" || failure "stop"
    else
        success "already stopped"
        RETVAL=0
    fi
    [ $RETVAL -eq 0 ] && rm -f ${ROOTDIR}/var/run/dhcpd/dhcpd6.pid
    [ $RETVAL = 0 ] && rm -f /var/lock/subsys/dhcpd6
    echo
    return $RETVAL
}

configtest() {
    /usr/sbin/dhcpd -q -t -6 -cf $CONFIGFILE
    RETVAL=$?
    if [ $RETVAL -eq 1 ]; then
        /usr/sbin/dhcpd -t -6 -cf $CONFIGFILE
    else
        echo "Syntax: OK" >&2
    fi
    return $RETVAL
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart|reload)
        stop
        start
        RETVAL=$?
        ;;
    condrestart)
        if [ -f /var/lock/subsys/dhcpd6 ]; then
            stop
            start
            RETVAL=$?
        fi
        ;;
    configtest)
        configtest
        ;;
    status)
        status dhcpd
        RETVAL=$?
        ;;
    *)
        gprintf "Usage: dhcpd6 {start|stop|restart|condrestart|status}\n"
        exit 1
esac

exit $RETVAL