base-files: treat 'ipaddr is inside range' as warning again

The call to 'ipcalc' is used in 'dnsmasq' init script to create the
configuration. If the 'ipaddr' is in the configured range then 'ipcalc' exited
with an error whereby the START/STOP variables are unavailable.

This behaviour has changed during 'ipcalc' refactoring and now leads to a
problem when starting 'dnsmasq' if the 'ipaddr' is inside this range. To
restore the old behaviour, only a warning is issued as before and the
required variables for the 'dnsmasq' are still set.

Fixes: 854739b32c (base-files: ipcalc.sh: Rewrite in pure shell)

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/18641
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 32ed3db1a0)
This commit is contained in:
Florian Eckert 2025-04-30 12:25:01 +02:00 committed by Liangbin Lian
parent b4340aa3ff
commit 19e2fcf570

View File

@ -133,8 +133,7 @@ _ip2str START "$start"
_ip2str END "$end"
if [ "$start" -le "$ipaddr" ] && [ "$ipaddr" -le "$end" ]; then
echo "error: address $IP inside range $START..$END" >&2
exit 1
echo "warning: address $IP inside range $START..$END" >&2
fi
echo "START=$START"