From: j@mailb.org
To: Nathan Chancellor <natechancellor@gmail.com>
Cc: wireguard@lists.zx2c4.com
Subject: Re: [PATCH] wg-quick: use resolvectl if present to set dns
Date: Wed, 8 Aug 2018 22:41:06 +0100 [thread overview]
Message-ID: <d675d1f9-71ac-b7cf-7ac5-714253717e09@mailb.org> (raw)
In-Reply-To: <20180804000112.GA12885@flashbox>
[-- Attachment #1: Type: text/plain, Size: 318 bytes --]
Hi Nathan,
On 08/04/2018 01:01 AM, Nathan Chancellor wrote:
> I'd argue a better way to check if a command is available is the command
> built-in:
>
> if command -v resolvconf >/dev/null; then
> do stuff
> fi
good point, updated patch and added support for systemd-resolve in case
resolvectl is not present.
j
[-- Attachment #2: 0001-use-resolvectl-or-systemd-resolve-to-configure-dns.patch --]
[-- Type: text/x-patch, Size: 1148 bytes --]
diff --git a/src/tools/wg-quick/linux.bash b/src/tools/wg-quick/linux.bash
index 3f1976b..b8ef60b 100755
--- a/src/tools/wg-quick/linux.bash
+++ b/src/tools/wg-quick/linux.bash
@@ -151,13 +151,23 @@ resolvconf_iface_prefix() {
HAVE_SET_DNS=0
set_dns() {
[[ ${#DNS[@]} -gt 0 ]] || return 0
- printf 'nameserver %s\n' "${DNS[@]}" | cmd resolvconf -a "$(resolvconf_iface_prefix)$INTERFACE" -m 0 -x
+ if command -v resolvconf >/dev/null; then
+ printf 'nameserver %s\n' "${DNS[@]}" | cmd resolvconf -a "$(resolvconf_iface_prefix)$INTERFACE" -m 0 -x
+ elif command -v resolvectl >/dev/null; then
+ cmd resolvectl dns $INTERFACE "${DNS[@]}"
+ elif command -v systemd-resolve >/dev/null && systemd-resolve --help | grep -- -set-dns >/dev/null; then
+ cmd systemd-resolve -i $INTERFACE `printf -- ' --set-dns %s' "${DNS[@]}"`
+ else
+ echo "could not configure nameservers" && return 0
+ fi
HAVE_SET_DNS=1
}
unset_dns() {
[[ ${#DNS[@]} -gt 0 ]] || return 0
- cmd resolvconf -d "$(resolvconf_iface_prefix)$INTERFACE"
+ if [ -x /usr/bin/resolvconf ]; then
+ cmd resolvconf -d "$(resolvconf_iface_prefix)$INTERFACE"
+ fi
}
add_route() {
prev parent reply other threads:[~2018-08-08 21:30 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-01 12:04 [PATCH] wg-quick: use resolvectl if present to set dns j
2018-08-04 0:01 ` Nathan Chancellor
2018-08-08 21:41 ` j [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d675d1f9-71ac-b7cf-7ac5-714253717e09@mailb.org \
--to=j@mailb.org \
--cc=natechancellor@gmail.com \
--cc=wireguard@lists.zx2c4.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).