]> git.ipfire.org Git - thirdparty/wireguard-tools.git/commitdiff
wg-quick: if resolvconf/run/iface exists, use it
authorJason A. Donenfeld <Jason@zx2c4.com>
Wed, 28 Feb 2018 18:46:28 +0000 (19:46 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Sun, 4 Mar 2018 17:50:25 +0000 (18:50 +0100)
Some older broken resolvconfs don't support resolvconf -l, but do have a
file in a standard location, so use it.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
src/wg-quick.bash

index e93fb80fb00a93a1bfe2f6a5dd03d8d6a09547e1..27bd4c7df602ebf43da5428da142c26ec2c001c8 100755 (executable)
@@ -203,7 +203,7 @@ save_config() {
        done
        while read -r address; do
                [[ $address =~ ^nameserver\ ([a-zA-Z0-9_=+:%.-]+)$ ]] && new_config+="DNS = ${BASH_REMATCH[1]}"$'\n'
-       done < <(resolvconf -l "$(resolvconf_iface_prefix)$INTERFACE" 2>/dev/null)
+       done < <(resolvconf -l "$(resolvconf_iface_prefix)$INTERFACE" 2>/dev/null || cat "/etc/resolvconf/run/interface/$(resolvconf_iface_prefix)$INTERFACE")
        [[ -n $MTU && $(ip link show dev "$INTERFACE") =~ mtu\ ([0-9]+) ]] && new_config+="MTU = ${BASH_REMATCH[1]}"$'\n'
        [[ -n $TABLE ]] && new_config+="Table = $TABLE"$'\n'
        [[ $SAVE_CONFIG -eq 0 ]] || new_config+=$'SaveConfig = true\n'