From df758080d53482d0680a8eda3d5f5e1888ae091c Mon Sep 17 00:00:00 2001 From: makefu Date: Sat, 13 Aug 2011 16:18:25 +0200 Subject: check-free-retiolum-*: initial commit scripts determine if an ip-address is already taken by one of the darknet nodes this goes for the ipv6 retiolum darknet prefix, as well as internal 10.7.7.0/24 addresses --- retiolum/bin/check-free-retiolum-v4 | 22 ++++++++++++++++++++++ retiolum/bin/check-free-retiolum-v6 | 2 ++ 2 files changed, 24 insertions(+) create mode 100755 retiolum/bin/check-free-retiolum-v4 create mode 100755 retiolum/bin/check-free-retiolum-v6 (limited to 'retiolum') diff --git a/retiolum/bin/check-free-retiolum-v4 b/retiolum/bin/check-free-retiolum-v4 new file mode 100755 index 00000000..e9c6b3ce --- /dev/null +++ b/retiolum/bin/check-free-retiolum-v4 @@ -0,0 +1,22 @@ +#! /bin/sh +set -x +netname=retiolum +myipv4=${1-10.7.7.-1} +v4num=${myipv4##*.} +printf "Retard check: " +if [ "$v4num" -gt 0 -a "$v4num" -lt "256" ]; +then + printf "No retard detected\n" + cd /etc/tinc/$netname/hosts + printf "Check if ip is still free: " + for i in `ls -1`; do + if grep $myipv4 $i &>/dev/null ;then + echo "Host IP already taken by $i! " + exit 1 + fi + done + printf "Passed" +else + printf "you are made of stupid. bailing out\n" + exit 1 +fi diff --git a/retiolum/bin/check-free-retiolum-v6 b/retiolum/bin/check-free-retiolum-v6 new file mode 100755 index 00000000..20f87efe --- /dev/null +++ b/retiolum/bin/check-free-retiolum-v6 @@ -0,0 +1,2 @@ +#! /bin/sh +exit 0 -- cgit v1.2.3 From 56dec36bdcb05d59eb0feef63bf866bc78bba49f Mon Sep 17 00:00:00 2001 From: makefu Date: Sat, 13 Aug 2011 16:19:33 +0200 Subject: tinc_setup/install.sh: update failsafe behavior install script checks if the chosen ip is already taken. --- retiolum/scripts/tinc_setup/install.sh | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'retiolum') diff --git a/retiolum/scripts/tinc_setup/install.sh b/retiolum/scripts/tinc_setup/install.sh index 0902d417..526dbe1f 100755 --- a/retiolum/scripts/tinc_setup/install.sh +++ b/retiolum/scripts/tinc_setup/install.sh @@ -1,6 +1,6 @@ #! /bin/sh # USE WITH GREAT CAUTION -set -euf +set -eu if test "${nosudo-false}" != true -a `id -u` != 0; then echo "we're going sudo..." >&2 @@ -12,7 +12,7 @@ fi set -e DIRNAME=`dirname $0` CURR=`readlink -f ${DIRNAME}` -MYBIN=../../bin +MYBIN=${CURR}/../../bin netname=retiolum # create configuration directory for $netname mkdir -p /etc/tinc/$netname/hosts @@ -37,18 +37,13 @@ then then echo "select v4 subnet ip (1-255) :" read v4num - myipv4=10.7.7.$v4num - if [ "$v4num" -gt 0 -a "$v4num" -lt "256" ]; - then - echo "check" - else - echo "you are made of stupid. bailing out" + if ! $MYBIN/check-free-retiolum-v4 $v4num;then exit 1 fi fi echo "Subnet = $myipv4" > hosts/$myname - myipv6=`${CURR}/../../bin/fillxx 42:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx`/128 + myipv6=`$MYBIN/fillxx 42:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx`/128 echo "Subnet = $myipv6" >> hosts/$myname else echo "own host file already exists! will not write again!" -- cgit v1.2.3