udhcpc: specify full path for ip command calls
PATCH 1/1 udhcpc: specify full path for ip command calls
Running with a restricted environment (e.g. cron) was causing issues as we check for the ip command with full path and call without full path
--- meta/recipes-core/busybox/files/simple.script | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
meta/recipes-core/busybox/files/simple.script +4 -4
@@ -28,8 +28,8 @@ case "$1" in fi if ! root_is_nfs ; then if [ $have_bin_ip -eq 1 ]; then - ip addr flush dev $interface - ip link set dev $interface up + /sbin/ip addr flush dev $interface + /sbin/ip link set dev $interface up else /sbin/ifconfig $interface 0.0.0.0 fi
@@ -38,7 +38,7 @@ case "$1" in renew|bound) if [ $have_bin_ip -eq 1 ]; then - ip addr add dev $interface local $ip/$mask $BROADCAST + /sbin/ip addr add dev $interface local $ip/$mask $BROADCAST else /sbin/ifconfig $interface $ip $BROADCAST $NETMASK fi
@@ -59,7 +59,7 @@ case "$1" in metric=10 for i in $router ; do if [ $have_bin_ip -eq 1 ]; then - ip route add default via $i metric $metric + /sbin/ip route add default via $i metric $metric else route add default gw $i dev $interface metric $metric 2>/dev/null fi
Signature · 1 line
1.9.1
Quoted 3 lines · Mark O'Donovan
Running with a restricted environment (e.g. cron) was causing issues as we check for the ip command with full path and call without full path
This change should probably change the /sbin/ path in the script to a symbol and use sed to replace it with the expansion of ${sbindir} rather than hard-coding a path which isn't always correct.
Regards,
Joshua
Quoted 47 lines
---
meta/recipes-core/busybox/files/simple.script | 8 ++++----1 file changed, 4 insertions(+), 4 deletions(-)meta/recipes-core/busybox/files/simple.script +0
-0@@ -28,8 +28,8 @@ case "$1" infi
if !root_is_nfs; then
if [ $have_bin_ip -eq 1 ]; then - ip addr flush dev $interface - ip link set dev $interface up + /sbin/ip addr flush dev $interface + /sbin/ip link set dev $interface up else
/sbin/ifconfig $interface 0.0.0.0 fimeta/recipes-core/busybox/files/simple.script +0
-0@@ -38,7 +38,7 @@ case "$1" in
renew|bound)
if [ $have_bin_ip -eq 1 ]; then
- ip addr add dev $interface local $ip/$mask $BROADCAST
+ /sbin/ip addr add dev $interface local $ip/$mask $BROADCAST
else
/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
fimeta/recipes-core/busybox/files/simple.script +0
-0@@ -59,7 +59,7 @@ case "$1" inmetric=10
for i in $router ; do
if [ $have_bin_ip -eq 1 ]; then - ip route add default via $i metric $metric
+ /sbin/ip route add default via $i metric $metric
else
route add default gw $i dev $interface metric $metric 2>/dev/null
fi
--
1.9.1
PATCH v2 1/1 udhcpc: specify full path for ip command calls
--- meta/recipes-core/busybox/busybox.inc | 3 ++- meta/recipes-core/busybox/files/simple.script | 28 +++++++++++++-------------- 2 files changed, 16 insertions(+), 15 deletions(-)
meta/recipes-core/busybox/busybox.inc +2 -1
@@ -258,7 +258,8 @@ do_install () { if grep "CONFIG_UDHCPC=y" ${B}/.config; then install -d ${D}${sysconfdir}/udhcpc.d install -d ${D}${datadir}/udhcpc - install -m 0755 ${WORKDIR}/simple.script ${D}${sysconfdir}/udhcpc.d/50default + install -m 0755 ${WORKDIR}/simple.script ${D}${sysconfdir}/udhcpc.d/50default + sed -i "s:/SBIN_DIR/:${base_sbindir}/:" ${D}${sysconfdir}/udhcpc.d/50default install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script fi if grep "CONFIG_INETD=y" ${B}/.config; then
meta/recipes-core/busybox/files/simple.script +14 -14
@@ -14,7 +14,7 @@ root_is_nfs() { } have_bin_ip=0 -if [ -x /sbin/ip ]; then +if [ -x /SBIN_DIR/ip ]; then have_bin_ip=1 BROADCAST="broadcast +" fi
@@ -23,34 +23,34 @@ fi case "$1" in deconfig) - if [ -x /sbin/resolvconf ]; then - /sbin/resolvconf -d "${interface}.udhcpc" + if [ -x /SBIN_DIR/resolvconf ]; then + /SBIN_DIR/resolvconf -d "${interface}.udhcpc" fi if ! root_is_nfs ; then if [ $have_bin_ip -eq 1 ]; then - ip addr flush dev $interface - ip link set dev $interface up + /SBIN_DIR/ip addr flush dev $interface + /SBIN_DIR/ip link set dev $interface up else - /sbin/ifconfig $interface 0.0.0.0 + /SBIN_DIR/ifconfig $interface 0.0.0.0 fi fi ;; renew|bound) if [ $have_bin_ip -eq 1 ]; then - ip addr add dev $interface local $ip/$mask $BROADCAST + /SBIN_DIR/ip addr add dev $interface local $ip/$mask $BROADCAST else - /sbin/ifconfig $interface $ip $BROADCAST $NETMASK + /SBIN_DIR/ifconfig $interface $ip $BROADCAST $NETMASK fi if [ -n "$router" ] ; then if ! root_is_nfs ; then if [ $have_bin_ip -eq 1 ]; then - while ip route del default dev $interface 2>/dev/null ; do + while /SBIN_DIR/ip route del default dev $interface 2>/dev/null ; do : done else - while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do + while /SBIN_DIR/route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do : done fi
@@ -59,9 +59,9 @@ case "$1" in metric=10 for i in $router ; do if [ $have_bin_ip -eq 1 ]; then - ip route add default via $i metric $metric + /SBIN_DIR/ip route add default via $i metric $metric else - route add default gw $i dev $interface metric $metric 2>/dev/null + /SBIN_DIR/route add default gw $i dev $interface metric $metric 2>/dev/null fi metric=$(($metric + 1)) done
@@ -77,8 +77,8 @@ case "$1" in " done - if [ -x /sbin/resolvconf ]; then - echo -n "$R" | /sbin/resolvconf -a "${interface}.udhcpc" + if [ -x /SBIN_DIR/resolvconf ]; then + echo -n "$R" | /SBIN_DIR/resolvconf -a "${interface}.udhcpc" else echo -n "$R" > "$RESOLV_CONF" fi
Signature · 1 line
1.9.1