Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > 9aae7f9a3984d98a0eda33e5996eadd4 > files > 3

ucarp-1.5.2-2.mga3.src.rpm

#!/bin/sh

# chkconfig: 345 91 09
# description: Starts and stops the common address redundancy protocol daemon

#
### BEGIN INIT INFO
# Provides: ucarp
# Required-Start: $network
# Required-Stop: $network
# Should-Start: ct_sync
# Should-Stop: ct_sync
# Default-Start: 3 4 5
# Short-Description: Connection tracking state replication
# Description: Connection tracking state replication service
### END INIT INFO

# Source function library.
. /etc/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

NAME=ucarp
UCARP_D=/etc/ucarp.d

function is_valid {
    ! is_ignored_file $1 && [ -n "$INTERFACE" -a -n "$SRCIP" -a -n "$VIRTIP" -a -n "$VHID" -a -n "$PASSWORD" ]
}

function start {
    local INTERFACE SRCIP VIRTIP VHID PASSWORD TAKEOVER UPSCRIPT DOWNSCRIPT OPTIONS
    source $1
    if is_valid $1; then
	OPTIONS="-B -i $INTERFACE -s $SRCIP -a $VIRTIP -v $VHID -p $PASSWORD"
	if [ -n "$UPSCRIPT" ]; then
	    OPTIONS="$OPTIONS -u $UPSCRIPT"
	fi
	if [ -n "$DOWNSCRIPT" ]; then
	    OPTIONS="$OPTIONS -d $DOWNSCRIPT"
	fi
	if [ "$TAKEOVER" = yes ]; then
	    OPTIONS="$OPTIONS -P"
	fi
	gprintf "Starting %s on %s interface: " $NAME $INTERFACE
	daemon --pidfile /var/run/$NAME-$INTERFACE.pid $NAME $OPTIONS
	RETVAL=$?
	echo
    else
	RETVAL=1
    fi
}

function stop {
    local INTERFACE SRCIP VIRTIP VHID PASSWORD TAKEOVER UPSCRIPT DOWNSCRIPT OPTIONS
    source $1
    if is_valid $1; then
	gprintf "Shutting down %s on interface %s: " $NAME $INTERFACE
	PID=/var/run/$NAME-$INTERFACE.pid
	killproc -p $PID $NAME
	RETVAL=$?
	echo
    else
	RETVAL=1
    fi
}

case "$1" in
  start)
	RETVAL=0
	for f in $UCARP_D/*; do
	    [ -f $f ] || continue;
	    start $f
	done
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$NAME
        ;;
  stop)
	RETVAL=0
	for f in $UCARP_D/*; do
	    [ -f $f ] || continue;
	    stop $f
        done
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$NAME
        ;;
  status)
        status $NAME
        RETVAL=$?
        ;;
  restart|reload)
        $0 stop
        $0 start
        ;;
  condrestart)
        [ -f /var/lock/subsys/$NAME ] && restart || :
        ;;
  *)
        gprintf "Usage: %s {start|stop|status|restart|condrestart}\n" "$0"
        RETVAL=1
        ;;
esac

exit $RETVAL