Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

13. Configuration Changes From Previous Release

			iscsi-initiator-utils-6.2.0.868-0.7.el5.i386.rpm: /etc/rc.d/init.d/iscsid
---  
+++  
@@ -59,9 +59,7 @@
 
 	echo -n $"Stopping iSCSI daemon: "
 
-	# iscsid does not have a nice shutdown process.
-	# It really should never be stopped
-	pkill -KILL iscsid
+	iscsiadm -k 0
 	echo
 
 	modprobe -r ib_iser 2>/dev/null
ypbind-1.19-8.el5.i386.rpm: /etc/rc.d/init.d/ypbind
---  
+++  
@@ -37,7 +37,7 @@
         [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled || return
 	allow_ypbind=0
 	.  /etc/selinux/config
-	if [ -e /etc/selinux/${SELINUXTYPE}/modules1/active/booleans.local ]; then
+	if [ -e /etc/selinux/${SELINUXTYPE}/modules/active/booleans.local ]; then
 		. /etc/selinux/${SELINUXTYPE}/modules/active/booleans.local
 	fi
 	if [ $allow_ypbind == 0 ]; then
@@ -52,6 +52,7 @@
 	   if [ -n "$NISDOMAIN" ]; then
 		action $"Setting NIS domain name $NISDOMAIN: " domainname $NISDOMAIN
 	   else
+		action $"Error: NIS domain name is not set." false
 	        exit 1
 	   fi
 	fi
@@ -112,7 +113,7 @@
 	  fi
 	fi
 	echo
-       	selinux_off
+       	#selinux_off
 	return $RETVAL
 }
 
udev-095-14.16.el5.i386.rpm: /etc/sysconfig/modules/udev-stw.modules
---  
+++  
@@ -1,4 +1,6 @@
 #!/bin/sh
-for i in nvram floppy parport lp snd-powermac;do
+MODULES="nvram floppy parport lp snd-powermac"
+[ -f /etc/sysconfig/udev-stw ] && . /etc/sysconfig/udev-stw
+for i in $MODULES ; do
         modprobe $i >/dev/null 2>&1
 done
dhcp-3.0.5-13.el5.i386.rpm: /etc/rc.d/init.d/dhcpd
---  
+++  
@@ -62,6 +62,11 @@
     [ -f $conf ] || return 6
     $dhcpd -q -t -cf $conf
     RETVAL=$?
+    if [ $RETVAL -eq 1 ]; then
+        $dhcpd -t -cf $conf
+    else
+        echo "Syntax: OK" >&2
+    fi
     return $RETVAL
 }
 
initscripts-8.45.19.EL-1.i386.rpm: /etc/rc.d/init.d/netconsole
---  
+++  
@@ -92,7 +92,7 @@
 
 	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 \
bind-9.3.4-6.P1.el5.i386.rpm: /etc/rc.d/init.d/named
---  
+++  
@@ -253,7 +253,7 @@
         fi
 	[ "$RETVAL" -eq 0 ] && success $"$named reload" || failure $"$named reload"
         echo
-	return $?
+	return $RETVAL
 }
 probe() {
 	# named knows how to reload intelligently; we don't want linuxconf
initscripts-8.45.19.EL-1.i386.rpm: /etc/sysconfig/network-scripts/ifup-ippp
---  
+++  
@@ -30,20 +30,20 @@
 # 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 @@
 
 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 @@
     [ -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
lynx-2.8.5-28.1.i386.rpm: /etc/lynx.cfg
---  
+++  
@@ -1026,7 +1026,7 @@
 # ====
 # Do not define this.
 #
-#TRUSTED_LYNXCGI:none
+TRUSTED_LYNXCGI:none
 
 
 .h2 LYNXCGI_ENVIRONMENT
nfs-utils-1.0.9-33.el5.i386.rpm: /etc/rc.d/init.d/rpcgssd
---  
+++  
@@ -28,19 +28,23 @@
 case "$1" in
   start|condstart)
 	# Check that networking is up.
-	[ "${NETWORKING}" = "no" ] && exit 6
+	[ "${NETWORKING}" != "yes" ] && exit 6
 	[ ! -x /usr/sbin/rpc.gssd ] && exit 5
-
-	# List of kernel modules to load
-	[ -z "${SECURE_NFS_MODS}" ] && SECURE_NFS_MODS="des rpcsec_gss_krb5"
 
 	# Make sure the daemon is not already running.
 	if status $prog > /dev/null ; then
 		exit 0
 	fi
+
+	# During condstart need to check again to see
+	# if we are configured to start
+	[ "${SECURE_NFS}" != "yes" ] && exit 6
+
 	rm -f $LOCKFILE
+	echo -n $"Starting RPC gssd: "
 
-	echo -n $"Starting RPC gssd: "
+	# List of kernel modules to load
+	[ -z "${SECURE_NFS_MODS}" ] && SECURE_NFS_MODS="des rpcsec_gss_krb5"
 
 	# Make sure the rpc_pipefs filesystem is available
 	[ "${RPCMTAB}" != "noload" ] && {
dovecot-1.0.7-2.el5.i386.rpm: /etc/rc.d/init.d/dovecot
---  
+++  
@@ -7,27 +7,61 @@
 # chkconfig: - 65 35
 # description: Dovecot Imap Server
 # processname: dovecot
+# config: /etc/dovecot.conf
+# config: /etc/sysconfig/dovecot
+# pidfile: /var/run/dovecot/master.pid
+
+### BEGIN INIT INFO
+# Provides: dovecot
+# Required-Start: $local_fs $network
+# Required-Stop: $local_fs $network
+# Should-Start: $remote_fs
+# Should-Stop: $remote_fs
+# Default-Start: 
+# Default-Stop: 0 1 2 3 4 5 6
+# Short-Description: start and stop Dovecot Imap server
+# Description: Dovecot is an IMAP server for Linux/UNIX-like systems,
+#              written with security primarily in mind.  It also contains
+#              a small POP3 server.
+### END INIT INFO
+
 # Source function library.
 . /etc/init.d/functions
 
-test -x /usr/sbin/dovecot || exit 0
+if [ -f /etc/sysconfig/dovecot ]; then
+    . /etc/sysconfig/dovecot
+fi
 
 RETVAL=0
 prog="Dovecot Imap"
+exec="/usr/sbin/dovecot"
+config="/etc/dovecot.conf"
+pidfile="/var/run/dovecot/master.pid"
+lockfile="/var/lock/subsys/dovecot"
 
 start() {
+	[ -x $exec ] || exit 5
+	[ -f $config ] || exit 6
+
         echo -n $"Starting $prog: "
-	daemon /usr/sbin/dovecot
+	daemon --pidfile $pidfile $exec $OPTIONS
 	RETVAL=$?
-	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dovecot
+	[ $RETVAL -eq 0 ] && touch  $lockfile
 	echo
 }
 
 stop() {
 	echo -n $"Stopping $prog: "
-	killproc /usr/sbin/dovecot
+	killproc -p $pidfile $exec
 	RETVAL=$?
-	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dovecot
+	[ $RETVAL -eq 0 ] && rm -f $lockfile
+	echo
+}
+
+reload() {
+	echo -n $"Reloading $prog: "
+	killproc -p $pidfile $exec -HUP
+	RETVAL=$?
 	echo
 }
 
@@ -41,24 +75,27 @@
   stop)
 	stop
 	;;
-  reload|restart)
+  reload)
+	reload
+	;;
+  force-reload|restart)
 	stop
 	start
 	RETVAL=$?
 	;;
-  condrestart)
-	if [ -f /var/lock/subsys/dovecot ]; then
+  condrestart|try-restart)
+	if [ -f $lockfile ]; then
 	    stop
 	    start
 	fi
 	;;
   status)
-	status /usr/sbin/dovecot
+	status -p $pidfile $exec
 	RETVAL=$?
 	;;
   *)
-	echo $"Usage: $0 {condrestart|start|stop|restart|reload|status}"
-	exit 1
+	echo $"Usage: $0 {condrestart|try-restart|start|stop|restart|reload|force-reload|status}"
+	exit 2
 esac
 
 exit $RETVAL
device-mapper-multipath-0.4.7-17.el5.i386.rpm: /etc/rc.d/init.d/multipathd
---  
+++  
@@ -4,7 +4,7 @@
 #
 # Starts the multipath daemon
 #
-# chkconfig: - 13 87
+# chkconfig: - 06 87
 # description: Manage device-mapper multipath devices
 # processname: multipathd
 
@@ -13,6 +13,7 @@
 initdir=/etc/rc.d/init.d
 lockdir=/var/lock/subsys
 sysconfig=/etc/sysconfig
+syspath=/sys/block
 
  
 system=redhat
@@ -25,6 +26,35 @@
 test -r $sysconfig/$prog && . $sysconfig/$prog
 
 RETVAL=0
+
+teardown_slaves()
+{
+cd $1; 
+if [ -d "slaves" ]; then
+for slave in slaves/*;
+do
+	if [ "$slave" = "slaves/*" ]; then
+		read dev <  $1/dev
+		tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p"`
+		if ! [ -z $tablename ]; then
+			echo "Root is on a multipathed device, multipathd can not be stopped"
+			exit 1
+		fi
+	else
+		local_slave=`readlink -f $slave`;
+		teardown_slaves $local_slave;
+	fi
+	done
+		
+else
+		read dev <  $1/dev
+		tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p"`
+		if ! [ -z $tablename ]; then
+			echo "Root is on a multipathed device, multipathd can not be stopped"
+			exit 1
+		fi
+fi
+}
 
 #
 # See how we were called.
@@ -40,6 +70,11 @@
 }
 
 stop() {
+        root_dev=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $1; }}' /etc/mtab)
+	dm_num=`dmsetup info -c --noheadings -o minor $root_dev`
+	root_dm_device="dm-$dm_num"
+	[ -d $syspath/$root_dm_device ] && teardown_slaves $syspath/$root_dm_device
+
 	echo -n $"Stopping $prog daemon: "
 	killproc $DAEMON
 	RETVAL=$?
initscripts-8.45.19.EL-1.i386.rpm: /etc/rc.d/rc6.d/S01reboot
---  
+++  
@@ -10,6 +10,9 @@
 
 NOLOCALE=1
 . /etc/init.d/functions
+
+UMOUNT="umount"
+[ ! -w /etc ] && UMOUNT="umount -n"
 
 action() {
    echo -n "$1 "
@@ -131,7 +134,7 @@
 # Try to unmount tmpfs filesystems to avoid swapping them in.  Ignore failures.
 tmpfs=$(awk '$2 ~ /^\/($|proc|dev)/ { next; }
 	     $3 == "tmpfs" { print $2; }' /proc/mounts | sort -r)
-[ -n "$tmpfs" ] && fstab-decode umount $tmpfs 2>/dev/null
+[ -n "$tmpfs" ] && fstab-decode $UMOUNT $tmpfs 2>/dev/null
 
 # Turn off swap, then unmount file systems.
 [ -f /proc/swaps ] && SWAPS=`awk '! /^Filename/ { print $1 }' /proc/swaps`
@@ -143,8 +146,6 @@
 	    backdev=$(/sbin/cryptsetup status "$dst" \
 		| awk '$1 == "device:" { print $2 }')
 	    /sbin/cryptsetup remove "$dst"
-	    # Leave partition with a blank plain-text swap
-	    mkswap "$backdev" > /dev/null
 	fi
     done
 fi
@@ -170,7 +171,7 @@
 	$"Unmounting file systems (retry): " \
 	-f
 
-[ -f /proc/bus/usb/devices ] && umount /proc/bus/usb
+[ -f /proc/bus/usb/devices ] && $UMOUNT /proc/bus/usb
 
 [ -f /etc/crypttab ] && \
     LANG=C action $"Stopping disk encryption: " halt_crypto
@@ -183,7 +184,7 @@
 awk '$2 !~ /\/(|dev|proc|selinux)$/ && $1 !~ /^\/dev\/ram/ { print $2 }' \
     /proc/mounts | sort -r | \
   while read line; do
-    fstab-decode umount -f $line
+    fstab-decode $UMOUNT -f $line
 done
 
 if [ -x /sbin/halt.local ]; then
alsa-lib-1.0.14-1.rc4.el5.i386.rpm: /etc/alsa/alsa.conf
---  
+++  
@@ -67,7 +67,7 @@
 defaults.pcm.ipc_perm 0600
 defaults.pcm.dmix.max_periods 0
 defaults.pcm.dmix.rate 48000
-defaults.pcm.dmix.format S16_LE
+defaults.pcm.dmix.format "unchanged"
 defaults.pcm.dmix.card defaults.pcm.card
 defaults.pcm.dmix.device defaults.pcm.device
 defaults.pcm.dsnoop.card defaults.pcm.card
@@ -94,6 +94,9 @@
 defaults.pcm.iec958.device defaults.pcm.device
 defaults.pcm.modem.card defaults.pcm.card
 defaults.pcm.modem.device defaults.pcm.device
+# truncate files via file or tee PCM
+defaults.pcm.file_format	"raw"
+defaults.pcm.file_truncate	true
 defaults.rawmidi.card 0
 defaults.rawmidi.device 0
 defaults.rawmidi.subdevice -1
@@ -124,6 +127,7 @@
 pcm.surround71 cards.pcm.surround71
 pcm.iec958 cards.pcm.iec958
 pcm.spdif iec958
+pcm.hdmi cards.pcm.hdmi
 pcm.dmix cards.pcm.dmix
 pcm.dsnoop cards.pcm.dsnoop
 pcm.modem cards.pcm.modem
@@ -262,12 +266,19 @@
 	}
 	@args.FORMAT {
 		type string
-		default raw
+		default {
+			@func refer
+			name defaults.pcm.file_format
+		}
 	}
 	type file
 	slave.pcm $SLAVE
 	file $FILE
 	format $FORMAT
+	truncate {
+		@func refer
+		name defaults.pcm.file_truncate
+	}
 }
 
 pcm.file {
@@ -277,12 +288,19 @@
 	}
 	@args.FORMAT {
 		type string
-		default raw
+		default {
+			@func refer
+			name defaults.pcm.file_format
+		}
 	}
 	type file
 	slave.pcm null
 	file $FILE
 	format $FORMAT
+	truncate {
+		@func refer
+		name defaults.pcm.file_truncate
+	}
 }
 
 pcm.null {
@@ -316,7 +334,7 @@
 }
 
 ctl.hw {
-	@args[ CARD ]
+	@args [ CARD ]
 	@args.CARD {
 		type string
 		default {
caching-nameserver-9.3.4-6.P1.el5.i386.rpm: /etc/named.caching-nameserver.conf
---  
+++  
@@ -18,8 +18,12 @@
 	dump-file 	"/var/named/data/cache_dump.db";
         statistics-file "/var/named/data/named_stats.txt";
         memstatistics-file "/var/named/data/named_mem_stats.txt";
-	query-source    port 53;	
-	query-source-v6 port 53;
+
+	// Those options should be used carefully because they disable port
+	// randomization
+	// query-source    port 53;	
+	// query-source-v6 port 53;
+
 	allow-query     { localhost; };
 };
 logging {
kexec-tools-1.102pre-21.el5.i386.rpm: /etc/rc.d/init.d/kdump
---  
+++  
@@ -26,6 +26,7 @@
 KDUMP_KERNELVER=""
 KDUMP_INITRDEXT=""
 KDUMP_COMMANDLINE=""
+KDUMP_IDE_NOPROBE_COMMANDLINE=""
 KEXEC_ARGS=""
 KDUMP_CONFIG_FILE="/etc/kdump.conf"
 
@@ -107,8 +108,15 @@
 	#check to see if config file or kdump post has been modified
 	#since last build of the image file
 	image_time=`stat -c "%Y" $kdump_initrd`
-	KDUMP_POST=`grep ^kdump_post $KDUMP_CONFIG_FILE | cut -d\  -f2`
-	files="$KDUMP_CONFIG_FILE $kdump_kernel $KDUMP_POST"
+	EXTRA_FILES=`grep ^kdump_post $KDUMP_CONFIG_FILE | cut -d\  -f2`
+	CHECK_FILE=`grep ^kdump_pre $KDUMP_CONFIG_FILE | cut -d\  -f2`
+	EXTRA_FILES="$EXTRA_FILES $CHECK_FILE"
+	CHECK_FILE=`grep ^extra_modules $KDUMP_CONFIG_FILE | cut -d\  -f2-`
+	EXTRA_FILES="$EXTRA_FILES $CHECK_FILE"
+	CHECK_FILE=`grep ^extra_bins $KDUMP_CONFIG_FILE | cut -d\  -f2-`
+	EXTRA_FILES="$EXTRA_FILES $CHECK_FILE"
+	FORCE_REBUILD=`grep ^extra_modules $KDUMP_CONFIG_FILE`
+	files="$KDUMP_CONFIG_FILE $kdump_kernel $EXTRA_FILES"
 	modified_files=""
 	for file in $files; do
 		time_stamp=0
@@ -123,9 +131,17 @@
 		fi
 	done
 
-	if [ -n "$modified_files" -a "$modified_files" != " " ]; then
-		echo "Detected change(s) the following file(s):"
-		echo -n "  "; echo "$modified_files" | sed 's/\s/\n  /g'
+	if [ -n "$FORCE_REBUILD" -a "$modified_files"!=" " ]
+	then
+		modified_files="force_rebuild"
+	fi
+
+	if [ -n "$modified_files" -a "$modified_files"!=" " ]; then
+		if [ "$modified_files" != "force_rebuild" ]
+		then
+			echo "Detected change(s) the following file(s):"
+			echo -n "  "; echo "$modified_files" | sed 's/\s/\n  /g'
+		fi
 		echo "Rebuilding $kdump_initrd"
 		/sbin/mkdumprd -d -f $kdump_initrd $kdump_kver
 		if [ $? != 0 ]; then
@@ -174,6 +190,33 @@
 		return 1
 	fi
 	return 0
+}
+
+function avoid_cdrom_drive()
+{
+	local DRIVE=""
+	local MEDIA=""
+	local IDE_DRIVES=(`echo hd{a,b,c,d}`)
+	local COUNTER="0"
+
+	for DRIVE in ${IDE_DRIVES[@]}
+	do
+		if ! $(echo "$KDUMP_COMMANDLINE" |grep -q "$DRIVE=");then
+			if [ -f /proc/ide/$DRIVE/media ];then
+				MEDIA=$(cat /proc/ide/$DRIVE/media)
+				if [ x"$MEDIA" == x"cdrom" ]; then
+					KDUMP_IDE_NOPROBE_COMMANDLINE="$KDUMP_IDE_NOPROBE_COMMANDLINE $DRIVE=cdrom"
+					COUNTER=$(($COUNTER+1))
+				fi
+			fi
+		else
+			KDUMP_IDE_NOPROBE_COMMANDLINE="$KDUMP_IDE_NOPROBE_COMMANDLINE $DRIVE=noprobe"
+		fi
+	done
+	# We don't find cdrom drive.
+	if [ $COUNTER -eq 0 ]; then
+		KDUMP_IDE_NOPROBE_COMMANDLINE=""
+	fi
 }
 
 # Load the kdump kerel specified in /etc/sysconfig/kdump
@@ -226,6 +269,8 @@
 
 	KDUMP_COMMANDLINE=`echo $KDUMP_COMMANDLINE | sed -e 's/crashkernel=[0-9]\+[MmKkGg]@[0-9]\+[MmGgKk]//'`
 	KDUMP_COMMANDLINE="${KDUMP_COMMANDLINE} ${KDUMP_COMMANDLINE_APPEND}"
+	avoid_cdrom_drive
+	KDUMP_COMMANDLINE="${KDUMP_COMMANDLINE} ${KDUMP_IDE_NOPROBE_COMMANDLINE}"
 
 	KEXEC_OUTPUT=`$KEXEC $KEXEC_ARGS $standard_kexec_args \
 		--command-line="$KDUMP_COMMANDLINE" \
@@ -364,13 +409,7 @@
 
 function do_final_action()
 {
-	FINAL_ACTION=`grep default $KDUMP_CONFIG_FILE | grep -vm1 ^\# \
-			| cut -d\  -f2`
-	if [[ $FINAL_ACTION != "halt" ]]; then
-		FINAL_ACTION="reboot"
-	fi
-
-	$FINAL_ACTION
+	reboot
 }
 
 case "$1" in
initscripts-8.45.19.EL-1.i386.rpm: /etc/rc.d/init.d/network
---  
+++  
@@ -171,7 +171,7 @@
   stop)
   	# Don't shut the network down if root is on NFS or a network
 	# block device.
-        rootfs=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $3; }}' /etc/mtab)
+        rootfs=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/" && $3 != "rootfs") { print $3; }}' /proc/mounts)
         rootopts=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $4; }}' /etc/mtab)
 	
 	if [[ "$rootfs" =~ "^nfs" ]] || [[ "$rootopts" =~ "_netdev|_rnetdev" ]] ; then
nfs-utils-1.0.9-33.el5.i386.rpm: /etc/rc.d/init.d/rpcidmapd
---  
+++  
@@ -24,7 +24,7 @@
 case "$1" in
   start|condstart)
 	# Check that networking is up.
-	[ "${NETWORKING}" = "no" ] && exit 6
+	[ "${NETWORKING}" != "yes" ] && exit 6
 
 	[ ! -x /usr/sbin/rpc.idmapd ] && exit 5
 
@@ -32,6 +32,11 @@
 	[ "$1" = "condstart" -a -n "`pidofproc $prog`" ] && {
 		killproc $prog "-SIGHUP" > /dev/null
 		exit 0
+	}
+	[ "$1" = "start" ] && {	
+		if status $prog > /dev/null ; then
+			exit 0
+		fi
 	}
 	rm -f $LOCKFILE
 
@@ -55,8 +60,6 @@
 			}
 		}
 	}
-
-	# Make sure the mount worked.
 
 	# Start daemon.
 	daemon $prog ${RPCIDMAPDARGS}
initscripts-8.45.19.EL-1.i386.rpm: /etc/sysconfig/network-scripts/ifup-sl
---  
+++  
@@ -31,7 +31,7 @@
 [ -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 @@
 [ -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
ypserv-2.19-3.i386.rpm: /var/yp/Makefile
---  
+++  
@@ -98,10 +98,18 @@
 YPSERVERS = $(YPDIR)/ypservers	# List of all NIS servers for a domain
 
 target: Makefile
+ifeq ($(shell /bin/domainname), (none))
+	@echo "Domain name cannot be (none)"
+else
+ifeq ($(shell /bin/domainname), )
+	@echo "Domain name must be set"
+else
 	@test ! -d $(LOCALDOMAIN) && mkdir $(LOCALDOMAIN) ; \
 	cd $(LOCALDOMAIN)  ; \
 	$(NOPUSH) || $(MAKE) -f ../Makefile ypservers; \
 	$(MAKE) -f ../Makefile all
+endif
+endif
 
 # If you don't want some of these maps built, feel free to comment
 # them out from this list.
initscripts-8.45.19.EL-1.i386.rpm: /etc/rc.d/init.d/netfs
---  
+++  
@@ -35,6 +35,8 @@
 # See how we were called.
 case "$1" in
   start)
+	# Let udev handle any backlog before trying to mount file systems
+	/sbin/udevsettle --timeout=30
         [ -n "$NFSFSTAB" ] && 
 	  {
 	    [ ! -f /var/lock/subsys/portmap ] && service portmap start
nfs-utils-1.0.9-33.el5.i386.rpm: /etc/rc.d/init.d/rpcsvcgssd
---  
+++  
@@ -27,12 +27,9 @@
 case "$1" in
   start|condstart)
 	# Check that networking is up.
-	[ "${NETWORKING}" = "no" ] && exit 6
+	[ "${NETWORKING}" != "yes" ] && exit 6
 	[ "${SECURE_NFS}" != "yes" ] && exit 6
 	[ ! -x /usr/sbin/rpc.svcgssd ] && exit 5
-
-	# List of kernel modules to load
-	[ -z "${SECURE_NFS_MODS}" ] && SECURE_NFS_MODS="des rpcsec_gss_krb5"
 
 	# Make sure the daemon is not already running.
 	if status $prog > /dev/null ; then
@@ -41,6 +38,9 @@
 	rm -f $LOCKFILE
 
 	echo -n $"Starting RPC svcgssd: "
+	# List of kernel modules to load
+	[ -z "${SECURE_NFS_MODS}" ] && SECURE_NFS_MODS="des rpcsec_gss_krb5"
+
 
 	# Make sure the rpc_pipefs filesystem is available
 	[ "${RPCMTAB}" != "noload" ] && {
openldap-servers-2.3.27-8.el5_1.3.i386.rpm: /etc/rc.d/init.d/ldap
---  
+++  
@@ -21,7 +21,7 @@
 
 # Source an auxiliary options file if we have one, and pick up OPTIONS,
 # SLAPD_OPTIONS, SLURPD_OPTIONS, SLAPD_LDAPS, SLAPD_LDAPI, and maybe
-# KRB5_KTNAME.
+# KRB5_KTNAME and SLURPD_KRB5CCNAME.
 if [ -r /etc/sysconfig/ldap ] ; then
 	. /etc/sysconfig/ldap
 fi
@@ -114,7 +114,7 @@
 		echo -n $"$file is not readable by \"$user\"" ; warning ; echo
 	fi
 	# Unaccessible TLS configuration files.
-	tlsconfigs=`LANG=C egrep '^(TLSCACertificateFile|TLSCertificateFile|TLSCertificateKeyFile)[[:space:]]' /etc/openldap/slapd.conf | awk '{print $2}'`
+	tlsconfigs=`LANG=C egrep '^(TLS_CACERT|TLSCACertificateFile|TLSCertificateFile|TLSCertificateKeyFile)[[:space:]]' /etc/openldap/slapd.conf /etc/openldap/ldap.conf | awk '{print $2}'`
 	for file in $tlsconfigs ; do
 		if ! testasuser $user -r $file ; then
 			echo -n $"$file is not readable by \"$user\"" ; warning ; echo
@@ -167,6 +167,9 @@
 	    if grep -q "^replogfile" /etc/openldap/slapd.conf; then
 		prog=`basename ${slurpd}`
 		echo -n $"Starting $prog: "
+		if [ -n "$SLURPD_KRB5CCNAME" ]; then
+			export KRB5CCNAME="$SLURPD_KRB5CCNAME";
+		fi
 		daemon ${slurpd} $OPTIONS $SLURPD_OPTIONS
 		RETVAL=$?
 		echo
initscripts-8.45.19.EL-1.i386.rpm: /etc/rc.d/rc.sysinit
---  
+++  
@@ -143,7 +143,7 @@
 	skip=""
 	# Parse the src field for UUID= and convert to real device names
 	if [ "${src%%=*}" == "UUID" ]; then
-		src=`/sbin/blkid -t "$src" -o device|(read oneline;echo $oneline)`
+		src=$(/sbin/blkid -t "$src" -l -o device)
 	elif [ "${src/^\/dev\/disk\/by-uuid\/}" != "$src" ]; then
 		src=$(__readlink $src)
 	fi
@@ -458,6 +458,13 @@
 	fi
 fi
 
+if [ -f /etc/crypttab ]; then
+	s=$"Starting disk encryption:"
+	echo "$s"
+	init_crypto 0 && success "$s" || failure "$s"
+	echo
+fi
+
 if [ -f /fastboot ] || strstr "$cmdline" fastboot ; then
 	fastboot=yes
 fi
@@ -533,7 +540,7 @@
 	mountopts=
 
 	# Scan partitions for local scratch storage
-	rw_mount_dev=$(blkid -t LABEL="$RW_LABEL" -o device | awk '{ print ; exit }')
+	rw_mount_dev=$(blkid -t LABEL="$RW_LABEL" -l -o device)
 
 	# First try to mount scratch storage from /etc/fstab, then any
 	# partition with the proper label.  If either succeeds, be sure
@@ -590,12 +597,12 @@
 
 	# First try to mount persistent data from /etc/fstab, then any
 	# partition with the proper label, then fallback to NFS
-	state_mount_dev=$(blkid -t LABEL="$STATE_LABEL" -o device | awk '{ print ; exit }')
-	if mount $mountopts "$STATE_MOUNT" > /dev/null 2>&1 ; then
+	state_mount_dev=$(blkid -t LABEL="$STATE_LABEL" -l -o device)
+	if mount $mountopts $STATE_OPTIONS "$STATE_MOUNT" > /dev/null 2>&1 ; then
 		/bin/true
 	elif [ x$state_mount_dev != x ] && mount $state_mount_dev $mountopts "$STATE_MOUNT" > /dev/null 2>&1;  then
 		/bin/true
-	elif [ -n "$CLIENTSTATE" ]; then
+	elif [ ! -z "$CLIENTSTATE" ]; then
 		# No local storage was found.  Make a final attempt to find 
 		# state on an NFS server.
 
@@ -730,23 +737,29 @@
    restorecon /etc/mtab /etc/ld.so.cache /etc/blkid/blkid.tab /etc/resolv.conf >/dev/null 2>&1
 fi
 
-# Clear mtab
-(> /etc/mtab) &> /dev/null
-
-# Remove stale backups
-rm -f /etc/mtab~ /etc/mtab~~
-
-# Enter mounted filesystems into /etc/mtab
-mount -f /
-mount -f /proc >/dev/null 2>&1
-mount -f /sys >/dev/null 2>&1
-mount -f /dev/pts >/dev/null 2>&1
-mount -f /proc/bus/usb >/dev/null 2>&1
+if [ "$READONLY" != "yes" ] ; then
+	# Clear mtab
+	(> /etc/mtab) &> /dev/null
+
+	# Remove stale backups
+	rm -f /etc/mtab~ /etc/mtab~~
+
+	# Enter mounted filesystems into /etc/mtab
+	mount -f /
+	mount -f /proc >/dev/null 2>&1
+	mount -f /sys >/dev/null 2>&1
+	mount -f /dev/pts >/dev/null 2>&1
+	mount -f /proc/bus/usb >/dev/null 2>&1
+fi
 
 # Mount all other filesystems (except for NFS and /proc, which is already
 # mounted). Contrary to standard usage,
 # filesystems are NOT unmounted in single user mode.
-action $"Mounting local filesystems: " mount -a -t nonfs,nfs4,smbfs,ncpfs,cifs,gfs -O no_netdev
+if [ "$READONLY" != "yes" ] ; then
+	action $"Mounting local filesystems: " mount -a -t nonfs,nfs4,smbfs,ncpfs,cifs,gfs -O no_netdev
+else
+	action $"Mounting local filesystems: " mount -a -n -t nfs4,smbfs,ncpfs,cifs,gfs -O no_netdev
+fi
 
 if [ -x /sbin/quotaon ]; then
     action $"Enabling local filesystem quotas: " /sbin/quotaon -aug
@@ -898,7 +911,7 @@
 action $"Enabling /etc/fstab swaps: " swapon -a -e
 if [ "$AUTOSWAP" = "yes" ]; then
 	curswap=$(awk '/^\/dev/ { print $1 }' /proc/swaps | while read x; do get_numeric_dev dec $x ; echo -n " "; done)
-	swappartitions=`blkid -t TYPE=swap -o device`
+	swappartitions=$(blkid -t TYPE=swap -o device)
 	if [ x"$swappartitions" != x ]; then
 		for partition in $swappartitions ; do
 			[ ! -e $partition ] && continue
initscripts-8.45.19.EL-1.i386.rpm: /etc/sysconfig/network-scripts/ifdown-sl
---  
+++  
@@ -35,7 +35,7 @@
 
 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
NetworkManager-0.6.4-8.el5.i386.rpm: /etc/rc.d/init.d/NetworkManager
---  
+++  
@@ -4,7 +4,7 @@
 #
 # chkconfig: - 98 02
 # description:  This is a daemon for automatically switching network \
-#               connections to the best available connection. \
+#               connections to the best available connection.
 #
 # processname: NetworkManager
 # pidfile: /var/run/NetworkManager/NetworkManager.pid
@@ -19,11 +19,11 @@
 # Sanity checks.
 [ -x $NETWORKMANAGER_BIN ] || exit 1
 
-# We need /sbin/ip
-[ -x /sbin/ip ] || exit 1
-
 # Source function library.
 . /etc/rc.d/init.d/functions
+
+# Source network configuration
+. /etc/sysconfig/network
 
 # so we can rearrange this easily
 processname=NetworkManager
@@ -34,17 +34,23 @@
 
 start()
 {
-	echo $"Setting network parameters... "
+	echo -n $"Setting network parameters... "
 	sysctl -e -p /etc/sysctl.conf >/dev/null 2>&1
-
-	if [ ! -e /var/lock/subsys/dhcdbd ]; then
-		service dhcdbd start
-	fi
+	success
+	echo
 
 	echo -n $"Starting NetworkManager daemon: "
-	daemon --check $servicename $processname --pid-file=$pidfile
+	daemon --check $servicename $processname --pid-file=$pidfile --ppp-dns-workaround
 	RETVAL=$?
 	echo
+	if [ -n "${NETWORKWAIT}" ]; then 
+		[ -z "${LINKDELAY}" ] && LINKDELAY=10
+		echo -n $"Waiting for network..."
+		nm-online -q --timeout=$LINKDELAY || nm-online -q -x --timeout=30
+		[ "$?" = "0" ] && success "network startup" || failure "network startup"
+		echo
+		[ -n "${NETWORKDELAY}" ] && /bin/sleep ${NETWORKDELAY}
+	fi
 	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$servicename
 }
 
initscripts-8.45.19.EL-1.i386.rpm: /etc/sysconfig/network-scripts/network-functions-ipv6
---  
+++  
@@ -138,14 +138,14 @@
 		;;
 	    '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
 		;;
 	    *)
nfs-utils-1.0.9-33.el5.i386.rpm: /etc/rc.d/init.d/nfs
---  
+++  
@@ -19,6 +19,9 @@
 # Check for and source configuration file otherwise set defaults
 [ -f /etc/sysconfig/nfs ] && . /etc/sysconfig/nfs
 
+# Remote quota server
+[ -z "$RQUOTAD" ] && RQUOTAD=`type -path rpc.rquotad`
+
 RETVAL=0
 
 # See how we were called.
@@ -26,11 +29,16 @@
   start)
 
 	# Check that networking is up.
-	[ "${NETWORKING}" = "no" ] && exit 6
+	[ "${NETWORKING}" != "yes" ] && exit 6
 
 	[ -x /usr/sbin/rpc.nfsd ] || exit 5
 	[ -x /usr/sbin/rpc.mountd ] || exit 5
 	[ -x /usr/sbin/exportfs ] || exit 5
+
+	# Make sure the rpc.mountd is not already running.
+	if status rpc.mountd > /dev/null ; then
+		exit 0
+	fi
 
 	# Don't fail if /etc/exports doesn't exist; create a bare-bones 
 	# version and continue.
@@ -42,9 +50,6 @@
 
 	# Number of servers to be started by default
 	[ -z "$RPCNFSDCOUNT" ] && RPCNFSDCOUNT=8
-
-	# Remote quota server
-	[ -z "$RQUOTAD" ] && RQUOTAD=`type -path rpc.rquotad`
 
 	# Start daemons.
 	[ -x /usr/sbin/rpc.svcgssd ] && /sbin/service rpcsvcgssd start
@@ -67,6 +72,12 @@
 		RETVAL=$?
 	    echo
 	fi
+
+	# Load preload module so arguments to rpc.nfsd will take effect
+	[ -n "$RPCNFSDARGS" -a "$NFSD_MODULE" != "noload" ] && {
+		[ -x /sbin/modprobe ] && /sbin/modprobe nfsd
+	}
+
 	echo -n $"Starting NFS daemon: "
 	daemon rpc.nfsd $RPCNFSDARGS $RPCNFSDCOUNT
 	RETVAL=$?
initscripts-8.45.19.EL-1.i386.rpm: /etc/sysconfig/network-scripts/network-functions
---  
+++  
@@ -28,7 +28,7 @@
 
 get_config_by_subchannel ()
 {
-    LANG=C grep -il "^[[:space:]]*SUBCHANNELS=${1}\([[:space:]#]\|$\|,\)" /etc/sysconfig/network-scripts/ifcfg-* \
+    LANG=C egrep -i -l  "^[[:space:]]*SUBCHANNELS=([0-9]\.[0-9]\.[a-f0-9]+,){0,2}${1}(,[0-9]\.[0-9]\.[a-f0-9]+){0,2}([[:space:]]+#|[[:space:]]*$)" /etc/sysconfig/network-scripts/ifcfg-* \
 	| LC_ALL=C sed -e "$__sed_discard_ignored_files"
 }
 
@@ -434,7 +434,7 @@
     (echo "$s" > /etc/resolv.conf;) >/dev/null 2>&1;
     r=$?
     if [ $r -eq 0 ]; then
-	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;
initscripts-8.45.19.EL-1.i386.rpm: /etc/rc.d/rc0.d/S01halt
---  
+++  
@@ -10,6 +10,9 @@
 
 NOLOCALE=1
 . /etc/init.d/functions
+
+UMOUNT="umount"
+[ ! -w /etc ] && UMOUNT="umount -n"
 
 action() {
    echo -n "$1 "
@@ -131,7 +134,7 @@
 # Try to unmount tmpfs filesystems to avoid swapping them in.  Ignore failures.
 tmpfs=$(awk '$2 ~ /^\/($|proc|dev)/ { next; }
 	     $3 == "tmpfs" { print $2; }' /proc/mounts | sort -r)
-[ -n "$tmpfs" ] && fstab-decode umount $tmpfs 2>/dev/null
+[ -n "$tmpfs" ] && fstab-decode $UMOUNT $tmpfs 2>/dev/null
 
 # Turn off swap, then unmount file systems.
 [ -f /proc/swaps ] && SWAPS=`awk '! /^Filename/ { print $1 }' /proc/swaps`
@@ -143,8 +146,6 @@
 	    backdev=$(/sbin/cryptsetup status "$dst" \
 		| awk '$1 == "device:" { print $2 }')
 	    /sbin/cryptsetup remove "$dst"
-	    # Leave partition with a blank plain-text swap
-	    mkswap "$backdev" > /dev/null
 	fi
     done
 fi
@@ -170,7 +171,7 @@
 	$"Unmounting file systems (retry): " \
 	-f
 
-[ -f /proc/bus/usb/devices ] && umount /proc/bus/usb
+[ -f /proc/bus/usb/devices ] && $UMOUNT /proc/bus/usb
 
 [ -f /etc/crypttab ] && \
     LANG=C action $"Stopping disk encryption: " halt_crypto
@@ -183,7 +184,7 @@
 awk '$2 !~ /\/(|dev|proc|selinux)$/ && $1 !~ /^\/dev\/ram/ { print $2 }' \
     /proc/mounts | sort -r | \
   while read line; do
-    fstab-decode umount -f $line
+    fstab-decode $UMOUNT -f $line
 done
 
 if [ -x /sbin/halt.local ]; then
initscripts-8.45.19.EL-1.i386.rpm: /etc/rc.d/init.d/halt
---  
+++  
@@ -10,6 +10,9 @@
 
 NOLOCALE=1
 . /etc/init.d/functions
+
+UMOUNT="umount"
+[ ! -w /etc ] && UMOUNT="umount -n"
 
 action() {
    echo -n "$1 "
@@ -131,7 +134,7 @@
 # Try to unmount tmpfs filesystems to avoid swapping them in.  Ignore failures.
 tmpfs=$(awk '$2 ~ /^\/($|proc|dev)/ { next; }
 	     $3 == "tmpfs" { print $2; }' /proc/mounts | sort -r)
-[ -n "$tmpfs" ] && fstab-decode umount $tmpfs 2>/dev/null
+[ -n "$tmpfs" ] && fstab-decode $UMOUNT $tmpfs 2>/dev/null
 
 # Turn off swap, then unmount file systems.
 [ -f /proc/swaps ] && SWAPS=`awk '! /^Filename/ { print $1 }' /proc/swaps`
@@ -143,8 +146,6 @@
 	    backdev=$(/sbin/cryptsetup status "$dst" \
 		| awk '$1 == "device:" { print $2 }')
 	    /sbin/cryptsetup remove "$dst"
-	    # Leave partition with a blank plain-text swap
-	    mkswap "$backdev" > /dev/null
 	fi
     done
 fi
@@ -170,7 +171,7 @@
 	$"Unmounting file systems (retry): " \
 	-f
 
-[ -f /proc/bus/usb/devices ] && umount /proc/bus/usb
+[ -f /proc/bus/usb/devices ] && $UMOUNT /proc/bus/usb
 
 [ -f /etc/crypttab ] && \
     LANG=C action $"Stopping disk encryption: " halt_crypto
@@ -183,7 +184,7 @@
 awk '$2 !~ /\/(|dev|proc|selinux)$/ && $1 !~ /^\/dev\/ram/ { print $2 }' \
     /proc/mounts | sort -r | \
   while read line; do
-    fstab-decode umount -f $line
+    fstab-decode $UMOUNT -f $line
 done
 
 if [ -x /sbin/halt.local ]; then
nfs-utils-1.0.9-33.el5.i386.rpm: /etc/rc.d/init.d/nfslock
---  
+++  
@@ -33,7 +33,7 @@
 RETVAL=0
 start() {
 	# Check that networking is up.
-	[ "${NETWORKING}" = "no" ] && exit 6
+	[ "${NETWORKING}" != "yes" ] && exit 6
 
 	if [ "$USERLAND_LOCKD" ] ; then
     	[ -x /sbin/rpc.lockd ] || exit 5
@@ -46,9 +46,12 @@
     	STATDARG=""
 	fi
 
-	if [ -f /var/lock/subsys/nfslock ]; then
-		return $RETVAL
+	# Make sure the rpc.statd is not already running.
+	if status rpc.statd > /dev/null ; then
+		exit 0
 	fi
+	rm -f /var/lock/subsys/nfslock
+
 	# Start daemons.
 	if [ "$USERLAND_LOCKD" ]; then
 	  echo -n $"Starting NFS locking: "
@@ -64,10 +67,14 @@
 			/sbin/sysctl -w fs.nfs.nlm_udpport=$LOCKD_UDPPORT >/dev/null 2>&1
 	fi  
 	echo -n $"Starting NFS statd: "
+	# Set statd's local hostname if defined
+	[ -n "${STATD_HOSTNAME}" ] && STATDARG="$STATDARG -n ${STATD_HOSTNAME}"
+
 	# See if a statd's ports has been defined
 	[ -n "$STATD_PORT" ] && STATDARG="$STATDARG -p $STATD_PORT"
 	[ -n "$STATD_OUTGOING_PORT" ] \
 		&& STATDARG="$STATDARG -o $STATD_OUTGOING_PORT"
+
 	# See if we have an HA-callout program specified
 	[ -n "$STATD_HA_CALLOUT" ] \
 		&& STATDARG="$STATDARG -H $STATD_HA_CALLOUT"
@@ -91,6 +98,7 @@
 	RETVAL=$?
 	echo
 	rm -f /var/lock/subsys/nfslock
+	rm -f /var/run/sm-notify.pid
 	return $RETVAL
 }
 
dbus-1.0.0-7.el5.i386.rpm: /etc/dbus-1/system.conf
---  
+++  
@@ -15,10 +15,16 @@
   <type>system</type>
 
   <!-- Run as special user -->
-  <user>81</user>
+  <user>dbus</user>
 
   <!-- Fork into daemon mode -->
   <fork/>
+
+  <!-- We use system service launching using a helper -->
+  <standard_system_servicedirs/>
+
+  <!-- This is a setuid helper that is used to launch system services -->
+  <servicehelper>/lib/dbus-1/dbus-daemon-launch-helper</servicehelper>
 
   <!-- Write a pid file -->
   <pidfile>/var/run/messagebus.pid</pidfile>
initscripts-8.45.19.EL-1.i386.rpm: /etc/sysconfig/network-scripts/ifup-eth
---  
+++  
@@ -105,9 +105,10 @@
 
 # slave device?
 if [ "${SLAVE}" = yes -a "${ISALIAS}" = no -a "${MASTER}" != "" ]; then
-    /sbin/ip link set dev ${DEVICE} down
-    echo "+${DEVICE}" > /sys/class/net/${MASTER}/bonding/slaves 2>/dev/null
-
+    grep -wq "${DEVICE}" /sys/class/net/${MASTER}/bonding/slaves || {
+	/sbin/ip link set dev ${DEVICE} down
+	echo "+${DEVICE}" > /sys/class/net/${MASTER}/bonding/slaves 2>/dev/null
+    }
     if [ -n "$ETHTOOL_OPTS" ] ; then
         /sbin/ethtool -s ${REALDEVICE} $ETHTOOL_OPTS
     fi
@@ -125,7 +126,7 @@
     for arg in $BONDING_OPTS ; do   
         key=${arg%%=*};
         value=${arg##*=};
-        if [ "${key}" = "arp_ip_target" ]; then
+        if [ "${key}" = "arp_ip_target" -a "${value:0:1}" != "+" ]; then
             OLDIFS=$IFS;
             IFS=',';
             for arp_ip in $value; do
initscripts-8.45.19.EL-1.i386.rpm: /etc/sysconfig/network-scripts/ifup-ppp
---  
+++  
@@ -44,7 +44,7 @@
 [ -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 @@
         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 @@
     [ -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 @@
   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} \
tog-pegasus-2.7.0-2.el5.i386.rpm: /etc/rc.d/init.d/tog-pegasus
---  
+++  
@@ -8,6 +8,8 @@
 CIMSERVER_BIN=/usr/sbin/cimserver
 prog=cimserver
 LOCKFILE=/var/lock/subsys/tog-pegasus
+LOCKFILE2=/var/run/tog-pegasus/cimserver_start.lock
+PIDFILE=/var/run/tog-pegasus/cimserver.pid
 . /etc/rc.d/init.d/functions
 
 [ -e /etc/sysconfig/tog-pegasus ] && . /etc/sysconfig/tog-pegasus;
@@ -75,6 +77,7 @@
 	    success;
 	else
 	    failure;
+	    RETVAL=7
 	fi
 	echo
 	;;
@@ -86,8 +89,16 @@
 	    echo -n $"CIM server ($pid) is running";
 	    RETVAL=0
 	else
-	    echo -n $"CIM server is not running";
-	    RETVAL=3
+	    if [ -e $PIDFILE ]; then
+                echo -n $"CIM server is not running and pid file exists";
+                RETVAL=1
+            elif [ -e $LOCKFILE ] || [ -e $LOCKFILE2 ]; then
+                echo -n $"CIM server is not running and lock file exists";
+                RETVAL=2
+            else
+              echo -n $"CIM server is not running";
+              RETVAL=3
+            fi
 	fi
 	echo
 	;;
udev-095-14.16.el5.i386.rpm: /etc/udev/rules.d/50-udev.rules
---  
+++  
@@ -174,7 +174,7 @@
 KERNEL=="mice",			NAME="input/%k"
 KERNEL=="mouse*",		NAME="input/%k"
 
-KERNEL=="event*", SYSFS{idVendor}=="03f0", SYSFS{device/interface}=="Virtual Mouse", SYSFS{device/bInterfaceProtocol}=="02", NAME="input/%k", SYMLINK+="input/hp_ilo_mouse"
+KERNEL=="event*", SYSFS{idVendor}=="03f0", SYSFS{device/interface}=="Virtual Mouse", SYSFS{device/bInterfaceProtocol}=="02", SYMLINK+="input/hp_ilo_mouse"
 
 KERNEL=="event*",		NAME="input/%k"
 KERNEL=="js*",			NAME="input/%k", SYMLINK+="%k"
@@ -220,13 +220,6 @@
 KERNEL=="pcd[0-9]*",		SYMLINK+="cdrom cdrom-%k"
 KERNEL=="fd[0-9]*",		SYMLINK+="floppy floppy-%k"
 
-# Section for zaptel device
-KERNEL=="zapctl",     		NAME="zap/ctl"
-KERNEL=="zaptimer",   		NAME="zap/timer"
-KERNEL=="zapchannel", 		NAME="zap/channel"
-KERNEL=="zappseudo",  		NAME="zap/pseudo"
-KERNEL=="zap[0-9]*",  		NAME="zap/%n"
-
 KERNEL=="pktcdvd", NAME="%k/control"
 
 KERNEL=="hd[a-z]", BUS=="ide", SYSFS{removable}=="1", \
@@ -291,12 +284,14 @@
 KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}=="", IMPORT{program}="/lib/udev/scsi_id -g -x -a -s %p -d $tempnode"
 KERNEL=="dasd*[!0-9]", IMPORT{program}="/lib/udev/dasd_id --export $tempnode"
 KERNEL=="nst[0-9]*|st*|sd*[!0-9]|sr*|dasd*[!0-9]|cciss?c", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
+KERNEL=="nst[0-9]*|st*|sd*[!0-9]|sr*|dasd*[!0-9]|cciss?c", ENV{ID_UID}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_UID}"
 
 # for partitions import parent information
 KERNEL=="sd*[0-9]|dasd*[0-9]", IMPORT{parent}=="ID_*"
 KERNEL=="cciss?c[0-9]d[0-9]", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id -g -x -s %p -d $tempnode", ENV{ID_BUS}="cciss"
 KERNEL=="cciss?c[0-9]d[0-9]", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id -g -x -a -s %p -d $tempnode", ENV{ID_BUS}="cciss"
 KERNEL=="sd*[0-9]|dasd*[0-9]|cciss*p[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
+KERNEL=="sd*[0-9]|dasd*[0-9]|cciss*p[0-9]", ENV{ID_UID}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_UID}-part%n"
 
 # by-path (shortest physical path)
 KERNEL=="*[!0-9]|sr*", ENV{ID_TYPE}=="?*", IMPORT{program}="/lib/udev/path_id %p", SYMLINK+="disk/by-path/$env{ID_PATH}"
dbus-1.0.0-7.el5.i386.rpm: /etc/dbus-1/session.conf
---  
+++  
@@ -14,12 +14,16 @@
 
   <policy context="default">
     <!-- Allow everything to be sent -->
-    <allow send_destination="*"/>
+    <allow send_destination="*" eavesdrop="true"/>
     <!-- Allow everything to be received -->
     <allow eavesdrop="true"/>
     <!-- Allow anyone to own anything -->
     <allow own="*"/>
   </policy>
+
+  <!-- Config files are placed here that among other things, 
+       further restrict the above policy for specific services. -->
+  <includedir>session.d</includedir>
 
   <!-- This is included last so local configuration can override what's 
        in this standard file -->
@@ -27,4 +31,27 @@
 
   <include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
 
+  <!-- For the session bus, override the default relatively-low limits 
+       with essentially infinite limits, since the bus is just running 
+       as the user anyway, using up bus resources is not something we need 
+       to worry about. In some cases, we do set the limits lower than 
+       "all available memory" if exceeding the limit is almost certainly a bug, 
+       having the bus enforce a limit is nicer than a huge memory leak. But the 
+       intent is that these limits should never be hit. -->
+
+  <!-- the memory limits are 1G instead of say 4G because they can't exceed 32-bit signed int max -->
+  <limit name="max_incoming_bytes">1000000000</limit>
+  <limit name="max_outgoing_bytes">1000000000</limit>
+  <limit name="max_message_size">1000000000</limit>
+  <limit name="service_start_timeout">120000</limit>  
+  <limit name="auth_timeout">240000</limit>
+  <limit name="max_completed_connections">100000</limit>  
+  <limit name="max_incomplete_connections">10000</limit>
+  <limit name="max_connections_per_user">100000</limit>
+  <limit name="max_pending_service_starts">10000</limit>
+  <limit name="max_names_per_connection">50000</limit>
+  <limit name="max_match_rules_per_connection">50000</limit>
+  <limit name="max_replies_per_connection">50000</limit>
+  <limit name="reply_timeout">300000</limit>
+
 </busconfig>