From 4b212bbf473a5715b13248512d9dddc4f75826b6 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 9 Jun 2005 18:46:29 +0000 Subject: fix grep to always match the full hwaddr, as opposed to matching '0' against '00:AA:BB:CC:DD:EE'. Take into account lines that end with spaces, or with "# this is a comment", too. Also, put the grep in only one place instead of 3. Fixes #157252, #153669. --- sysconfig/network-scripts/network-functions | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'sysconfig/network-scripts/network-functions') diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions index 2377a461..0496cad5 100644 --- a/sysconfig/network-scripts/network-functions +++ b/sysconfig/network-scripts/network-functions @@ -14,6 +14,11 @@ get_hwaddr () awk '{ print toupper($0) }' } +get_config_by_hwaddr () +{ + LANG=C grep -il "^[[:space:]]*HWADDR=${1}\([[:space:]]\+\|#\+\|$\)" /etc/sysconfig/network-scripts/ifcfg-* +} + need_config () { CONFIG="ifcfg-${1}" @@ -22,7 +27,7 @@ need_config () [ -f "${CONFIG}" ] && return local addr=`get_hwaddr ${1}` if [ -n "$addr" ]; then - local nconfig=`LANG=C grep -il "^[[:space:]]*HWADDR=$addr" /etc/sysconfig/network-scripts/ifcfg-*` + local nconfig=`get_config_by_hwaddr ${addr}` if [ -n "$nconfig" ] ; then CONFIG=$nconfig [ -f "${CONFIG}" ] && return @@ -156,7 +161,7 @@ rename_device() { /sbin/nameif "$1" "$2" || { local hw2=`get_hwaddr ${1}` - local nconfig=`LANG=C grep -il "^[[:space:]]*HWADDR=$hw2" /etc/sysconfig/network-scripts/ifcfg-*` + local nconfig=`get_config_by_hwaddr ${hw2}` local dev= if [ -n "$nconfig" ]; then dev=$(. $nconfig ; echo $DEVICE) -- cgit