aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/tools
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2017-06-11 23:39:17 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2017-06-11 23:39:17 +0200
commitb52b08df5b63d7f1d66ebfcab5e541bf61a3ee60 (patch)
tree32535bbfb0a239164207d9baf0e181fa9304f98b /src/tools
parentexternal-tests: trim the fat (diff)
downloadwireguard-monolithic-historical-b52b08df5b63d7f1d66ebfcab5e541bf61a3ee60.tar.xz
wireguard-monolithic-historical-b52b08df5b63d7f1d66ebfcab5e541bf61a3ee60.zip
wg-quick: make sure we have empty table for both v6 and v4
Otherwise, we wind up not doing the right thing in the v6-only case, or doing something totally borked when v4 and v6 are filled unevenly. Reported-by: Roelf Wichertjes <contact@roelf.org>
Diffstat (limited to 'src/tools')
-rwxr-xr-xsrc/tools/wg-quick.bash4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/tools/wg-quick.bash b/src/tools/wg-quick.bash
index a4f349a..75050fd 100755
--- a/src/tools/wg-quick.bash
+++ b/src/tools/wg-quick.bash
@@ -141,7 +141,9 @@ DEFAULT_TABLE=
add_default() {
if [[ -z $DEFAULT_TABLE ]]; then
DEFAULT_TABLE=51820
- while [[ -n $(ip route show table $DEFAULT_TABLE) ]]; do ((DEFAULT_TABLE++)); done
+ while [[ -n $(ip -4 route show table $DEFAULT_TABLE) || -n $(ip -6 route show table $DEFAULT_TABLE) ]]; do
+ ((DEFAULT_TABLE++))
+ done
fi
local proto=-4 src ip
if [[ $1 == *:* ]]; then