summaryrefslogtreecommitdiffstats
path: root/retiolum/scripts/adv_graphgen
diff options
context:
space:
mode:
authormakefu <root@pigstarter.de>2013-01-14 15:59:16 +0000
committermakefu <root@pigstarter.de>2013-01-14 15:59:16 +0000
commit586da6a885ea6fced94e133bcfd965956eb92c75 (patch)
tree799df7f7641e4d9973e6e3dc2c442acf881ddf5d /retiolum/scripts/adv_graphgen
parenta2195f3c9f382acebcf49b3043944f34609e4550 (diff)
parent47a6395ee891488be4becd1f3292bd28811f0069 (diff)
Merge branch 'master' of https://github.com/krebscode/painload
Diffstat (limited to 'retiolum/scripts/adv_graphgen')
-rwxr-xr-x[-rw-r--r--]retiolum/scripts/adv_graphgen/find_super29
1 files changed, 18 insertions, 11 deletions
diff --git a/retiolum/scripts/adv_graphgen/find_super b/retiolum/scripts/adv_graphgen/find_super
index c89a94fb..2c316d0e 100644..100755
--- a/retiolum/scripts/adv_graphgen/find_super
+++ b/retiolum/scripts/adv_graphgen/find_super
@@ -1,14 +1,21 @@
-#!/bin/sh
+#! /bin/dash
+set -eu
cd /etc/tinc/retiolum/hosts
-ls -1 . | while read fname;
-do
- for i in `sed -n 's/Address\s*=\s*\(.*\)/\1/p' $fname`;do
- if nc -zw 5 $i 655 2>/dev/null; then
- echo "$fname - $i reachable"
- #else
- #echo -n
- #echo "$fname - $i unreachable"
-
- fi
+for name in `
+ grep '^[[:space:]]*Address[[:space:]]*=' * |
+ cut -d: -f1 | sort | uniq
+`; do
+ if eval "`sed -n '
+ s/[[:space:]]\+//g
+ s/^\(Address\|Port\)=\(.*\)/\1="\${\1+\$\1\n}\2"/p
+ ' $name`"; then
+ port=${Port-655}
+ for host in $Address; do
+ if nc -zw 2 $host $port 2>/dev/null; then
+ echo "$name [('$host', $port)]"
+ fi &
done
+ wait
+ fi &
done
+wait