aboutsummaryrefslogtreecommitdiff
path: root/contrib/scripts
diff options
context:
space:
mode:
authorTheJackiMonster <thejackimonster@gmail.com>2021-08-30 10:06:42 +0200
committerTheJackiMonster <thejackimonster@gmail.com>2021-08-30 10:06:42 +0200
commit744538ba3d388c3befa367c75d9a85126430cf8e (patch)
treef7edc0162e583bc8b72b5701d1a4164dbc931802 /contrib/scripts
parent9eb417e72224c874ed1e31b8b0575a8382173537 (diff)
downloadgnunet-744538ba3d388c3befa367c75d9a85126430cf8e.tar.gz
gnunet-744538ba3d388c3befa367c75d9a85126430cf8e.zip
-removed tmp files from netjail
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
Diffstat (limited to 'contrib/scripts')
-rwxr-xr-xcontrib/scripts/netjail/netjail_core.sh50
-rwxr-xr-xcontrib/scripts/netjail/netjail_setup_internet.sh47
2 files changed, 54 insertions, 43 deletions
diff --git a/contrib/scripts/netjail/netjail_core.sh b/contrib/scripts/netjail/netjail_core.sh
index c93f26dc9..d53315052 100755
--- a/contrib/scripts/netjail/netjail_core.sh
+++ b/contrib/scripts/netjail/netjail_core.sh
@@ -10,22 +10,20 @@ PREFIX=${PPID:?must run from a parent process}
10 10
11export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 11export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
12 12
13# initialize the numbering to ensure unique names 13export RESULT=
14export NAMESPACE_NUM=0
15export INTERFACE_NUM=0
14 16
15NAMESPACE_NUM=${NAMESPACE_FD:?must have a file for ids} 17netjail_next_namespace() {
16INTERFACE_NUM=${INTERFACE_FD:?must have a file for ids} 18 local NUM=$NAMESPACE_NUM
19 NAMESPACE_NUM=$(($NAMESPACE_NUM + 1))
20 RESULT=$NUM
21}
17 22
18netjail_read_inc() { 23netjail_next_interface() {
19 local FD=$1 24 local NUM=$INTERFACE_NUM
20 local NUM=$(cat $FD) 25 INTERFACE_NUM=$(($INTERFACE_NUM + 1))
21 NUM=${NUM:-0} 26 RESULT=$NUM
22
23 local RES=$NUM
24 NUM=$(($NUM + 1))
25
26 echo $NUM > $FD
27
28 printf "$RES"
29} 27}
30 28
31netjail_opt() { 29netjail_opt() {
@@ -36,7 +34,7 @@ netjail_opt() {
36 34
37 while [ $# -gt 0 ]; do 35 while [ $# -gt 0 ]; do
38 if [ "$1" = "$OPT" ]; then 36 if [ "$1" = "$OPT" ]; then
39 printf "%d" $INDEX 37 RESULT=$INDEX
40 return 38 return
41 fi 39 fi
42 40
@@ -44,7 +42,7 @@ netjail_opt() {
44 shift 1 42 shift 1
45 done 43 done
46 44
47 printf "%d" 0 45 RESULT=0
48} 46}
49 47
50netjail_opts() { 48netjail_opts() {
@@ -61,7 +59,7 @@ netjail_opts() {
61 shift 1 59 shift 1
62 done 60 done
63 61
64 printf "$DEF" 62 RESULT="$DEF"
65} 63}
66 64
67netjail_check() { 65netjail_check() {
@@ -93,13 +91,14 @@ netjail_check_bin() {
93} 91}
94 92
95netjail_bridge() { 93netjail_bridge() {
96 local NUM=$(netjail_read_inc $INTERFACE_NUM) 94 netjail_next_interface
95 local NUM=$RESULT
97 local BRIDGE=$(printf "%06x-%08x" $PREFIX $NUM) 96 local BRIDGE=$(printf "%06x-%08x" $PREFIX $NUM)
98 97
99 ip link add $BRIDGE type bridge 98 ip link add $BRIDGE type bridge
100 ip link set dev $BRIDGE up 99 ip link set dev $BRIDGE up
101 100
102 printf "%s" $BRIDGE 101 RESULT=$BRIDGE
103} 102}
104 103
105netjail_bridge_clear() { 104netjail_bridge_clear() {
@@ -109,12 +108,13 @@ netjail_bridge_clear() {
109} 108}
110 109
111netjail_node() { 110netjail_node() {
112 local NUM=$(netjail_read_inc $NAMESPACE_NUM) 111 netjail_next_namespace
112 local NUM=$RESULT
113 local NODE=$(printf "%06x-%08x" $PREFIX $NUM) 113 local NODE=$(printf "%06x-%08x" $PREFIX $NUM)
114 114
115 ip netns add $NODE 115 ip netns add $NODE
116 116
117 printf "%s" $NODE 117 RESULT=$NODE
118} 118}
119 119
120netjail_node_clear() { 120netjail_node_clear() {
@@ -129,8 +129,10 @@ netjail_node_link_bridge() {
129 local ADDRESS=$3 129 local ADDRESS=$3
130 local MASK=$4 130 local MASK=$4
131 131
132 local NUM_IF=$(netjail_read_inc $INTERFACE_NUM) 132 netjail_next_interface
133 local NUM_BR=$(netjail_read_inc $INTERFACE_NUM) 133 local NUM_IF=$RESULT
134 netjail_next_interface
135 local NUM_BR=$RESULT
134 136
135 local LINK_IF=$(printf "%06x-%08x" $PREFIX $NUM_IF) 137 local LINK_IF=$(printf "%06x-%08x" $PREFIX $NUM_IF)
136 local LINK_BR=$(printf "%06x-%08x" $PREFIX $NUM_BR) 138 local LINK_BR=$(printf "%06x-%08x" $PREFIX $NUM_BR)
@@ -145,7 +147,7 @@ netjail_node_link_bridge() {
145 147
146 ip link set $LINK_BR up 148 ip link set $LINK_BR up
147 149
148 printf "%s" $LINK_BR 150 RESULT=$LINK_BR
149} 151}
150 152
151netjail_node_unlink_bridge() { 153netjail_node_unlink_bridge() {
diff --git a/contrib/scripts/netjail/netjail_setup_internet.sh b/contrib/scripts/netjail/netjail_setup_internet.sh
index c9a6fd6d8..e3880783f 100755
--- a/contrib/scripts/netjail/netjail_setup_internet.sh
+++ b/contrib/scripts/netjail/netjail_setup_internet.sh
@@ -1,10 +1,5 @@
1#!/bin/sh 1#!/bin/sh
2 2
3NAMESPACE_FD=$(mktemp)
4INTERFACE_FD=$(mktemp)
5
6trap "rm -f $NAMESPACE_FD $INTERFACE_FD; exit" ERR EXIT
7
8. "./netjail_core.sh" 3. "./netjail_core.sh"
9 4
10set -eu 5set -eu
@@ -21,11 +16,14 @@ shift 2
21netjail_check $(($LOCAL_M * $GLOBAL_N)) 16netjail_check $(($LOCAL_M * $GLOBAL_N))
22 17
23# Starts optionally an amount of nodes without NAT starting with "92.68.151.1" 18# Starts optionally an amount of nodes without NAT starting with "92.68.151.1"
24KNOWN=$(netjail_opt '--known' $@) 19netjail_opt '--known' $@
25KNOWN_NUM=$(netjail_opts '--known' 0 $@) 20KNOWN=$RESULT
21netjail_opts '--known' 0 $@
22KNOWN_NUM=$RESULT
26 23
27# Starts optionally 'stunserver' on "92.68.150.254": 24# Starts optionally 'stunserver' on "92.68.150.254":
28STUN=$(netjail_opt '--stun' $@) 25netjail_opt '--stun' $@
26STUN=$RESULT
29 27
30if [ $KNOWN -gt 0 ]; then 28if [ $KNOWN -gt 0 ]; then
31 shift 2 29 shift 2
@@ -50,28 +48,37 @@ KNOWN_GROUP="92.68.151"
50CLEANUP=0 48CLEANUP=0
51echo "Start [local: $LOCAL_GROUP.0/24, global: $GLOBAL_GROUP.0/16, stun: $STUN]" 49echo "Start [local: $LOCAL_GROUP.0/24, global: $GLOBAL_GROUP.0/16, stun: $STUN]"
52 50
53NETWORK_NET=$(netjail_bridge) 51netjail_bridge
52NETWORK_NET=$RESULT
54 53
55for X in $(seq $KNOWN); do 54for X in $(seq $KNOWN); do
56 KNOWN_NODES[$X]=$(netjail_node) 55 netjail_node
57 KNOWN_LINKS[$X]=$(netjail_node_link_bridge ${KNOWN_NODES[$X]} $NETWORK_NET "$KNOWN_GROUP.$X" 16) 56 KNOWN_NODES[$X]=$RESULT
57 netjail_node_link_bridge ${KNOWN_NODES[$X]} $NETWORK_NET "$KNOWN_GROUP.$X" 16
58 KNOWN_LINKS[$X]=$RESULT
58done 59done
59 60
60declare -A NODES 61declare -A NODES
61declare -A NODE_LINKS 62declare -A NODE_LINKS
62 63
63for N in $(seq $GLOBAL_N); do 64for N in $(seq $GLOBAL_N); do
64 ROUTERS[$N]=$(netjail_node) 65 netjail_node
65 NETWORK_LINKS[$N]=$(netjail_node_link_bridge ${ROUTERS[$N]} $NETWORK_NET "$GLOBAL_GROUP.$N" 16) 66 ROUTERS[$N]=$RESULT
66 ROUTER_NETS[$N]=$(netjail_bridge) 67 netjail_node_link_bridge ${ROUTERS[$N]} $NETWORK_NET "$GLOBAL_GROUP.$N" 16
68 NETWORK_LINKS[$N]=$RESULT
69 netjail_bridge
70 ROUTER_NETS[$N]=$RESULT
67 71
68 for M in $(seq $LOCAL_M); do 72 for M in $(seq $LOCAL_M); do
69 NODES[$N,$M]=$(netjail_node) 73 netjail_node
70 NODE_LINKS[$N,$M]=$(netjail_node_link_bridge ${NODES[$N,$M]} ${ROUTER_NETS[$N]} "$LOCAL_GROUP.$M" 24) 74 NODES[$N,$M]=$RESULT
75 netjail_node_link_bridge ${NODES[$N,$M]} ${ROUTER_NETS[$N]} "$LOCAL_GROUP.$M" 24
76 NODE_LINKS[$N,$M]=$RESULT
71 done 77 done
72 78
73 ROUTER_ADDR="$LOCAL_GROUP.$(($LOCAL_M+1))" 79 ROUTER_ADDR="$LOCAL_GROUP.$(($LOCAL_M+1))"
74 ROUTER_LINKS[$N]=$(netjail_node_link_bridge ${ROUTERS[$N]} ${ROUTER_NETS[$N]} $ROUTER_ADDR 24) 80 netjail_node_link_bridge ${ROUTERS[$N]} ${ROUTER_NETS[$N]} $ROUTER_ADDR 24
81 ROUTER_LINKS[$N]=$RESULT
75 82
76 netjail_node_add_nat ${ROUTERS[$N]} $ROUTER_ADDR 24 83 netjail_node_add_nat ${ROUTERS[$N]} $ROUTER_ADDR 24
77 84
@@ -84,8 +91,10 @@ WAITING=""
84KILLING="" 91KILLING=""
85 92
86if [ $STUN -gt 0 ]; then 93if [ $STUN -gt 0 ]; then
87 STUN_NODE=$(netjail_node) 94 netjail_node
88 STUN_LINK=$(netjail_node_link_bridge $STUN_NODE $NETWORK_NET "$GLOBAL_GROUP.254" 16) 95 STUN_NODE=$RESULT
96 netjail_node_link_bridge $STUN_NODE $NETWORK_NET "$GLOBAL_GROUP.254" 16
97 STUN_LINK=$RESULT
89 98
90 netjail_node_exec $STUN_NODE 0 1 stunserver & 99 netjail_node_exec $STUN_NODE 0 1 stunserver &
91 KILLING="$!" 100 KILLING="$!"