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 <ami...@gmail.com>
---
 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'
-- 
2.36.0

Reply via email to