Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2022
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.55 KB | None | 0 0
  1. append_ipset() {
  2.     if [ -x /sbin/fw4 ]; then
  3.         local domainlist=${1%/*}
  4.         local setlist=${1##*/}
  5.         local nftsets=""
  6.  
  7.         IFS=,
  8.         for set in $setlist; do
  9.             local family=$(nft -t list set inet fw4 "$set" 2>&1 | sed -nre 's#^\t\ttype .*\bipv([46])_addr\b.*$#\1#p')
  10.  
  11.             [ -n "$family" ] || \
  12.                 logger -t dnsmasq "Cannot infer address family from not existing nftables set '$set'"
  13.  
  14.             nftsets="${nftsets:+$nftsets,}${family:+$family#}inet#fw4#$set"
  15.         done
  16.         IFS=$' \t\n'
  17.  
  18.         xappend "--nftset=$domainlist/$nftsets"
  19.     else
  20.         xappend "--ipset=$1"
  21.     fi
  22. }
  23.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement