fix: resolve unbound variable in trap and support equals sign in #Access

This commit is contained in:
datadunia
2026-04-30 14:15:26 +07:00
parent 336bca5107
commit 0a66d08ffd
2 changed files with 7 additions and 13 deletions
+2 -2
View File
@@ -421,7 +421,7 @@ main() {
# Temporary file for atomic write # Temporary file for atomic write
local tmp_policy local tmp_policy
tmp_policy="$(mktemp /tmp/wg-policy.XXXXXX)" tmp_policy="$(mktemp /tmp/wg-policy.XXXXXX)"
trap 'rm -f "$tmp_policy" 2>/dev/null; release_lock' EXIT trap "rm -f \"$tmp_policy\" 2>/dev/null; release_lock" EXIT
echo '{"clients":{}}' > "$tmp_policy" echo '{"clients":{}}' > "$tmp_policy"
@@ -442,7 +442,7 @@ main() {
ip=c[1] ip=c[1]
} }
if($i ~ /^#Access/) { if($i ~ /^#Access/) {
sub(/^#Access[ \t]+/, "", $i) sub(/^#Access[ \t]*=?[ \t]*/, "", $i)
access=$i access=$i
} }
} }
+5 -11
View File
@@ -35,7 +35,7 @@ main() {
# Temporary file for atomic write # Temporary file for atomic write
local tmp_policy local tmp_policy
tmp_policy="$(mktemp /tmp/wg-policy.XXXXXX)" tmp_policy="$(mktemp /tmp/wg-policy.XXXXXX)"
trap 'rm -f "$tmp_policy" 2>/dev/null; release_lock' EXIT trap "rm -f \"$tmp_policy\" 2>/dev/null; release_lock" EXIT
echo '{"clients":{}}' > "$tmp_policy" echo '{"clients":{}}' > "$tmp_policy"
@@ -52,18 +52,12 @@ main() {
split($i,a," = ") split($i,a," = ")
gsub(/ /,"",a[2]) gsub(/ /,"",a[2])
split(a[2],b,",") split(a[2],b,",")
# First IP is the client IP
split(b[1],c,"/") split(b[1],c,"/")
ip=c[1] ip=c[1]
}
# The rest of the IPs are access targets if($i ~ /^#Access/) {
access_arr="" sub(/^#Access[ \t]*=?[ \t]*/, "", $i)
for(j=2;j<=length(b);j++) { access=$i
if(access_arr=="") access_arr = b[j]
else access_arr = access_arr "," b[j]
}
access = access_arr
} }
} }
if(ip!="" && ip!="0.0.0.0" && ip!="::") { if(ip!="" && ip!="0.0.0.0" && ip!="::") {