aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcontrib/scripts/netjail/netjail_core.sh14
-rwxr-xr-xcontrib/scripts/netjail/netjail_setup_internet.sh19
2 files changed, 26 insertions, 7 deletions
diff --git a/contrib/scripts/netjail/netjail_core.sh b/contrib/scripts/netjail/netjail_core.sh
index a3271a3e4..cbf25434b 100755
--- a/contrib/scripts/netjail/netjail_core.sh
+++ b/contrib/scripts/netjail/netjail_core.sh
@@ -44,6 +44,20 @@ netjail_check() {
44 fi 44 fi
45} 45}
46 46
47netjail_check_bin() {
48 PROGRAM=$1
49
50 MATCH=$(ls $(echo $PATH | tr ":" "\n") | grep "^$PROGRAM\$" | tr "\n" " " | awk '{ print $1 }')
51
52 # quit if the required binary $PROGRAM can not be
53 # found in the used $PATH.
54
55 if [ "$MATCH" != "$PROGRAM" ]; then
56 echo "Required binary not found: $PROGRAM" >&2
57 exit 1
58 fi
59}
60
47netjail_print_name() { 61netjail_print_name() {
48 printf "%s%02x%02x" $1 $2 ${3:-0} 62 printf "%s%02x%02x" $1 $2 ${3:-0}
49} 63}
diff --git a/contrib/scripts/netjail/netjail_setup_internet.sh b/contrib/scripts/netjail/netjail_setup_internet.sh
index 94aec007e..7ff25c014 100755
--- a/contrib/scripts/netjail/netjail_setup_internet.sh
+++ b/contrib/scripts/netjail/netjail_setup_internet.sh
@@ -18,6 +18,16 @@ netjail_check $(($LOCAL_M * $GLOBAL_N))
18# Starts optionally 'stunserver' on "92.68.150.$(($GLOBAL_N + 1))": 18# Starts optionally 'stunserver' on "92.68.150.$(($GLOBAL_N + 1))":
19STUN=$(netjail_opt '--stun' $@) 19STUN=$(netjail_opt '--stun' $@)
20 20
21if [ $STUN -gt 0 ]; then
22 netjail_check_bin stunserver
23
24 shift 1
25
26 STUN_NODE=$(netjail_print_name "S" 254)
27fi
28
29netjail_check_bin $1
30
21LOCAL_GROUP="192.168.15" 31LOCAL_GROUP="192.168.15"
22GLOBAL_GROUP="92.68.150" 32GLOBAL_GROUP="92.68.150"
23 33
@@ -60,13 +70,8 @@ WAITING=""
60KILLING="" 70KILLING=""
61 71
62if [ $STUN -gt 0 ]; then 72if [ $STUN -gt 0 ]; then
63 shift 1
64
65 S=$(($GLOBAL_N + 1))
66 STUN_NODE=$(netjail_print_name "S" $S)
67
68 netjail_node $STUN_NODE 73 netjail_node $STUN_NODE
69 netjail_node_link_bridge $STUN_NODE $NETWORK_NET "$GLOBAL_GROUP.$S" 24 74 netjail_node_link_bridge $STUN_NODE $NETWORK_NET "$GLOBAL_GROUP.254" 24
70 75
71 netjail_node_exec $STUN_NODE 0 1 stunserver & 76 netjail_node_exec $STUN_NODE 0 1 stunserver &
72 KILLING="$!" 77 KILLING="$!"
@@ -90,7 +95,7 @@ for PID in $KILLING; do netjail_kill $PID; done
90wait 95wait
91 96
92if [ $STUN -gt 0 ]; then 97if [ $STUN -gt 0 ]; then
93 STUN_NODE=$(netjail_print_name "S" $(($GLOBAL_N + 1))) 98 STUN_NODE=$(netjail_print_name "S" 254)
94 99
95 netjail_node_unlink_bridge $STUN_NODE $NETWORK_NET 100 netjail_node_unlink_bridge $STUN_NODE $NETWORK_NET
96 netjail_node_clear $STUN_NODE 101 netjail_node_clear $STUN_NODE