From 4bba353ffcea795319154454ae0e5c8b56d48f44 Mon Sep 17 00:00:00 2001 From: Dan Ponte Date: Wed, 11 May 2022 08:52:37 -0400 Subject: [PATCH] wg-quick: freebsd: save mask of interface in save_config Other than the obvious benefits, this prevents "ifconfig: WARNING: setting interface address without mask is deprecated, default mask may not be correct." from appearing on the next start after save. Signed-off-by: Dan Ponte --- src/wg-quick/freebsd.bash | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/wg-quick/freebsd.bash b/src/wg-quick/freebsd.bash index b529ab2..5864a17 100755 --- a/src/wg-quick/freebsd.bash +++ b/src/wg-quick/freebsd.bash @@ -341,13 +341,15 @@ set_config() { } save_config() { - local old_umask new_config current_config address cmd + local old_umask new_config current_config network cidr address cmd new_config=$'[Interface]\n' - { read -r _; while read -r _ _ _ address _; do - new_config+="Address = $address"$'\n' + { read -r _; while read -r _ _ network address _; do + cidr=(${network//\// }) + new_config+="Address = $address/${cidr[1]}"$'\n' done } < <(netstat -I "$INTERFACE" -n -W -f inet) - { read -r _; while read -r _ _ _ address _; do - new_config+="Address = $address"$'\n' + { read -r _; while read -r _ _ network address _; do + cidr=(${network//\// }) + new_config+="Address = $address/${cidr[1]}"$'\n' done } < <(netstat -I "$INTERFACE" -n -W -f inet6) while read -r address; do [[ $address =~ ^nameserver\ ([a-zA-Z0-9_=+:%.-]+)$ ]] && new_config+="DNS = ${BASH_REMATCH[1]}"$'\n'