[PATCH] wg-quick: freebsd: save mask of interface in save_config
Dan Ponte
amigan at gmail.com
Wed May 11 13:48:28 UTC 2022
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 <amigan at 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
More information about the WireGuard
mailing list