aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRonan Pigott <rpigott@berkeley.edu>2019-08-27 18:42:14 -0700
committerJason A. Donenfeld <Jason@zx2c4.com>2019-08-27 20:29:17 -0600
commit4154476d89b66006ad28c6d2971de5c8aba7d527 (patch)
tree90e3bcaa9b139770d5d8df1f53dfa6900a3d9297
parentwg-quick: openbsd: fix alternate routing table syntax (diff)
downloadwireguard-tools-4154476d89b66006ad28c6d2971de5c8aba7d527.tar.xz
wireguard-tools-4154476d89b66006ad28c6d2971de5c8aba7d527.zip
wg-quick: linux: don't fail down when using systemd-resolved
systemd-resolved has a compatibility interface for use with resolvconf scripts when resolvectl is called from a symlink from resolvconf. However, when tearing down the interface, cmd_down calls del_if and then unset_dns. In the case of systemd-resolved, deleting the interface also removes the systemd-resolved entry and causes resolvconf -d to fail when resolvconf really is a symlink to resolvectl. This causes `wg-quick down` and 'wg-quick@.service' to exit with failure. Instead we use the resolvconf '-f' flag to ignore non-existent interfaces, supported by both openresolv and sd-resolved resolvconf. Signed-off-by: Ronan Pigott <rpigott@berkeley.edu> [zx2c4: moved -f argument to end to remain compatible with Debian's resolvconf] Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-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 2f36dee..e690944 100755
--- a/src/wg-quick/linux.bash
+++ b/src/wg-quick/linux.bash
@@ -155,7 +155,7 @@ set_dns() {
unset_dns() {
[[ ${#DNS[@]} -gt 0 ]] || return 0
- cmd resolvconf -d "$(resolvconf_iface_prefix)$INTERFACE"
+ cmd resolvconf -d "$(resolvconf_iface_prefix)$INTERFACE" -f
}
add_route() {