diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-08-08 19:18:25 -0700 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-08-09 01:22:05 -0700 |
commit | ed1b3a4fe8f3b27d47b65bc4f7cf5cd19ec199a1 (patch) | |
tree | 05b87b7e51c38fb2b20b2ace28610cfcefd2ae8c /src/tests/netns.sh | |
parent | dc1315ab86fdc2d2a43130e2b133ff996038090d (diff) |
netlink: don't start over iteration on multipart non-first allowedips
Reported-by: Matt Layher <mdlayher@gmail.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'src/tests/netns.sh')
-rwxr-xr-x | src/tests/netns.sh | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/tests/netns.sh b/src/tests/netns.sh index d1950a0..29e1fd4 100755 --- a/src/tests/netns.sh +++ b/src/tests/netns.sh @@ -439,6 +439,30 @@ n0 wg setconf wg0 <(printf '%s\n' "${config[@]}") n0 wg showconf wg0 > /dev/null ip0 link del wg0 +allowedips=( ) +for i in {1..197}; do + allowedips+=( abcd::$i ) +done +saved_ifs="$IFS" +IFS=, +allowedips="${allowedips[*]}" +IFS="$saved_ifs" +ip0 link add wg0 type wireguard +n0 wg set wg0 peer "$pub1" +n0 wg set wg0 peer "$pub2" allowed-ips "$allowedips" +{ + read -r pub allowedips + [[ $pub == "$pub1" && $allowedips == "(none)" ]] + read -r pub allowedips + [[ $pub == "$pub2" ]] + i=0 + for _ in $allowedips; do + ((++i)) + done + ((i == 197)) +} < <(n0 wg show wg0 allowed-ips) +ip0 link del wg0 + ! n0 wg show doesnotexist || false ip0 link add wg0 type wireguard |