diff options
author | Felix Richter <Felix.Richter@syntax-fehler.de> | 2011-05-27 15:36:20 +0200 |
---|---|---|
committer | Felix Richter <Felix.Richter@syntax-fehler.de> | 2011-05-27 15:36:20 +0200 |
commit | 8852f7362d366c82d2246b968e9aea68381cf91b (patch) | |
tree | 032f84c477cf52c72958ebdd5f1722b480730a4e | |
parent | 58695662f2d4bebe53b2b3dd9974bac44b4b9ead (diff) | |
parent | 77355d28e804ace544f78674866f894bf96a7f89 (diff) |
Merge branch 'master' of github.com:krebscode/painload
-rwxr-xr-x | modules/retiolum/bin/addipv6 | 19 | ||||
-rwxr-xr-x | modules/retiolum/bin/ipv6 | 35 | ||||
-rwxr-xr-x | modules/retiolum/bin/tinc | 18 |
3 files changed, 53 insertions, 19 deletions
diff --git a/modules/retiolum/bin/addipv6 b/modules/retiolum/bin/addipv6 deleted file mode 100755 index da82e0d1..00000000 --- a/modules/retiolum/bin/addipv6 +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/sh -# -# Add IPv6 to the retiolum interface. -# -# usage: addipv6 -# -set -euf - -file=/etc/tinc/retiolum/hosts/`hostname` -addr=`sed -rn 's|^Subnet *= *(42:[0-9A-Fa-f:]*/128)|\1|p' $file` - -if test `id -u` != 0; then - echo "we're going sudo..." >&2 - exec sudo "$0" "$@" - exit 23 # go to hell -fi - -ip -6 addr add $addr dev retiolum -ip -6 route add 42::/16 dev retiolum diff --git a/modules/retiolum/bin/ipv6 b/modules/retiolum/bin/ipv6 new file mode 100755 index 00000000..65a1eaa1 --- /dev/null +++ b/modules/retiolum/bin/ipv6 @@ -0,0 +1,35 @@ +#! /bin/sh +# +# Manage IPv6 of the retiolum interface. +# +# usage: ipv6 {start,stop} +# +set -euf + +if test `id -u` != 0; then + echo "we're going sudo..." >&2 + exec sudo "$0" "$@" + exit 23 # go to hell +fi + +file=/etc/tinc/retiolum/hosts/`hostname` +addr=`sed -rn 's|^Subnet *= *(42:[0-9A-Fa-f:]*/128)|\1|p' $file` +route=42::/16 + +start() { + stop + ip -6 addr add $addr dev retiolum + ip -6 route add $route dev retiolum +} + +stop() { + ip -6 addr del $addr dev retiolum 2>/dev/null || : + ip -6 route del $route dev retiolum 2>/dev/null || : +} + +## dispatch +case "$1" in + (start) start;; + (stop) stop;; + (*) echo "You're made of stupid" 2>/dev/null; exit 23;; +esac diff --git a/modules/retiolum/bin/tinc b/modules/retiolum/bin/tinc new file mode 100755 index 00000000..ffa1dbee --- /dev/null +++ b/modules/retiolum/bin/tinc @@ -0,0 +1,18 @@ +#! /bin/sh +# +set -euf + +init() { + f=/tmp/retiolum.GraphDumpFile + if ! test -f $f; then + touch $f && + chown -v tincd: $f + fi + + modprobe -v tun +} + +if init; then + exec tincd --user=tincd --net=retiolum "$@" +fi + |