mirror of
https://github.com/unraid/webgui.git
synced 2026-05-01 07:19:32 -05:00
rc.inet1: remove leading zeros in IPv4 and IPv6 addresses
This commit is contained in:
+12
-10
@@ -67,7 +67,7 @@
|
||||
# - added "status" command
|
||||
|
||||
# Adapted by Bergware for use in Unraid OS - December 2023
|
||||
# - remove leading zeros from IPv4 address
|
||||
# - added function to remove leading zeros in IPv4 and IPv6 addresses
|
||||
|
||||
# Bergware - modified for Unraid OS, December 2023
|
||||
|
||||
@@ -140,13 +140,15 @@ lo_down(){
|
||||
# INTERFACE FUNCTIONS #
|
||||
#######################
|
||||
|
||||
# function to remove leading zeros in IPv4 address
|
||||
pact(){
|
||||
local A=()
|
||||
local n
|
||||
for n in ${1//./ }; do A+=($((10#$n))); done
|
||||
A=${A[@]}
|
||||
echo -n ${A// /.}
|
||||
# function to remove leading zeros in IPv4 and IPv6 addresses
|
||||
unzero(){
|
||||
local A M Q
|
||||
case "$1" in
|
||||
-4) echo -n $(for Q in ${2//./ }; do printf "$M%x" "0x$Q"; M=.; done) ;;
|
||||
-6) A=${2/::/:-:}
|
||||
echo -n $(for Q in ${A//:/ }; do [[ $Q != - ]] && printf "$M%x" "0x$Q" || printf ":"; M=:; done) ;;
|
||||
*) echo -n $2 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
# function to get link mtu size
|
||||
@@ -389,14 +391,14 @@ ipaddr_up(){
|
||||
[[ $j -eq 0 ]] && ADDR=${IPADDR[$i]} || ADDR=${IPADDR[$i,$j]}
|
||||
if [[ -n $ADDR ]]; then
|
||||
[[ $j -eq 0 ]] && MASK=${NETMASK[$i]} || MASK=${NETMASK[$i,$j]}
|
||||
[[ -n $MASK ]] && run ip -4 addr add $(pact $ADDR)/$MASK dev $IFACE metric 1
|
||||
[[ -n $MASK ]] && run ip -4 addr add $(unzero -4 $ADDR)/$MASK dev $IFACE metric 1
|
||||
fi
|
||||
fi
|
||||
if [[ $IP != ipv4 ]]; then
|
||||
[[ $j -eq 0 ]] && ADDR6=${IPADDR6[$i]} || ADDR6=${IPADDR6[$i,$j]}
|
||||
if [[ -n $ADDR6 ]]; then
|
||||
[[ $j -eq 0 ]] && MASK6=${NETMASK6[$i]} || MASK6=${NETMASK6[$i,$j]}
|
||||
[[ -n $MASK6 ]] && run ip -6 addr add $ADDR6/$MASK6 dev $IFACE metric 1
|
||||
[[ -n $MASK6 ]] && run ip -6 addr add $(unzero -6 $ADDR6)/$MASK6 dev $IFACE metric 1
|
||||
[[ -n $PRIV6 && -d $CONF6/$IFACE ]] && echo 0 >$CONF6/$IFACE/use_tempaddr
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user