floppym     15/05/12 01:11:06

  Added:                openconnect.init.in-r4
  Removed:              openconnect.init.in-r1
  Log:
  Revamp init script. Should resolve bug 547970.
  
  (Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key 
0BBEEA1FEA4843A4)

Revision  Changes    Path
1.1                  net-misc/openconnect/files/openconnect.init.in-r4

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/openconnect/files/openconnect.init.in-r4?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/openconnect/files/openconnect.init.in-r4?rev=1.1&content-type=text/plain

Index: openconnect.init.in-r4
===================================================================
#!/sbin/openrc-run
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: 
/var/cvsroot/gentoo-x86/net-misc/openconnect/files/openconnect.init.in-r4,v 1.1 
2015/05/12 01:11:06 floppym Exp $

VPN="${RC_SVCNAME#*.}"
VPNDIR="/etc/openconnect/${VPN}"
VPNLOG="/var/log/openconnect/${VPN}"
VPNLOGFILE="${VPNLOG}/openconnect.log"
VPNERRFILE="${VPNLOG}/openconnect.err"

command="/usr/sbin/openconnect"
name="OpenConnect: ${VPN}"
pidfile="/run/openconnect/${VPN}.pid"
retry="SIGINT/90"

depend() {
        before netmount
}

checkconfig() {
        if [ $VPN = "openconnect" ]; then
                eerror "You cannot call openconnect directly. You must create a 
symbolic link to it with the vpn name:"
                eerror
                eerror "ln -s /etc/init.d/openconnect 
/etc/init.d/openconnect.vpn0"
                eerror
                eerror "And then call it instead:"
                eerror
                eerror "/etc/init.d/openconnect.vpn0 start"
                return 1
        fi
}

checktuntap() {
        if [ "$RC_UNAME" = "Linux" -a ! -e /dev/net/tun ] ; then
                if ! modprobe tun ; then
                        eerror "TUN/TAP support is not available in this kernel"
                        return 1
                fi
        fi
}

run_hook() {
        if [ -x "$1" ]; then
                "$@"
        fi
}

start_pre() {
        checkconfig || return
        checktuntap || return
        checkpath -d "${VPNLOG}" || return
        checkpath -d /run/openconnect || return
        run_hook "${VPNDIR}/preup.sh"
}

start() {
        local server vpnopts password
        eval server=\$server_${VPN}
        eval vpnopts=\$vpnopts_${VPN}
        eval password=\$password_${VPN}

        ebegin "Starting ${name}"
        start-stop-daemon --start --exec "${command}" -- \
                --background \
                --interface="${VPN}" \
                --pid-file="${pidfile}" \
                ${vpnopts} \
                "${server}" \
                >> "${VPNLOGFILE}" \
                2>> "${VPNERRFILE}" \
                <<EOF
${password}
EOF
        eend $?
}

start_post() {
        run_hook "${VPNDIR}/postup.sh"
}

stop_pre() {
        checkconfig || return
        run_hook "${VPNDIR}/predown.sh"
}

stop_post() {
        run_hook "${VPNDIR}/postdown.sh"
}




Reply via email to