diff --git a/scripts/gentinc.cfg.sample b/scripts/gentinc.cfg.sample deleted file mode 100644 index 355009e..0000000 --- a/scripts/gentinc.cfg.sample +++ /dev/null @@ -1,8 +0,0 @@ -SVN_DIR="/mnt/data/freifunk-icvpn" -TMP="/tmp" -TINC_DIR="/etc/tinc/icvpn" -TINC_INIT="/etc/init.d/tinc" -SVN="/usr/bin/svn" -LOCKDIR="/var/run/gentinccfg" -SVN_USERNAME=freifunk -SVN_PASSWORD=freifunk diff --git a/scripts/gentinccfg b/scripts/gentinccfg deleted file mode 100755 index 05057d2..0000000 --- a/scripts/gentinccfg +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/bash -# -#========================================================================== -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -#========================================================================== -# -set -ix -# HOW TO USE -# * Check out the icvpn svn tree to the place where $SVN_DIR points to. -# You can do this by running: -# mkdir -p /mnt/data -# svn co https://kdserv.dyndns.org/svn/christof-icvpn icvpn -# Use "freifunk" as username as well as password. -# * create a /etc/gentinc.cfg file with the following content (remove -# the # signs in the beginning of each line containing a variable) -# and adapt the paths to your system: -# # ====== START OF gentinc.cfg ====== -# # this points to the directory where you checked out the svn tree. -# SVN_DIR="/mnt/data/icvpn" -# TMP="/tmp" -# TINC_DIR="/etc/tinc/icvpn" -# TINC_INIT="/etc/init.d/tinc" -# SVN="/usr/bin/svn" -# LOCKDIR="/var/run/gentinccfg" -# SVN_USERNAME=freifunk -# SVN_PASSWORD=freifunk -# # ====== END OF gentinc.cfg ========= -# * make /etc/gentinc.cfg world readable -# * run the script from cron on a daily basis - -! [[ -f /etc/gentinc.cfg ]] && { - echo "config file does not exist in /etc/gentinc.cfg" - exit 1 -} -. /etc/gentinc.cfg -cleanup() { - local exitcode - local i - exitcode=$1 - for ((i=0;i<${#TMPFILES[@]};i++)) - do - rm -f ${TMPFILES[i]} - done - [[ ! $exitcode -eq 0 ]] && - echo "aborted due to error" >&2 - trap - 1 2 3 6 9 13 14 15 - rm -f "${LOCKDIR}/PID" - rm -rf "${LOCKDIR}" - exit ${exitcode:-1} -} - -# obtain lock -lcount=0 -while ! ( $(mkdir ${LOCKDIR} 2>/dev/null) ) -do - echo there is already an instance of $0 running as PID: $(cat "${LOCKDIR}/PID" 2>/dev/null) - sleep 1 - ((lcount+=1)) - if [[ $lcount -gt 4000 ]] - then - echo unable to obtain lock - exit 1 - fi -done -trap 'cleanup 1' 1 2 3 6 9 13 14 15 - -# lock obtained -echo $$ > "${LOCKDIR}/PID" - -# make sure we do not overload svn server when running the script from cron -if [[ $1 != "--nocron" ]] -then - sleep $((RANDOM%3600)) -fi - -# create new tinc config -cd "$SVN_DIR" -$SVN up --no-auth-cache --username $SVN_USERNAME --password $SVN_PASSWORD >/dev/null -if [[ $? -gt 0 ]] -then - echo svn update failed - no reload necessary >&2 - cleanup 2 -fi -footer=$(mktemp "$TMP/tinc_footer.XXXXXX") -TMPFILES[${#TMPFILES[@]}]="$footer" -header=$(mktemp "$TMP/tinc_footer.XXXXXX") -TMPFILES[${#TMPFILES[@]}]="$header" - -for i in ${SVN_DIR}/hosts/* -do - echo "ConnectTo = $(basename $i)" >> "$footer" -done - -grep -v "ConnectTo" "$TINC_DIR/tinc.conf" > "$header" -cat $header $footer >"$TINC_DIR/tinc.conf" - -# exit -$TINC_INIT reload >/dev/null - -cleanup 0 - diff --git a/scripts/post-merge b/scripts/post-merge index f7880de..510f455 100755 --- a/scripts/post-merge +++ b/scripts/post-merge @@ -27,7 +27,7 @@ while read HOST; do echo "ConnectTo = $HOST" >> $TINCCFG done < metanodes -if hash tinc; then +if hash tinc; 2>/dev/null then # prefer the command line interface that comes with tinc1.1 if it exists tinc -n icvpn reload else