]> git.ipfire.org Git - thirdparty/wireguard-tools.git/commitdiff
wg-quick: parse IPv6 endpoints correctly
authorJason A. Donenfeld <Jason@zx2c4.com>
Sun, 15 Jan 2017 12:01:06 +0000 (13:01 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Sun, 15 Jan 2017 12:01:06 +0000 (13:01 +0100)
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
src/wg-quick.bash

index d611a8351197381023bd4189ad61a3343ae41ce1..b6fcef807da531b5329c62da44be65661c283bf9 100755 (executable)
@@ -102,7 +102,7 @@ add_route() {
 }
 
 add_default() {
-       [[ $(join <(wg show "$INTERFACE" allowed-ips) <(wg show "$INTERFACE" endpoints)) =~ .*\ ${1//./\\.}\ ([0-9.:a-f]+):[0-9]+$ ]] && local endpoint="${BASH_REMATCH[1]}"
+       [[ $(join <(wg show "$INTERFACE" allowed-ips) <(wg show "$INTERFACE" endpoints)) =~ .*\ ${1//./\\.}\ \[?([0-9.:a-f]+)\]?:[0-9]+$ ]] && local endpoint="${BASH_REMATCH[1]}"
        [[ -n $endpoint ]] || return 0
        local table=51820
        while [[ -n $(ip route show table $table) ]]; do ((table++)); done