From 0e44773240e01476b2709f9d206b86d5dfecffcf Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Tue, 16 Sep 2008 10:02:51 +0200 Subject: https://bugzilla.redhat.com/show_bug.cgi?id=447928 All networking scripts from /etc/sysconfig/network-scripts call logger without full path. This can prevent system from booting if let's say dcc is installed when compiled with wrong parameters and installs /usr/sbin/logger (see bellow) It's not really a bug but this can be easily prevented. All /etc/init.d scripts use full path for logger network-scripts should use it also --- rc.d/init.d/netconsole | 2 +- sysconfig/network-scripts/ifdown-sl | 2 +- sysconfig/network-scripts/ifup | 6 +++--- sysconfig/network-scripts/ifup-ippp | 14 +++++++------- sysconfig/network-scripts/ifup-ppp | 10 +++++----- sysconfig/network-scripts/ifup-sl | 6 +++--- sysconfig/network-scripts/network-functions | 2 +- sysconfig/network-scripts/network-functions-ipv6 | 6 +++--- 8 files changed, 24 insertions(+), 24 deletions(-) diff --git a/rc.d/init.d/netconsole b/rc.d/init.d/netconsole index 3a29c96b..5f6c3020 100644 --- a/rc.d/init.d/netconsole +++ b/rc.d/init.d/netconsole @@ -85,7 +85,7 @@ start () SYSLOGOPTS="netconsole=$LOCALPORT@$LOCALADDR/$DEV,$SYSLOGPORT@$SYSLOGADDR/$SYSLOGMACADDR " - logger -p daemon.info -t netconsole: inserting netconsole module with arguments \ + /usr/bin/logger -p daemon.info -t netconsole: inserting netconsole module with arguments \ $SYSLOGOPTS if [ -n "$SYSLOGOPTS" ]; then action $"Initializing netconsole" modprobe netconsole \ diff --git a/sysconfig/network-scripts/ifdown-sl b/sysconfig/network-scripts/ifdown-sl index d7ec0fa6..0bd0342e 100755 --- a/sysconfig/network-scripts/ifdown-sl +++ b/sysconfig/network-scripts/ifdown-sl @@ -35,7 +35,7 @@ fi kill -KILL $PID > /dev/null 2>&1 if [ -d /proc/$PID ]; then - logger -p daemon.info -t ifdown-ppp "ifdown-ppp unable to kill pppd-$DEVICE" & + /usr/bin/logger -p daemon.info -t ifdown-ppp "ifdown-ppp unable to kill pppd-$DEVICE" & else /etc/sysconfig/network-scripts/ifdown-post $1 fi diff --git a/sysconfig/network-scripts/ifup b/sysconfig/network-scripts/ifup index 3553f45b..af214637 100755 --- a/sysconfig/network-scripts/ifup +++ b/sysconfig/network-scripts/ifup @@ -111,7 +111,7 @@ if [ -x /sbin/vconfig -a "${VLAN}" = "yes" -a "$ISALIAS" = "no" ]; then if [ ! -f /proc/net/vlan/${DEVICE} ]; then /sbin/vconfig add ${PHYSDEV} ${VID} || { - (logger -p daemon.info -t ifup \ + (/usr/bin/logger -p daemon.info -t ifup \ $"ERROR: could not add vlan ${VID} as ${DEVICE} on dev ${PHYSDEV}" &)& echo $"ERROR: could not add vlan ${VID} as ${DEVICE} on dev ${PHYSDEV}" exit 1 @@ -122,13 +122,13 @@ if [ -x /sbin/vconfig -a "${VLAN}" = "yes" -a "$ISALIAS" = "no" ]; then case "$REORDER_HDR" in yes|1) /sbin/vconfig set_flag ${DEVICE} 1 1 || { - (logger -p daemon.info -t ifup \ + (/usr/bin/logger -p daemon.info -t ifup \ "WARNING: vconfig not able to enable REORDER_HDR on ${DEVICE}" &)& } ;; no|0) /sbin/vconfig set_flag ${DEVICE} 1 0 || { - (logger -p daemon.info -t ifup \ + (/usr/bin/logger -p daemon.info -t ifup \ $"WARNING: vconfig not able to disable REORDER_HDR on ${DEVICE}" &)& } ;; diff --git a/sysconfig/network-scripts/ifup-ippp b/sysconfig/network-scripts/ifup-ippp index 628f8b0a..9e2f3376 100755 --- a/sysconfig/network-scripts/ifup-ippp +++ b/sysconfig/network-scripts/ifup-ippp @@ -30,20 +30,20 @@ fi # check that ipppd is available for syncppp if [ "$ENCAP" = "syncppp" ]; then if [ ! -x /usr/sbin/ipppd -a ! -x /sbin/ipppd ] ; then - logger -p daemon.info -t ifup-ippp "ipppd does not exist or is not executable" + /usr/bin/logger -p daemon.info -t ifup-ippp "ipppd does not exist or is not executable" exit 1 fi fi # check that isdnctrl is available if [ ! -x /usr/sbin/isdnctrl -a ! -x /sbin/isdnctrl ] ; then - logger -p daemon.info -t ifup-ippp "isdnctrl does not exist or is not executable" + /usr/bin/logger -p daemon.info -t ifup-ippp "isdnctrl does not exist or is not executable" exit 1 fi # check all ISDN devices if ! isdnctrl list all >/dev/null 2>&1 ; then - logger -p daemon.info -t ifup-ippp "cannot list ISDN devices" + /usr/bin/logger -p daemon.info -t ifup-ippp "cannot list ISDN devices" exit 1 fi @@ -52,12 +52,12 @@ isdnctrl list $DEVICE >/dev/null 2>&1 && exit 0 function log_echo() { - logger -p daemon.info -t ifup-ippp $"$*" + /usr/bin/logger -p daemon.info -t ifup-ippp $"$*" } function log_isdnctrl() { - logger -p daemon.info -t ifup-ippp isdnctrl $* + /usr/bin/logger -p daemon.info -t ifup-ippp isdnctrl $* isdnctrl $* >/dev/null 2>&1 || exit 1 } @@ -338,12 +338,12 @@ function addprovider() [ -n "$NETMASK" ] && netmask="netmask $NETMASK" # activate ISDN device - logger -p daemon.info -t ifup-ippp "ifconfig $DEVICE $IPADDR pointopoint $GATEWAY $netmask up" + /usr/bin/logger -p daemon.info -t ifup-ippp "ifconfig $DEVICE $IPADDR pointopoint $GATEWAY $netmask up" ifconfig $DEVICE $IPADDR pointopoint $GATEWAY $netmask up >/dev/null 2>&1 if [ "$ENCAP" = "syncppp" ]; then # start ipppd daemon - logger -p daemon.info -t ifup-ippp "ipppd $options $netmask" + /usr/bin/logger -p daemon.info -t ifup-ippp "ipppd $options $netmask" ipppd $options $netmask >/dev/null 2>&1 # start ibod daemon diff --git a/sysconfig/network-scripts/ifup-ppp b/sysconfig/network-scripts/ifup-ppp index cc462d57..3f8ea620 100755 --- a/sysconfig/network-scripts/ifup-ppp +++ b/sysconfig/network-scripts/ifup-ppp @@ -44,7 +44,7 @@ fi [ -x /sbin/pppd -o -x /usr/sbin/pppd ] || { echo $"pppd does not exist or is not executable" echo $"ifup-ppp for ${DEVICE} exiting" - logger -p daemon.info -t ifup-ppp \ + /usr/bin/logger -p daemon.info -t ifup-ppp \ $"pppd does not exist or is not executable for ${DEVICE}" exit 1 } @@ -55,7 +55,7 @@ if [ "$TYPE" = "xDSL" ] ; then adsl-start /etc/sysconfig/network-scripts/$CONFIG exit $? else - logger -p daemon.info -t ifup-ppp \ + /usr/bin/logger -p daemon.info -t ifup-ppp \ $"adsl-start does not exist or is not executable for ${DEVICE}" exit 1 fi @@ -76,12 +76,12 @@ if [ ! -f ${PEERCONF} ]; then [ -f ${CHATSCRIPT} ] || { echo $"/etc/sysconfig/network-scripts/chat-${DEVNAME} does not exist" echo $"ifup-ppp for ${DEVNAME} exiting" - logger -p daemon.info -t ifup-ppp \ + /usr/bin/logger -p daemon.info -t ifup-ppp \ $"/etc/sysconfig/network-scripts/chat-${DEVNAME} does not exist for ${DEVICE}" exit 1 } fi - logger -s -p daemon.notice -t ifup-ppp \ + /usr/bin/logger -s -p daemon.notice -t ifup-ppp \ $"Setting up a new ${PEERCONF} config file" if [ -f /etc/ppp/peers/${DEVICE} ]; then cp -f /etc/ppp/peers/${DEVICE} ${PEERCONF} @@ -141,7 +141,7 @@ else exec=exec fi -(logger -p daemon.info -t ifup-ppp \ +(/usr/bin/logger -p daemon.info -t ifup-ppp \ $"pppd started for ${DEVNAME} on ${MODEMPORT} at ${LINESPEED}" &)& $exec pppd $opts ${MODEMPORT} ${LINESPEED} \ diff --git a/sysconfig/network-scripts/ifup-sl b/sysconfig/network-scripts/ifup-sl index a9eae832..4db61641 100755 --- a/sysconfig/network-scripts/ifup-sl +++ b/sysconfig/network-scripts/ifup-sl @@ -31,7 +31,7 @@ fi [ -x /usr/sbin/dip ] || { echo $"/usr/sbin/dip does not exist or is not executable" echo $"ifup-sl for $DEVICE exiting" - logger -p daemon.info -t ifup-sl \ + /usr/bin/logger -p daemon.info -t ifup-sl \ $"/usr/sbin/dip does not exist or is not executable for $DEVICE" exit 1 } @@ -43,14 +43,14 @@ DIPSCRIPT=/etc/sysconfig/network-scripts/dip-$DEVNAME [ -f $DIPSCRIPT ] || { echo $"/etc/sysconfig/network-scripts/dip-$DEVICE does not exist" echo $"ifup-sl for $DEVICE exiting" - logger -p daemon.info -t ifup-sl \ + /usr/bin/logger -p daemon.info -t ifup-sl \ $"/etc/sysconfig/network-scripts/dip-$DEVICE does not exist for $DEVICE" exit 1 } while : ; do echo > /var/run/sl-$DEVICE.dev - (logger -p daemon.info -t ifup-sl \ + (/usr/bin/logger -p daemon.info -t ifup-sl \ $"dip started for $DEVICE on $MODEMPORT at $LINESPEED" &)& doexec /usr/sbin/dip dip-$DEVICE $DIPSCRIPT if [ "$PERSIST" != "yes" -o ! -f /var/run/sl-$DEVICE.dev ] ; then diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions index 5ff58089..f28831a6 100644 --- a/sysconfig/network-scripts/network-functions +++ b/sysconfig/network-scripts/network-functions @@ -405,7 +405,7 @@ change_resolv_conf () r=$? if [ $r -eq 0 ]; then [ -x /sbin/restorecon ] && /sbin/restorecon /etc/resolv.conf >/dev/null 2>&1 # reset the correct context - logger -p local7.notice -t "NET" -i "$0 : updated /etc/resolv.conf"; + /usr/bin/logger -p local7.notice -t "NET" -i "$0 : updated /etc/resolv.conf"; [ -e /var/lock/subsys/nscd ] && /usr/sbin/nscd -i hosts; # invalidate cache fi; return $r; diff --git a/sysconfig/network-scripts/network-functions-ipv6 b/sysconfig/network-scripts/network-functions-ipv6 index 698d3e6a..ea193c4b 100644 --- a/sysconfig/network-scripts/network-functions-ipv6 +++ b/sysconfig/network-scripts/network-functions-ipv6 @@ -138,14 +138,14 @@ ipv6_log() { ;; 'syslog') # note: logger resides in /usr/bin, but not used by default - if ! [ -x logger ]; then + if ! [ -x /usr/bin/logger ]; then echo $"ERROR: [ipv6_log] Syslog is chosen, but binary 'logger' doesn't exist or isn't executable" >/dev/stderr return 3 fi if [ -z "$txt_name" ]; then - logger -p $facility.$priority $message + /usr/bin/logger -p $facility.$priority $message else - logger -p $facility.$priority -t "$txt_name" "$message" + /usr/bin/logger -p $facility.$priority -t "$txt_name" "$message" fi ;; *) -- cgit v1.2.1