From 33e1c3a3f197409cedfc925c4ddd2db66881eb50 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Fri, 6 Oct 2017 13:23:09 +0200 Subject: [PATCH] Adjust netGetNetmask for new net-tools output, switch netGetIp from ifconfig to ip ifconfig from net-tools until 1.60-27 looked like: lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:74133 errors:0 dropped:0 overruns:0 frame:0 TX packets:74133 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:7122434 (6.7 MiB) TX bytes:7122434 (6.7 MiB) Starting with net-tools 1.60+git20150829.73cef8a-1 it looks like: lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 So we need to adjust ifconfig parsing accordingly. There's no need to use ifconfig for netGetIp, so switch to ip(8) while at it. Thanks: karlh1 + Patrick Neumann for the bug report Closes grml/grml#65 --- sh-lib | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sh-lib b/sh-lib index 1975585..e87b9cb 100644 --- a/sh-lib +++ b/sh-lib @@ -515,7 +515,11 @@ netGetNetmask() local ret_='' setCLang - nm_=`ifconfig "$iface_" | awk '/[Mm]ask/{FS="[: ]*"; $0=$0; print $8; exit}'` + if ifconfig "$iface_" | grep -qi 'Mask:' ; then # old ifconfig output: + nm_=$(ifconfig "$iface_" | awk '/[Mm]ask/{FS="[: ]*"; $0=$0; print $8; exit}') + else # new ifconfig output (net-tools >1.60-27): + nm_=$(ifconfig "$iface_" | awk '/netmask/{print $4}') + fi ret_=$? restoreLang if [ -z "$nm_" ]; then @@ -542,8 +546,7 @@ netGetIp() local ret_="" setCLang - #ip_=`ip addr list eth0 |mawk '/inet/{split($2,A,"/"); print A[1]}'` - ip_=`ifconfig "$iface_" | awk '/[Ii]net [Aa]ddr/{FS="[: ]*"; $0=$0; print $4; exit}'` + ip_=$(ip addr show dev "$iface_" | awk '/inet /{split($2,a,"/"); print a[1]}') ret_=$? restoreLang if [ -z "$ip_" ]; then -- 2.1.4