From dd82da4e27c30678634e5a7698422aeaca7d25d6 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Wed, 31 Jul 2013 12:00:53 +0200 Subject: [PATCH] network/net-lib.sh: safeguard against incomplete iBFT settings --- modules.d/40network/net-lib.sh | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh index 0e23d097d..abd6e5c18 100644 --- a/modules.d/40network/net-lib.sh +++ b/modules.d/40network/net-lib.sh @@ -205,15 +205,26 @@ ibft_to_cmdline() { mac=$(read a < ${iface}/mac; echo $a) [ -z "$mac" ] && continue dev=$(set_ifname ibft $mac) - dhcp=$(read a < ${iface}/dhcp; echo $a) + [ -f ${iface}/dhcp ] && dhcp=$(read a < ${iface}/dhcp; echo $a) if [ -n "$dhcp" ]; then echo "ip=$dev:dhcp" + elif [ -f ${iface}/ip-addr ]; then + [ -f ${iface}/ip-addr ] && ip=$(read a < ${iface}/ip-addr; echo $a) + [ -f ${iface}/gateway ] && gw=$(read a < ${iface}/gateway; echo $a) + [ -f ${iface}/subnet-mask ] && mask=$(read a < ${iface}/subnet-mask; echo $a) + [ -f ${iface}/hostname ] && hostname=$(read a < ${iface}/hostname; echo $a) + if [ -n "$ip" ] && [ -n "$mask" ]; then + echo "ip=$ip::$gw:$mask:$hostname:$dev:none" + else + warn "${iface} does not contain a valid iBFT configuration" + warn "ip-addr=$ip" + warn "gateway=$gw" + warn "subnet-mask=$mask" + warn "hostname=$hostname" + fi else - ip=$(read a < ${iface}/ip-addr; echo $a) - gw=$(read a < ${iface}/gateway; echo $a) - mask=$(read a < ${iface}/subnet-mask; echo $a) - hostname=$(read a < ${iface}/hostname; echo $a) - echo "ip=$ip::$gw:$mask:$hostname:$dev:none" + info "${iface} does not contain a valid iBFT configuration" + ls -l ${iface} | vinfo fi echo $mac > /tmp/net.${dev}.has_ibft_config done -- 2.47.3