From d5a3292b882d53b90d1dcb51545392763c0d88da Mon Sep 17 00:00:00 2001 From: bergware Date: Sat, 17 Jun 2023 20:09:11 +0200 Subject: [PATCH] rc.library.source smarter ip address listing --- etc/rc.d/rc.library.source | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/etc/rc.d/rc.library.source b/etc/rc.d/rc.library.source index a665c128a..361f5b448 100644 --- a/etc/rc.d/rc.library.source +++ b/etc/rc.d/rc.library.source @@ -57,8 +57,8 @@ good() { show() { case $# in 1) ip -br addr show to $1 2>/dev/null|awk '{print $1;exit}';; - 2) ip -br addr show $1 $2 2>/dev/null|awk '$3 !~ "169.254" && $3 !~ "fe80" {print $3;exit}';; - 3) ip -br $1 addr show $2 $3 2>/dev/null|awk '$3 !~ "169.254" && $3 !~ "fe80" {print $3;exit}';; + 2) ip -br addr show $1 $2 2>/dev/null|awk '$3 !~ "^169.254" && $3 !~ "^fe80" {print $3;exit}';; + 3) ip -br $1 addr show $2 $3 2>/dev/null|awk '$3 !~ "^169.254" && $3 !~ "^fe80" {print $3;exit}';; esac } @@ -144,7 +144,7 @@ check() { else [[ -n ${net[1]} ]] && ipv4=yes bind+=($(sub ${net[1]})) fi - done <<< $(ip -br -4 addr|awk '/^(br|bond|eth|wg)[0-9]+(\.[0-9]+)?/ && $3 !~ "169.254" {print $1,$3}') + done <<< $(ip -br -4 addr|awk '/^(br|bond|eth|wg)[0-9]+(\.[0-9]+)?/ && $3 !~ "^169.254" {print $1,$3}') # active ipv6 interfaces (including wireguard) while IFS='\n' read -r net; do net=($net) @@ -153,7 +153,7 @@ check() { else [[ -n ${net[1]} ]] && ipv6=yes bind+=($(sub ${net[1]})) fi - done <<< $(ip -br -6 addr|awk '/^(br|bond|eth|wg)[0-9]+(\.[0-9]+)?/ && $3 !~ "fe80" {print $1,$3}') + done <<< $(ip -br -6 addr|awk '/^(br|bond|eth|wg)[0-9]+(\.[0-9]+)?/ && $3 !~ "^fe80" {print $1,$3}') # add loopback interface if [[ "smb nfs ntp" =~ $CALLER ]]; then [[ $ipv4 == yes ]] && bind+=(127.0.0.1)