net/wireguard: fix newlines and typos (#2983)

This commit is contained in:
Budiman Jojo 2022-05-16 16:59:19 +07:00 committed by GitHub
parent 6cc4982454
commit 579adb0ea9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 18 deletions

View File

@ -8,40 +8,38 @@ shopt -s nocasematch
shopt -s extglob
export LC_ALL=C
for CONFIG_FILE in /usr/local/etc/wireguard/*.conf
do
for CONFIG_FILE in /usr/local/etc/wireguard/*.conf; do
[[ $CONFIG_FILE =~ /?([a-zA-Z0-9_=+.-]{1,15})\.conf$ ]]
INTERFACE="${BASH_REMATCH[1]}"
[[ $CONFIG_FILE =~ /?([a-zA-Z0-9_=+.-]{1,15})\.conf$ ]]
INTERFACE="${BASH_REMATCH[1]}"
process_peer() {
process_peer() {
[[ $PEER_SECTION -ne 1 || -z $PUBLIC_KEY || -z $ENDPOINT ]] && return 0
[[ $(wg show "$INTERFACE" latest-handshakes) =~ ${PUBLIC_KEY//+/\\+}\ ([0-9]+) ]] || return 0
[[ $(wg show "$INTERFACE" latest-handshakes) =~ ${PUBLIC_KEY//+/\\+}\ ([0-9]+) ]] || return 0
(( ($EPOCHSECONDS - ${BASH_REMATCH[1]}) > 135 )) || return 0
wg set "$INTERFACE" peer "$PUBLIC_KEY" endpoint "$ENDPOINT"
reset_peer_section
}
}
reset_peer_section() {
reset_peer_section() {
PEER_SECTION=0
PUBLIC_KEY=""
ENDPOINT=""
}
}
reset_peer_section
while read -r line || [[ -n $line ]]; do
reset_peer_section
while read -r line || [[ -n $line ]]; do
stripped="${line%%\#*}"
key="${stripped%%=*}"; key="${key##*([[:space:]])}"; key="${key%%*([[:space:]])}"
value="${stripped#*=}"; value="${value##*([[:space:]])}"; value="${value%%*([[:space:]])}"
[[ $key == "["* ]] && { process_peer; reset_peer_section; }
[[ $key == "[Peer]" ]] && PEER_SECTION=1
if [[ $PEER_SECTION -eq 1 ]]; then
case "$key" in
case "$key" in
PublicKey) PUBLIC_KEY="$value"; continue ;;
Endpoint) ENDPOINT="$value"; continue ;;
esac
esac
fi
done < "$CONFIG_FILE"
process_peer
done < "$CONFIG_FILE"
process_peer
done

View File

@ -27,8 +27,8 @@ description: Restart WireGuard
command:/usr/local/opnsense/scripts/OPNsense/Wireguard/resolve-dns.bash
parameters:
type:script
message:Renew DNS for Wireguard
description:Renew DNS for Wireguard on stale connections
message:Renew DNS for WireGuard
description:Renew DNS for WireGuard on stale connections
[genkey]
command:/usr/local/opnsense/scripts/OPNsense/Wireguard/genkey.sh