]> git.ipfire.org Git - thirdparty/wireguard-tools.git/commitdiff
wg-quick: make sure we have empty table for both v6 and v4
authorJason A. Donenfeld <Jason@zx2c4.com>
Sun, 11 Jun 2017 21:39:17 +0000 (23:39 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Sun, 11 Jun 2017 21:39:17 +0000 (23:39 +0200)
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>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
src/wg-quick.bash

index a4f349af8dcad97f8e924ab6e265aba6c9c156a8..75050fd8f104843155b6abcc90cdf938f1e6a7c9 100755 (executable)
@@ -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