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" }
