aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-05-17 12:32:46 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2019-05-29 01:23:24 +0200
commitce55f857ffff12a57d072991a0ec6625829f614f (patch)
tree6a072d75f48071b2a931b4047665f43cf40c16cd /src
parentwg-quick: make darwin and freebsd path search strict like linux (diff)
downloadwireguard-tools-ce55f857ffff12a57d072991a0ec6625829f614f.tar.xz
wireguard-tools-ce55f857ffff12a57d072991a0ec6625829f614f.zip
wg-quick: look up existing routes properly
This was never really correct, and then 5.1 broke it entirely. Reported-by: piraty1@inbox.ru Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/wg-quick/linux.bash2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/wg-quick/linux.bash b/src/wg-quick/linux.bash
index 5eaa504..8f1812c 100755
--- a/src/wg-quick/linux.bash
+++ b/src/wg-quick/linux.bash
@@ -164,7 +164,7 @@ add_route() {
elif [[ $1 == */0 ]]; then
add_default "$1"
else
- [[ $(ip route get "$1" 2>/dev/null) == *dev\ $INTERFACE\ * ]] || cmd ip route add "$1" dev "$INTERFACE"
+ [[ -n $(ip route show dev "$INTERFACE" match "$1" 2>/dev/null) ]] || cmd ip route add "$1" dev "$INTERFACE"
fi
}