Последняя активность 1 month ago

gistfile1.txt Исходник
1 grep -A 15 "function rule::reapply_all" /etc/wireguard/wgctl/modules/rule.module.sh
2function rule::reapply_all() {
3 local rule_name="${1:-}"
4 rule::require_exists "$rule_name" || return 1
5
6 local peers=()
7 mapfile -t peers < <(peers::with_rule "$rule_name")
8 [[ ${#peers[@]} -eq 0 ]] && return 0
9
10 local count=0
11 for peer_name in "${peers[@]}"; do
12 local client_ip
13 client_ip=$(peers::get_ip "$peer_name")
14 [[ -z "$client_ip" ]] && continue
15 rule::unapply "$rule_name" "$client_ip"
16 rule::apply "$rule_name" "$client_ip" "$peer_name"
17 (( count++ )) || true