policycoreutils/policycoreutils-rhat.patch
cvsdist a1449eece0 auto-import changelog data from policycoreutils-1.14.1-2.src.rpm
* Tue Jul 06 2004 Dan Walsh <dwalsh@redhat.com> 1.14.1-2
- Fix fixfiles.cron to not run on non SELinux boxes
2004-09-09 10:35:41 +00:00

155 lines
4.2 KiB
Diff

--- policycoreutils-1.14.1/scripts/Makefile.rhat 2004-06-30 12:03:27.000000000 -0400
+++ policycoreutils-1.14.1/scripts/Makefile 2004-06-30 13:14:42.000000000 -0400
@@ -12,6 +12,7 @@
-mkdir -p $(BINDIR)
install -m 755 $(TARGETS) $(BINDIR)
install -m 755 fixfiles $(DESTDIR)/sbin
+ install -D -m 755 fixfiles.cron $(DESTDIR)/etc/cron.daily/fixfiles.cron
-mkdir -p $(MANDIR)/man8
install -m 644 fixfiles.8.gz $(MANDIR)/man8/
--- policycoreutils-1.14.1/scripts/fixfiles.cron.rhat 2004-06-30 13:12:42.000000000 -0400
+++ policycoreutils-1.14.1/scripts/fixfiles.cron 2004-07-06 11:35:18.896372632 -0400
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+CRONTYPE="check"
+INVALIDFILE=/var/tmp/badcontext
+CRONMAILTO="root"
+
+if [ ! -e /etc/selinux/config ]; then
+ exit 1
+fi
+
+. /etc/selinux/config
+
+/usr/bin/selinuxenabled
+if [ $? -eq 0 ]; then
+ renice +19 -p $$ >/dev/null 2>&1
+ OUTFILE=`mktemp ${INVALIDFILE}.XXXXXXXXXX` || exit 1
+ /sbin/fixfiles -o $OUTFILE $CRONTYPE
+ mv -f $OUTFILE $INVALIDFILE
+ if [ -s $INVALIDFILE ]; then
+ mail ${MAILTO} -s "Invalid File Contexts" < $INVALIDFILE
+ fi
+fi
--- policycoreutils-1.14.1/scripts/fixfiles.rhat 2004-06-30 13:10:21.000000000 -0400
+++ policycoreutils-1.14.1/scripts/fixfiles 2004-06-30 13:11:46.000000000 -0400
@@ -19,25 +19,37 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Set global Variables
+#
+checkFlag=0
+restoreFlag=0
+relabelFlag=0
+fullFlag=0
+rpmFlag=0
+rpmFiles=""
+outfileFlag=0
+OUTFILES=""
+LOGFILE=`mktemp /var/tmp/fixfiles.XXXXXXXXXX` || exit 1
+SETFILES=/usr/sbin/setfiles
+FILESYSTEMS=`mount | grep -v "context=" | egrep -v '\((|.*,)bind(,.*|)\)' | awk '/(ext[23]| xfs | reiserfs ).*rw/{print $3}';`
SELINUXTYPE="targeted"
+
if [ -e /etc/selinux/config ]; then
. /etc/selinux/config
FC=/etc/selinux/${SELINUXTYPE}/contexts/files/file_contexts
else
FC=/etc/security/selinux/file_contexts
fi
-LOGFILE=`mktemp /var/tmp/fixfiles.XXXXXXXXXX` || exit 1
-SETFILES=/usr/sbin/setfiles
-FILESYSTEMS=`mount | grep -v "context=" | egrep -v '\((|.*,)bind(,.*|)\)' | awk '/(ext[23]| xfs | reiserfs ).*rw/{print $3}';`
checkLabels () {
echo "logging to $LOGFILE"
if [ ! -z "$1" ]; then
for i in `echo $1 | sed 's/,/ /g'`; do
- rpm -q -l $i | restorecon -n -v -f - 2>&1 | tee $LOGFILE
+ rpm -q -l $i | restorecon ${OUTFILES} -n -v -f - 2>&1 | tee $LOGFILE
done
else
- ${SETFILES} -v -n ${FC} ${FILESYSTEMS} 2>&1 | tee $LOGFILE
+ ${SETFILES} ${OUTFILES} -v -n ${FC} ${FILESYSTEMS} 2>&1 | tee $LOGFILE
fi
}
@@ -45,10 +57,10 @@
echo "logging to $LOGFILE"
if [ ! -z "$1" ]; then
for i in `echo $1 | sed 's/,/ /g'`; do
- rpm -q -l $i | restorecon -v -f - 2>&1 | tee $LOGFILE
+ rpm -q -l $i | restorecon ${OUTFILES} -v -f - 2>&1 | tee $LOGFILE
done
else
- ${SETFILES} -v ${FC} ${FILESYSTEMS} 2>&1 | tee $LOGFILE
+ ${SETFILES} ${OUTFILES} ${OUTFILES} -v ${FC} ${FILESYSTEMS} 2>&1 | tee $LOGFILE
fi
}
@@ -58,10 +70,10 @@
rm -rf /tmp/.??* /tmp/*
if [ ! -z "$1" ]; then
for i in `echo $1 | sed 's/,/ /g'`; do
- rpm -q -l $i | restorecon -v -f - 2>&1 | tee $LOGFILE
+ rpm -q -l $i | restorecon ${OUTFILES} -v -f - 2>&1 | tee $LOGFILE
done
else
- ${SETFILES} -v ${FC} ${FILESYSTEMS} 2>&1 | tee $LOGFILE
+ ${SETFILES} ${OUTFILES} -v ${FC} ${FILESYSTEMS} 2>&1 | tee $LOGFILE
fi
}
relabelCheck() {
@@ -81,16 +93,9 @@
}
usage() {
- echo $"Usage: $0 {-R rpmpackage[,rpmpackage...] |check|restore|[-F] relabel}"
+ echo $"Usage: $0 {-R rpmpackage[,rpmpackage...] [-l logfile ] [-o outputfile ] |check|restore|[-F] relabel}"
}
-checkFlag=0
-restoreFlag=0
-relabelFlag=0
-fullFlag=0
-rpmFlag=0
-rpmFiles=""
-
# See how we were called.
for i in $@; do
if [ $rpmFlag = 2 ]; then
@@ -98,6 +103,16 @@
rpmFlag=1
continue
fi
+if [ $outfileFlag = 2 ]; then
+ OUTFILES="-o $i"
+ outfileFlag=1
+ continue
+fi
+if [ $logfileFlag = 2 ]; then
+ LOGFILE="$i"
+ logfileFlag=1
+ continue
+fi
case "$i" in
check)
checkFlag=1
@@ -114,6 +129,12 @@
-R)
rpmFlag=2
;;
+ -o)
+ outfileFlag=2
+ ;;
+ -l)
+ logfileFlag=2
+ ;;
*)
usage
exit 1