diff options
Diffstat (limited to 'net/wireguard-tools')
| -rw-r--r-- | net/wireguard-tools/Makefile | 5 | ||||
| -rw-r--r-- | net/wireguard-tools/distinfo | 6 | ||||
| -rw-r--r-- | net/wireguard-tools/files/patch-wg-quick_freebsd.bash | 43 |
3 files changed, 48 insertions, 6 deletions
diff --git a/net/wireguard-tools/Makefile b/net/wireguard-tools/Makefile index cd97a43099f5..a9a0f4d02aad 100644 --- a/net/wireguard-tools/Makefile +++ b/net/wireguard-tools/Makefile @@ -1,10 +1,9 @@ PORTNAME= wireguard-tools -PORTVERSION= 1.0.20210914 -PORTREVISION= 3 +PORTVERSION= 1.0.20250521 CATEGORIES= net net-vpn MASTER_SITES= https://git.zx2c4.com/wireguard-tools/snapshot/ -MAINTAINER= decke@FreeBSD.org +MAINTAINER= ports@FreeBSD.org COMMENT= Fast, modern and secure VPN Tunnel WWW= https://git.zx2c4.com/wireguard-tools/about/ diff --git a/net/wireguard-tools/distinfo b/net/wireguard-tools/distinfo index cb170b21e029..fdfd7ad28e1b 100644 --- a/net/wireguard-tools/distinfo +++ b/net/wireguard-tools/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1631602777 -SHA256 (wireguard-tools-1.0.20210914.tar.xz) = 97ff31489217bb265b7ae850d3d0f335ab07d2652ba1feec88b734bc96bd05ac -SIZE (wireguard-tools-1.0.20210914.tar.xz) = 99744 +TIMESTAMP = 1765109364 +SHA256 (wireguard-tools-1.0.20250521.tar.xz) = b6f2628b85b1b23cc06517ec9c74f82d52c4cdbd020f3dd2f00c972a1782950e +SIZE (wireguard-tools-1.0.20250521.tar.xz) = 100340 diff --git a/net/wireguard-tools/files/patch-wg-quick_freebsd.bash b/net/wireguard-tools/files/patch-wg-quick_freebsd.bash new file mode 100644 index 000000000000..83254d7abac3 --- /dev/null +++ b/net/wireguard-tools/files/patch-wg-quick_freebsd.bash @@ -0,0 +1,43 @@ +--- wg-quick/freebsd.bash.orig 2021-09-13 22:43:31 UTC ++++ wg-quick/freebsd.bash +@@ -27,6 +27,7 @@ SAVE_CONFIG=0 + CONFIG_FILE="" + PROGRAM="${0##*/}" + ARGS=( "$@" ) ++FREEBSD_MAJOR_VERSION=$(freebsd-version | cut -d. -f1) + + cmd() { + echo "[#] $*" >&3 +@@ -283,20 +284,28 @@ monitor_daemon() { + echo "[+] Backgrounding route monitor" >&2 + (make_temp + trap 'del_routes; clean_temp; exit 0' INT TERM EXIT ++ local event grep_for pid ++ if [[ "$FREEBSD_MAJOR_VERSION" -lt 14 ]]; then ++ grep_for="RTM_" ++ elif [[ $AUTO_ROUTE4 -eq 1 || $AUTO_ROUTE6 -eq 1 ]]; then ++ grep_for="iface" # needs refinement ++ else ++ grep_for="(add/repl|delete) iface iface#[0-9]{1,4} $INTERFACE " ++ fi + exec >/dev/null 2>&1 +- exec 19< <(exec route -n monitor) +- local event pid=$! ++ exec 19< <(exec sh -c "route -n monitor | grep -E --line-buffered '$grep_for'") ++ monitor_ppid=$! + # TODO: this should also check to see if the endpoint actually changes + # in response to incoming packets, and then call set_endpoint_direct_route + # then too. That function should be able to gracefully cleanup if the + # endpoints change. + while read -u 19 -r event; do +- [[ $event == RTM_* ]] || continue + ifconfig "$INTERFACE" >/dev/null 2>&1 || break + [[ $AUTO_ROUTE4 -eq 1 || $AUTO_ROUTE6 -eq 1 ]] && set_endpoint_direct_route + # TODO: set the mtu as well, but only if up + done +- kill $pid) & disown ++ pkill -P "$monitor_ppid" route || true ++ ) & disown + } + + HAVE_SET_DNS=0 |
