diff options
Diffstat (limited to 'scripts/netjail/netjail_core.sh')
-rwxr-xr-x | scripts/netjail/netjail_core.sh | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/scripts/netjail/netjail_core.sh b/scripts/netjail/netjail_core.sh index b71b51451..8a039cd2f 100755 --- a/scripts/netjail/netjail_core.sh +++ b/scripts/netjail/netjail_core.sh | |||
@@ -52,7 +52,7 @@ netjail_opts() { | |||
52 | local OPT=$1 | 52 | local OPT=$1 |
53 | local DEF=$2 | 53 | local DEF=$2 |
54 | shift 2 | 54 | shift 2 |
55 | 55 | ||
56 | while [ $# -gt 0 ]; do | 56 | while [ $# -gt 0 ]; do |
57 | if [ "$1" = "$OPT" ]; then | 57 | if [ "$1" = "$OPT" ]; then |
58 | printf "$2" | 58 | printf "$2" |
@@ -61,7 +61,7 @@ netjail_opts() { | |||
61 | 61 | ||
62 | shift 1 | 62 | shift 1 |
63 | done | 63 | done |
64 | 64 | ||
65 | RESULT="$DEF" | 65 | RESULT="$DEF" |
66 | } | 66 | } |
67 | 67 | ||
@@ -100,7 +100,7 @@ netjail_bridge() { | |||
100 | 100 | ||
101 | ip link add $BRIDGE type bridge | 101 | ip link add $BRIDGE type bridge |
102 | ip link set dev $BRIDGE up | 102 | ip link set dev $BRIDGE up |
103 | 103 | ||
104 | RESULT=$BRIDGE | 104 | RESULT=$BRIDGE |
105 | } | 105 | } |
106 | 106 | ||
@@ -108,7 +108,7 @@ netjail_bridge_name() { | |||
108 | netjail_next_interface | 108 | netjail_next_interface |
109 | local NUM=$RESULT | 109 | local NUM=$RESULT |
110 | local BRIDGE=$(printf $INTERFACE_FORMAT_STRING $PREPREFIX $PREFIX $NUM) | 110 | local BRIDGE=$(printf $INTERFACE_FORMAT_STRING $PREPREFIX $PREFIX $NUM) |
111 | 111 | ||
112 | RESULT=$BRIDGE | 112 | RESULT=$BRIDGE |
113 | } | 113 | } |
114 | 114 | ||
@@ -124,7 +124,7 @@ netjail_node() { | |||
124 | local NODE=$(printf $INTERFACE_FORMAT_STRING $PREPREFIX $PREFIX $NUM) | 124 | local NODE=$(printf $INTERFACE_FORMAT_STRING $PREPREFIX $PREFIX $NUM) |
125 | 125 | ||
126 | ip netns add $NODE | 126 | ip netns add $NODE |
127 | 127 | ||
128 | RESULT=$NODE | 128 | RESULT=$NODE |
129 | } | 129 | } |
130 | 130 | ||
@@ -132,7 +132,7 @@ netjail_node_name() { | |||
132 | netjail_next_namespace | 132 | netjail_next_namespace |
133 | local NUM=$RESULT | 133 | local NUM=$RESULT |
134 | local NODE=$(printf $INTERFACE_FORMAT_STRING $PREPREFIX $PREFIX $NUM) | 134 | local NODE=$(printf $INTERFACE_FORMAT_STRING $PREPREFIX $PREFIX $NUM) |
135 | 135 | ||
136 | RESULT=$NODE | 136 | RESULT=$NODE |
137 | } | 137 | } |
138 | 138 | ||
@@ -215,21 +215,6 @@ netjail_node_exec() { | |||
215 | ip netns exec $NODE sudo -u $JAILOR -- $@ 1>& $FD_OUT 0<& $FD_IN | 215 | ip netns exec $NODE sudo -u $JAILOR -- $@ 1>& $FD_OUT 0<& $FD_IN |
216 | } | 216 | } |
217 | 217 | ||
218 | netjail_node_exec_without_fds() { | ||
219 | JAILOR=${SUDO_USER:?must run in sudo} | ||
220 | NODE=$1 | ||
221 | shift 1 | ||
222 | |||
223 | ip netns exec $NODE sudo -u $JAILOR -- $@ | ||
224 | } | ||
225 | |||
226 | netjail_node_exec_without_fds_and_sudo() { | ||
227 | NODE=$1 | ||
228 | shift 1 | ||
229 | |||
230 | ip netns exec $NODE $@ | ||
231 | } | ||
232 | |||
233 | netjail_kill() { | 218 | netjail_kill() { |
234 | local PID=$1 | 219 | local PID=$1 |
235 | local MATCH=$(ps --pid $PID | awk "{ if ( \$1 == $PID ) { print \$1 } }" | wc -l) | 220 | local MATCH=$(ps --pid $PID | awk "{ if ( \$1 == $PID ) { print \$1 } }" | wc -l) |
@@ -264,4 +249,3 @@ netjail_waitall() { | |||
264 | done | 249 | done |
265 | fi | 250 | fi |
266 | } | 251 | } |
267 | |||