From 6c407ae27b820310fb382fea9623b45fab50f0e5 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Wed, 16 May 2018 04:12:02 +0200 Subject: [PATCH] wg-quick: add intentionally undocumented userspace implementation knob This knob might disappear at some point, and we don't want to encourage its use, so it's not being documented, but this should help with development of new implementations. Signed-off-by: Jason A. Donenfeld --- src/wg-quick/darwin.bash | 2 +- src/wg-quick/linux.bash | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/wg-quick/darwin.bash b/src/wg-quick/darwin.bash index 4a3240c..0eef3d9 100755 --- a/src/wg-quick/darwin.bash +++ b/src/wg-quick/darwin.bash @@ -101,7 +101,7 @@ get_real_interface() { add_if() { export WG_DARWIN_UTUN_NAME_FILE="/var/run/wireguard/$INTERFACE.name" mkdir -m 0700 -p "/var/run/wireguard/" - cmd wireguard-go utun + cmd "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" utun get_real_interface } diff --git a/src/wg-quick/linux.bash b/src/wg-quick/linux.bash index 38ccad2..9139e7f 100755 --- a/src/wg-quick/linux.bash +++ b/src/wg-quick/linux.bash @@ -86,9 +86,9 @@ add_if() { local ret if ! cmd ip link add "$INTERFACE" type wireguard; then ret=$? - [[ -e /sys/module/wireguard ]] || ! command -v wireguard-go >/dev/null && return $ret + [[ -e /sys/module/wireguard ]] || ! command -v "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" >/dev/null && exit $ret echo "[!] Missing WireGuard kernel module. Falling back to slow userspace implementation." - cmd wireguard-go "$INTERFACE" + cmd "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" "$INTERFACE" fi }