]> git.ipfire.org Git - thirdparty/wireguard-tools.git/commitdiff
wg-quick: specify protocol to ip(8), because of inconsistencies
authorJason A. Donenfeld <Jason@zx2c4.com>
Fri, 17 May 2019 15:30:38 +0000 (17:30 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Tue, 28 May 2019 23:23:24 +0000 (01:23 +0200)
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
src/wg-quick/linux.bash

index 8f1812c1ccdb902616261f0632c16a42e665066d..2f36deebcad937f1522569c2ac515c4bb316ceb1 100755 (executable)
@@ -113,7 +113,9 @@ del_if() {
 }
 
 add_addr() {
-       cmd ip address add "$1" dev "$INTERFACE"
+       local proto=-4
+       [[ $1 == *:* ]] && proto=-6
+       cmd ip $proto address add "$1" dev "$INTERFACE"
 }
 
 set_mtu_up() {
@@ -157,14 +159,16 @@ unset_dns() {
 }
 
 add_route() {
+       local proto=-4
+       [[ $1 == *:* ]] && proto=-6
        [[ $TABLE != off ]] || return 0
 
        if [[ -n $TABLE && $TABLE != auto ]]; then
-               cmd ip route add "$1" dev "$INTERFACE" table "$TABLE"
+               cmd ip $proto route add "$1" dev "$INTERFACE" table "$TABLE"
        elif [[ $1 == */0 ]]; then
                add_default "$1"
        else
-               [[ -n $(ip route show dev "$INTERFACE" match "$1" 2>/dev/null) ]] || cmd ip route add "$1" dev "$INTERFACE"
+               [[ -n $(ip $proto route show dev "$INTERFACE" match "$1" 2>/dev/null) ]] || cmd ip $proto route add "$1" dev "$INTERFACE"
        fi
 }