summaryrefslogtreecommitdiffstats
path: root/sysconfig/network-scripts/network-functions
diff options
context:
space:
mode:
authorBill Nottingham <notting@redhat.com>2005-06-09 18:46:29 +0000
committerBill Nottingham <notting@redhat.com>2005-06-09 18:46:29 +0000
commit4b212bbf473a5715b13248512d9dddc4f75826b6 (patch)
tree2f27ee881bc13e5854615751ead58e31d33c69a1 /sysconfig/network-scripts/network-functions
parente5cd2486eb8efe45a8d9e7792835edcfdc614d7a (diff)
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.
Diffstat (limited to 'sysconfig/network-scripts/network-functions')
-rw-r--r--sysconfig/network-scripts/network-functions9
1 files changed, 7 insertions, 2 deletions
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)