Annotation of embedaddon/strongswan/testing/hosts/default/etc/init.d/charon-tkm, revision 1.1

1.1     ! misho       1: #! /bin/sh
        !             2: ### BEGIN INIT INFO
        !             3: # Provides:          charon-tkm
        !             4: # Required-Start:    $remote_fs $syslog
        !             5: # Required-Stop:     $remote_fs $syslog
        !             6: # Default-Start:     2 3 4 5
        !             7: # Default-Stop:      0 1 6
        !             8: # Short-Description: strongSwan charon-tkm IKE daemon
        !             9: # Description:       with swanctl the strongSwan charon-tkm daemon must be
        !            10: #                    running in the background
        !            11: ### END INIT INFO
        !            12: 
        !            13: # Author: Andreas Steffen <andreas.steffen@strongswan.org>
        !            14: #
        !            15: # Do NOT "set -e"
        !            16: 
        !            17: # PATH should only include /usr/* if it runs after the mountnfs.sh script
        !            18: PATH=/sbin:/usr/sbin:/bin:/usr/bin
        !            19: DESC="strongSwan charon-tkm IKE daemon"
        !            20: NAME=charon-tkm
        !            21: DAEMON=/usr/local/libexec/ipsec/$NAME
        !            22: DAEMON_ARGS=""
        !            23: PIDFILE=/var/run/$NAME.pid
        !            24: SCRIPTNAME=/etc/init.d/charon-tkm
        !            25: 
        !            26: # Exit if the package is not installed
        !            27: [ -x "$DAEMON" ] || exit 0
        !            28: 
        !            29: # Read configuration variable file if it is present
        !            30: [ -r /etc/default/$NAME ] && . /etc/default/$NAME
        !            31: 
        !            32: # Load the VERBOSE setting and other rcS variables
        !            33: . /lib/init/vars.sh
        !            34: 
        !            35: # Define LSB log_* functions.
        !            36: # Depend on lsb-base (>= 3.2-14) to ensure that this file is present
        !            37: # and status_of_proc is working.
        !            38: . /lib/lsb/init-functions
        !            39: 
        !            40: #
        !            41: # Function that starts the daemon/service
        !            42: #
        !            43: do_start()
        !            44: {
        !            45:        # Return
        !            46:        #   0 if daemon has been started
        !            47:        #   1 if daemon was already running
        !            48:        #   2 if daemon could not be started
        !            49:        start-stop-daemon --start --quiet --background --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
        !            50:                || return 1
        !            51:        start-stop-daemon --start --quiet --background --pidfile $PIDFILE --exec $DAEMON -- \
        !            52:                $DAEMON_ARGS \
        !            53:                || return 2
        !            54:        # Add code here, if necessary, that waits for the process to be ready
        !            55:        # to handle requests from services started subsequently which depend
        !            56:        # on this one.  As a last resort, sleep for some time.
        !            57: }
        !            58: 
        !            59: #
        !            60: # Function that stops the daemon/service
        !            61: #
        !            62: do_stop()
        !            63: {
        !            64:        # Return
        !            65:        #   0 if daemon has been stopped
        !            66:        #   1 if daemon was already stopped
        !            67:        #   2 if daemon could not be stopped
        !            68:        #   other if a failure occurred
        !            69:        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
        !            70:        RETVAL="$?"
        !            71:        [ "$RETVAL" = 2 ] && return 2
        !            72:        # Wait for children to finish too if this is a daemon that forks
        !            73:        # and if the daemon is only ever run from this initscript.
        !            74:        # If the above conditions are not satisfied then add some other code
        !            75:        # that waits for the process to drop all resources that could be
        !            76:        # needed by services started subsequently.  A last resort is to
        !            77:        # sleep for some time.
        !            78:        start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
        !            79:        [ "$?" = 2 ] && return 2
        !            80:        # Many daemons don't delete their pidfiles when they exit.
        !            81:        rm -f $PIDFILE
        !            82:        return "$RETVAL"
        !            83: }
        !            84: 
        !            85: #
        !            86: # Function that sends a SIGHUP to the daemon/service
        !            87: #
        !            88: do_reload() {
        !            89:        #
        !            90:        # If the daemon can reload its configuration without
        !            91:        # restarting (for example, when it is sent a SIGHUP),
        !            92:        # then implement that here.
        !            93:        #
        !            94:        start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
        !            95:        return 0
        !            96: }
        !            97: 
        !            98: case "$1" in
        !            99:   start)
        !           100:        [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
        !           101:        do_start
        !           102:        case "$?" in
        !           103:                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
        !           104:                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        !           105:        esac
        !           106:        ;;
        !           107:   stop)
        !           108:        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
        !           109:        do_stop
        !           110:        case "$?" in
        !           111:                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
        !           112:                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        !           113:        esac
        !           114:        ;;
        !           115:   status)
        !           116:        status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
        !           117:        ;;
        !           118:   #reload|force-reload)
        !           119:        #
        !           120:        # If do_reload() is not implemented then leave this commented out
        !           121:        # and leave 'force-reload' as an alias for 'restart'.
        !           122:        #
        !           123:        #log_daemon_msg "Reloading $DESC" "$NAME"
        !           124:        #do_reload
        !           125:        #log_end_msg $?
        !           126:        #;;
        !           127:   restart|force-reload)
        !           128:        #
        !           129:        # If the "reload" option is implemented then remove the
        !           130:        # 'force-reload' alias
        !           131:        #
        !           132:        log_daemon_msg "Restarting $DESC" "$NAME"
        !           133:        do_stop
        !           134:        case "$?" in
        !           135:          0|1)
        !           136:                do_start
        !           137:                case "$?" in
        !           138:                        0) log_end_msg 0 ;;
        !           139:                        1) log_end_msg 1 ;; # Old process is still running
        !           140:                        *) log_end_msg 1 ;; # Failed to start
        !           141:                esac
        !           142:                ;;
        !           143:          *)
        !           144:                # Failed to stop
        !           145:                log_end_msg 1
        !           146:                ;;
        !           147:        esac
        !           148:        ;;
        !           149:   *)
        !           150:        #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
        !           151:        echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
        !           152:        exit 3
        !           153:        ;;
        !           154: esac
        !           155: 
        !           156: :

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>