aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/tools/wg-quick.bash
diff options
context:
space:
mode:
authorPim van Pelt <pim@ipng.nl>2017-03-16 23:57:55 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2017-03-19 15:34:46 +0100
commit3706a30b131dfff770b1bfdb6b095e61333724d0 (patch)
tree2d06f11bcc424e9e4c4eb83f721a12af36c1ff9d /src/tools/wg-quick.bash
parentcookie: no need to hash rng (diff)
downloadwireguard-monolithic-historical-3706a30b131dfff770b1bfdb6b095e61333724d0.tar.xz
wireguard-monolithic-historical-3706a30b131dfff770b1bfdb6b095e61333724d0.zip
tools: wg-quick: support old ip(8)
Old versions of ip(8) do not accept arguments to `ip rule show.` This patch works around that limitation.
Diffstat (limited to 'src/tools/wg-quick.bash')
-rwxr-xr-xsrc/tools/wg-quick.bash12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/tools/wg-quick.bash b/src/tools/wg-quick.bash
index bb7325c..73cfa25 100755
--- a/src/tools/wg-quick.bash
+++ b/src/tools/wg-quick.bash
@@ -83,13 +83,17 @@ del_if() {
DEFAULT_TABLE=0
[[ $fwmark != off ]] && DEFAULT_TABLE=$(( $fwmark ))
if [[ $DEFAULT_TABLE -ne 0 ]]; then
- while [[ -n $(ip -4 rule show table $DEFAULT_TABLE) ]]; do
+ while [[ $(ip -4 rule show) == *"lookup $DEFAULT_TABLE"* ]]; do
cmd ip -4 rule delete table $DEFAULT_TABLE
- [[ $(ip -4 rule show table main) == *"from all lookup main suppress_prefixlength 0"* ]] && cmd ip -4 rule delete table main suppress_prefixlength 0
done
- while [[ -n $(ip -6 rule show table $DEFAULT_TABLE) ]]; do
+ while [[ $(ip -4 rule show) == *"from all lookup main suppress_prefixlength 0"* ]]; do
+ cmd ip -4 rule delete table main suppress_prefixlength 0
+ done
+ while [[ $(ip -6 rule show) == *"lookup $DEFAULT_TABLE"* ]]; do
cmd ip -6 rule delete table $DEFAULT_TABLE
- [[ $(ip -6 rule show table main) == *"from all lookup main suppress_prefixlength 0"* ]] && cmd ip -6 rule delete table main suppress_prefixlength 0
+ done
+ while [[ $(ip -6 rule show) == *"from all lookup main suppress_prefixlength 0"* ]]; do
+ cmd ip -6 rule delete table main suppress_prefixlength 0
done
fi
cmd ip link delete dev "$INTERFACE"