]> git.ipfire.org Git - thirdparty/wireguard-tools.git/commitdiff
wg-quick: do not use grep
authorJason A. Donenfeld <Jason@zx2c4.com>
Mon, 24 Jul 2017 21:22:10 +0000 (23:22 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Mon, 24 Jul 2017 21:22:10 +0000 (23:22 +0200)
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
src/wg-quick.bash

index b1fb4357722c2e7baa1d607eb84968699f64a7de..d7e7d6831f5ddae246e7604ad1ffebe890ab0f2c 100755 (executable)
@@ -226,7 +226,7 @@ cmd_up() {
        done
        set_mtu
        up_if
-       for i in $(wg show "$INTERFACE" allowed-ips | grep -Po '(?<=[\t ])[0-9.:/a-f]+' | sort -nr -k 2 -t /); do
+       for i in $(while read -r _ i; do for i in $i; do [[ $i =~ ^[0-9a-z:.]+/[0-9]+$ ]] && echo "$i"; done; done < <(wg show "$INTERFACE" allowed-ips) | sort -nr -k 2 -t /); do
                [[ $(ip route get "$i" 2>/dev/null) == *dev\ $INTERFACE\ * ]] || add_route "$i"
        done
        execute_hook "$POST_UP"