Skip to contentSkip to conversation

/sbin/ifcfg assumes ip, arping and rdisc are in $PATH

PATCH In review Marcela Maslanova 2 participants 2 messages Apr 25, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 /sbin/ifcfg assumes ip, arping and rdisc are in $PATH

Patch from Ville Skyttä.
/sbin/ifcfg assumes that ip, arping, and rdisc are in $PATH which is not the case eg. after "sudo -s" from a non-root user.

Signature · 2 lines
Marcela Mašláňová
BaseOS team Brno
ip/routel renamed from ip/routel~ +1 -1
diff -up iproute2-2.6.23/ip/routel~ iproute2-2.6.23/ip/routel
@@ -14,7 +14,7 @@ test "X-h" = "X$1" && echo "Usage: $0 [t
 
 test -z "$*" && set 0
 
-ip route list table "$@" |
+/sbin/ip route list table "$@" |
  while read network rest
  do set xx $rest
     shift
ip/ifcfg renamed from ip/ifcfg~ +14 -14
diff -up iproute2-2.6.23/ip/ifcfg~ iproute2-2.6.23/ip/ifcfg
@@ -15,7 +15,7 @@ CheckForwarding () {
 }
 
 RestartRDISC () {
-  killall -HUP rdisc || rdisc -fs
+  killall -HUP rdisc || /sbin/rdisc -fs
 }
 
 ABCMaskLen () {
@@ -56,7 +56,7 @@ stop)
     echo "Cannot stop alias $ldev" 1>&2
     exit 1;
   fi
-  ip -4 addr flush dev $dev $label || exit 1
+  /sbin/ip -4 addr flush dev $dev $label || exit 1
   if [ $fwd -eq 0 ]; then RestartRDISC; fi
   exit 0 ;;
 del*)
@@ -102,45 +102,45 @@ if [ "$ldev" = "$dev" -a "$ipaddr" != ""
 fi
 
 if [ $deleting -ne 0 ]; then
-  ip addr del $pfx dev $dev $label || exit 1
+  /sbin/ip addr del $pfx dev $dev $label || exit 1
   if [ $fwd -eq 0 ]; then RestartRDISC; fi
   exit 0
 fi
 
 
-if ! ip link set up dev $dev ; then
+if ! /sbin/ip link set up dev $dev ; then
   echo "Error: cannot enable interface $dev." 1>&2
   exit 1
 fi
 if [ "$ipaddr" = "" ]; then exit 0; fi
 
-if ! arping -q -c 2 -w 3 -D -I $dev $ipaddr ; then
+if ! /sbin/arping -q -c 2 -w 3 -D -I $dev $ipaddr ; then
   echo "Error: some host already uses address $ipaddr on $dev." 1>&2
   exit 1
 fi
 
-if ! ip address add $pfx brd + dev $dev $label; then
+if ! /sbin/ip address add $pfx brd + dev $dev $label; then
   echo "Error: failed to add $pfx on $dev." 1>&2
   exit 1
 fi
 
-arping -q -A -c 1 -I $dev $ipaddr
+/sbin/arping -q -A -c 1 -I $dev $ipaddr
 noarp=$?
 ( sleep 2 ;
-  arping -q -U -c 1 -I $dev $ipaddr ) >& /dev/null </dev/null &
+  /sbin/arping -q -U -c 1 -I $dev $ipaddr ) >& /dev/null </dev/null &
 
-ip route add unreachable 224.0.0.0/24 >& /dev/null
-ip route add unreachable 255.255.255.255 >& /dev/null
-if [ `ip link ls $dev | grep -c MULTICAST` -ge 1 ]; then
-  ip route add 224.0.0.0/4 dev $dev scope global >& /dev/null
+/sbin/ip route add unreachable 224.0.0.0/24 >& /dev/null
+/sbin/ip route add unreachable 255.255.255.255 >& /dev/null
+if [ `/sbin/ip link ls $dev | grep -c MULTICAST` -ge 1 ]; then
+  /sbin/ip route add 224.0.0.0/4 dev $dev scope global >& /dev/null
 fi
 
 if [ $fwd -eq 0 ]; then
   if [ $noarp -eq 0 ]; then
-    ip ro append default dev $dev metric 30000 scope global
+    /sbin/ip ro append default dev $dev metric 30000 scope global
   elif [ "$peer" != "" ]; then
     if ping -q -c 2 -w 4 $peer ; then
-      ip ro append default via $peer dev $dev metric 30001
+      /sbin/ip ro append default via $peer dev $dev metric 30001
     fi
   fi
   RestartRDISC
ip/routef renamed from ip/routef~ +1 -1
diff -up iproute2-2.6.23/ip/routef~ iproute2-2.6.23/ip/routef
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 if [ -z "$*" ] ; then
-	exec ip -4 ro flush  scope global  type unicast
+	exec /sbin/ip -4 ro flush  scope global  type unicast
 else
 	echo "Usage: routef"
 	echo
maintainer
#1 lore raw

From: Marcela Maslanova <[email protected]>
Date: Fri, 25 Apr 2008 12:05:26 +0200

Quoted 3 lines

Patch from Ville Skyttä.
/sbin/ifcfg assumes that ip, arping, and rdisc are in $PATH which is not the case eg. after "sudo -s" from a non-root user.

You patch assumes 'ip' was installed in /sbin :-)