Sophie

Sophie

distrib > Mandriva > current > i586 > media > contrib-release-src > by-pkgid > 6f27a25ec8676fde365427644cff0b80 > files > 7

iodine-0.5.2-1mdv2010.0.src.rpm

#!/bin/bash
#
#iodined    A IP over DNS tunnel
#
# chkconfig: 2345 90 10
# description: A IP over DNS tunnel, server part
### BEGIN INIT INFO
# Provides: iodined
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Short-Description: A IP over DNS tunnel, server part
# Description: A IP over DNS tunnel, server part
### END INIT INFO

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

DAEMON_NAME=iodined
DAEMON_PROCESS=$DAEMON_NAME
DAEMON_BINARY=$DAEMON_NAME
LOCK_FILE=/var/lock/subsys/$DAEMON_NAME
RETVAL=0
PID_FILE=/var/run/$DAEMON_NAME.pid

[ -f /etc/sysconfig/$DAEMON_NAME ] && . /etc/sysconfig/$DAEMON_NAME



start() {
    [ -f $LOCK_FILE ] && return
    # do not use -t, as killproc will be unable to kill the daemon
    COMMAND_LINE="$DAEMON_BINARY -u iodined -F $PID_FILE"

    [ -z "$TOPDOMAIN" ] && echo "TOPDOMAIN is not set in /etc/sysconfig/$DAEMON_NAME" && return
    
    [ -z "$TUNNEL" ] && echo "TUNNEL is not set in /etc/sysconfig/$DAEMON_NAME" && return
    
    [ -z "$PASSWORD" ] && echo "PASSWORD is not set in /etc/sysconfig/$DAEMON_NAME" && return

    [ -n "$MTU" ] && COMMAND_LINE="$COMMAND_LINE -m $MTU"

    [ -n "$LISTEN" ] && COMMAND_LINE="$COMMAND_LINE -l $LISTEN"

    [ -n "$PORT" ] && COMMAND_LINE="$COMMAND_LINE -p $PORT"
    
    [ -n "$EXTERNAL" ] && COMMAND_LINE="$COMMAND_LINE -n $EXTERNAL"
    
    [ -n "$DNS_PORT" ] && COMMAND_LINE="$COMMAND_LINE -b $DNS_PORT"

    COMMAND_LINE="$COMMAND_LINE -P $PASSWORD $TUNNEL $TOPDOMAIN"
 
    gprintf "Starting %s: " "$DAEMON_NAME"
    daemon --pidfile=$PID_FILE $COMMAND_LINE
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch $LOCK_FILE
}


stop() {
    gprintf "Shutting down %s: " "$DAEMON_NAME"
    killproc -p $PID_FILE $DAEMON_PROCESS
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f $LOCK_FILE
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status -p $PID_FILE $DAEMON_PROCESS
        RETVAL=$?
        ;;
    restart)
        stop
        start
        ;;
    condrestart)
        if [ -f $LOCK_FILE ]; then
            stop
            start
        fi
        ;;
    *)
        gprintf "Usage: %s {start|stop|restart|condrestart|status}\n" "$0"
        RETVAL=1
esac

exit $RETVAL