From: Jason A. Donenfeld Date: Wed, 16 May 2018 02:12:02 +0000 (+0200) Subject: wg-quick: add intentionally undocumented userspace implementation knob X-Git-Tag: v1.0.20191226~123 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c407ae27b820310fb382fea9623b45fab50f0e5;p=thirdparty%2Fwireguard-tools.git 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 --- 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 }