[-]
[+]
|
Changed |
tinc.changes
|
|
[-]
[+]
|
Changed |
tinc.spec
^
|
|
[-]
[+]
|
Deleted |
rctinc.sh
^
|
@@ -1,246 +0,0 @@
-#!/bin/sh
-#
-# openSUSE system startup script for tinc daemon
-# Copyright (C) 1995--2005 Kurt Garloff, SUSE / Novell Inc.
-# Copyright (C) 2009--2011 Julian Bäume <julian@svg4all.de>.
-#
-# This library is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2.1 of the License, or (at
-# your option) any later version.
-#
-# This library is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# /etc/init.d/tinc
-# and its symbolic link
-# /usr/sbin/rctinc
-#
-# startup script for tinc daemon
-#
-# LSB compatible service control script; see http://www.linuxbase.org/spec/
-#
-# Note: This template uses functions rc_XXX defined in /etc/rc.status on
-# UnitedLinux/SUSE/Novell based Linux distributions. If you want to base your
-# script on this template and ensure that it works on non UL based LSB
-# compliant Linux distributions, you either have to provide the rc.status
-# functions from UL or change the script to work without them.
-# See skeleton.compat for a template that works with other distros as well.
-#
-### BEGIN INIT INFO
-# Provides: tinc
-# Required-Start: $syslog $remote_fs $network $named
-# Should-Start: $time
-# Required-Stop: $syslog $remote_fs
-# Should-Stop: $time
-# Default-Start: 3 5
-# Default-Stop: 0 1 2 6
-# Short-Description: Run a defined number of tinc daemons
-# Description: Run a defined number of tinc daemons
-# Define the network names in the tinc sysconfig
-# file and create all files needed by tinc in
-# /etc/tinc/
-### END INIT INFO
-
-# Check for missing binaries (stale symlinks should not happen)
-# Note: Special treatment of stop for LSB conformance
-TINCD_BIN=/usr/sbin/tincd
-test -x $TINCD_BIN || { echo "$TINCD_BIN not installed";
- if [ "$1" = "stop" ]; then exit 0;
- else exit 5; fi; }
-
-# Check for existence of needed config file and read it
-TINC_CONFIG=/etc/sysconfig/tinc
-test -r $TINC_CONFIG || { echo "$TINC_CONFIG not existing";
- if [ "$1" = "stop" ]; then exit 0;
- else exit 6; fi; }
-
-# Read config
-. $TINC_CONFIG
-
-## check for symlinks that contain a single network
-## this provides more control similar to net.* init-scripts in gentoo
-## you can create symlinks of this file ending with tinc.$NETWORK to start $NETWORK only
-## example: ln -s /etc/init.d/tinc /etc/init.d/tinc.myVPN && /etc/init.d/tinc.myVPN start to start myVPN only
-SINGLE_NETWORK=`echo $0 | egrep "tinc\." | sed "s/.*tinc.//"`
-[ ! -z "$SINGLE_NETWORK" ] && TINC_NETWORKS=$SINGLE_NETWORK
-
-## check for a command-line variable NETWORKS after the command (i.e. position 2)
-## and override $TINC_NETWORKS set earlier
-## this variable must be a space-separated list
-## example: /etc/init.d/tinc restart NETWORKS="myVPN1 myVPN2"
-CLI_NETWORKS=`echo $2 | egrep "^NETWORKS=" | sed "s/^NETWORKS=//"`
-[ ! -z "$CLI_NETWORKS" ] && TINC_NETWORKS=$CLI_NETWORKS
-
-# check if at least one network is configured
-[ -z "$TINC_NETWORKS" ] && echo "no network configured, see /etc/sysconfig/tinc" && exit 6
-
-# Shell functions sourced from /etc/rc.status:
-# rc_check check and set local and overall rc status
-# rc_status check and set local and overall rc status
-# rc_status -v be verbose in local rc status and clear it afterwards
-# rc_status -v -r ditto and clear both the local and overall rc status
-# rc_status -s display "skipped" and exit with status 3
-# rc_status -u display "unused" and exit with status 3
-# rc_failed set local and overall rc status to failed
-# rc_failed <num> set local and overall rc status to <num>
-# rc_reset clear both the local and overall rc status
-# rc_exit exit appropriate to overall rc status
-# rc_active checks whether a service is activated by symlinks
-. /etc/rc.status
-
-# Reset status of this service
-rc_reset
-
-# Return values acc. to LSB for all commands but status:
-# 0 - success
-# 1 - generic or unspecified error
-# 2 - invalid or excess argument(s)
-# 3 - unimplemented feature (e.g. "reload")
-# 4 - user had insufficient privileges
-# 5 - program is not installed
-# 6 - program is not configured
-# 7 - program is not running
-# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
-#
-# Note that starting an already running service, stopping
-# or restarting a not-running service as well as the restart
-# with force-reload (in case signaling is not supported) are
-# considered a success.
-
-case "$1" in
- start)
- /sbin/modprobe tun &>/dev/null
-
- echo -n "Starting tinc networks:"
- for n in $TINC_NETWORKS; do
- if [ ! -f /etc/tinc/"$n"/tinc.conf ]; then
- echo "/etc/tinc/$n/tinc.conf not existing, won't start network $n"
- rc_failed 6
- else
- echo -n " $n"
- $TINCD_BIN --net="$n" --logfile=/var/log/tinc.$n.log --pidfile=/var/run/tinc.$n.pid
- fi
- done
-
- # Remember status and be verbose
- rc_status -v
- ;;
- stop)
- echo -n "Shutting down tind networks:"
- for n in $TINC_NETWORKS; do
- if [ -f /var/run/tinc."$n".pid ]; then
- echo -n " $n"
- $TINCD_BIN -n $n -k
- fi
- done
-
- # Remember status and be verbose
- rc_status -v
- ;;
- try-restart|condrestart)
- ## Do a restart only if the service was active before.
- ## Note: try-restart is now part of LSB (as of 1.9).
- ## RH has a similar command named condrestart.
- if test "$1" = "condrestart"; then
- echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
- fi
- $0 status
- if test $? = 0; then
- $0 restart
- else
- rc_reset # Not running is not a failure.
- fi
- # Remember status and be quiet
- rc_status
- ;;
- restart)
- ## Stop the service and regardless of whether it was
- ## running or not, start it again.
- $0 stop NETWORKS="$TINC_NETWORKS"
- # wait some time to finish shutdown
- sleep 1
- $0 start NETWORKS="$TINC_NETWORKS"
-
- # Remember status and be quiet
- rc_status
- ;;
- force-reload)
- ## Signal the daemon to reload its config
-
- echo -n "Reload config for tinc networks:"
- for n in $TINC_NETWORKS; do
- if [ -f /var/run/tinc."$n".pid ]; then
- echo -n " $n"
- $TINCD_BIN -n $n -kHUP
- touch /var/run/tinc."$n".pid
- fi
- done
-
- # Remember status and be verbose
- rc_status -v
- ;;
- reload)
- ## Like force-reload, but if daemon does not support
- ## signaling, do nothing (!)
-
- echo -n "Reload config for tinc networks "
- for n in $TINC_NETWORKS; do
- if [ -f /var/run/tinc."$n".pid ]; then
- echo -n "$n. "
- $TINCD_BIN -n $n -kHUP
- touch /var/run/tinc."$n".pid
- fi
|
[-]
[+]
|
Deleted |
sysconfig.tinc
^
|
@@ -1,10 +0,0 @@
-## Path: Network/VPN/tinc
- ## Description: tinc VPN daemon
- ## Type: string
- ## Default: ""
- ## ServiceRestart: tinc
- # Network names to start for the tinc VPN service.
- # Make sure to create configuration files in
- # /etc/tinc/$NETWORK_NAME/ according to TINC.CONF(5)
- # (default is "")
-TINC_NETWORKS=""
|
[-]
[+]
|
Added |
tinc@.service
^
|
@@ -0,0 +1,15 @@
+# Thanks to Anthony G. Basile & Jan Psota
+[Unit]
+Description=Tinc daemon for network %i
+After=network.target
+ConditionPathExists=/dev/net/tun
+#ConditionPathExists does not support %-specifiers
+#https://bugs.freedesktop.org/show_bug.cgi?id=76914
+#ConditionPathExists=/etc/tinc/%I/tinc.conf
+
+[Service]
+ExecStart=/usr/sbin/tincd -D --pidfile /run/tinc.%i.pid -n %I
+ExecStop=/usr/sbin/tincd -n %I -k
+ExecReload=/usr/sbin/tincd -n %I -k HUP
+Restart=on-failure
+
|