* Thu Jun 22 2006 Dan Walsh <dwalsh@redhat.com> 1.30.14-5
- Add progress indicator on fixfiles/setfiles/restorecon
This commit is contained in:
parent
ec4979fbb1
commit
e414038b9a
@ -895,8 +895,43 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ms.po policycoreutils
|
||||
+
|
||||
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/restorecon/restorecon.c policycoreutils-1.30.14/restorecon/restorecon.c
|
||||
--- nsapolicycoreutils/restorecon/restorecon.c 2006-05-15 09:42:56.000000000 -0400
|
||||
+++ policycoreutils-1.30.14/restorecon/restorecon.c 2006-06-21 15:51:43.000000000 -0400
|
||||
@@ -185,7 +185,7 @@
|
||||
+++ policycoreutils-1.30.14/restorecon/restorecon.c 2006-06-22 14:07:15.000000000 -0400
|
||||
@@ -42,6 +42,7 @@
|
||||
|
||||
static int change=1;
|
||||
static int verbose=0;
|
||||
+static int progress=0;
|
||||
static FILE *outfile=NULL;
|
||||
static char *progname;
|
||||
static int errors=0;
|
||||
@@ -49,6 +50,7 @@
|
||||
static int force=0;
|
||||
#define STAT_BLOCK_SIZE 1
|
||||
static int pipe_fds[2] = { -1, -1 };
|
||||
+static unsigned long long count=0;
|
||||
|
||||
#define MAX_EXCLUDES 100
|
||||
static int excludeCtr=0;
|
||||
@@ -126,6 +128,18 @@
|
||||
security_context_t prev_context=NULL;
|
||||
struct stat st;
|
||||
char path[PATH_MAX+1];
|
||||
+
|
||||
+ if (progress) {
|
||||
+ count++;
|
||||
+ if (count % 80000 == 0) {
|
||||
+ fprintf(stdout, "\n");
|
||||
+ fflush(stdout);
|
||||
+ }
|
||||
+ if (count % 1000 == 0) {
|
||||
+ fprintf(stdout, "*");
|
||||
+ fflush(stdout);
|
||||
+ }
|
||||
+ }
|
||||
|
||||
if (excludeCtr > 0 && exclude(filename)) {
|
||||
return 0;
|
||||
@@ -185,7 +199,7 @@
|
||||
fprintf(stderr,"matchpathcon(%s) failed %s\n", filename,strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
@ -905,14 +940,38 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/restorecon/restorecon.c
|
||||
|
||||
if (retcontext >= 0 || errno == ENODATA) {
|
||||
int customizable=0;
|
||||
@@ -306,6 +306,7 @@
|
||||
@@ -306,8 +320,9 @@
|
||||
progname=argv[0];
|
||||
if (is_selinux_enabled() <= 0 )
|
||||
exit(0);
|
||||
+ set_matchpathcon_flags(MATCHPATHCON_NOTRANS);
|
||||
|
||||
while ((opt = getopt(argc, argv, "FrRnvf:o:e:")) > 0) {
|
||||
- while ((opt = getopt(argc, argv, "FrRnvf:o:e:")) > 0) {
|
||||
+ while ((opt = getopt(argc, argv, "pFrRnvf:o:e:")) > 0) {
|
||||
switch (opt) {
|
||||
case 'n':
|
||||
change = 0;
|
||||
@@ -332,8 +347,20 @@
|
||||
__fsetlocking(outfile, FSETLOCKING_BYCALLER);
|
||||
break;
|
||||
case 'v':
|
||||
+ if (progress) {
|
||||
+ fprintf(stderr, "Progress and Verbose mutually exclusive\n");
|
||||
+ usage(argv[0]);
|
||||
+ }
|
||||
+
|
||||
verbose++;
|
||||
break;
|
||||
+ case 'p':
|
||||
+ if (verbose) {
|
||||
+ fprintf(stderr, "Progress and Verbose mutually exclusive\n");
|
||||
+ usage(argv[0]);
|
||||
+ }
|
||||
+ progress = 1;
|
||||
+ break;
|
||||
case 'f':
|
||||
file = 1;
|
||||
file_name=optarg;
|
||||
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/restorecond/restorecond.c policycoreutils-1.30.14/restorecond/restorecond.c
|
||||
--- nsapolicycoreutils/restorecond/restorecond.c 2006-05-15 09:42:57.000000000 -0400
|
||||
+++ policycoreutils-1.30.14/restorecond/restorecond.c 2006-06-21 15:56:15.000000000 -0400
|
||||
@ -934,10 +993,107 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/restorecond/restorecond.
|
||||
master_fd = inotify_init ();
|
||||
if (master_fd < 0)
|
||||
exitApp("inotify_init");
|
||||
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/scripts/fixfiles policycoreutils-1.30.14/scripts/fixfiles
|
||||
--- nsapolicycoreutils/scripts/fixfiles 2006-06-16 15:08:24.000000000 -0400
|
||||
+++ policycoreutils-1.30.14/scripts/fixfiles 2006-06-22 14:21:55.000000000 -0400
|
||||
@@ -28,7 +28,7 @@
|
||||
DIRS=""
|
||||
RPMILES=""
|
||||
OUTFILES=""
|
||||
-LOGFILE=/dev/null
|
||||
+LOGFILE=`tty`
|
||||
SYSLOGFLAG="-l"
|
||||
LOGGER=/usr/sbin/logger
|
||||
SETFILES=/sbin/setfiles
|
||||
@@ -118,7 +118,7 @@
|
||||
fi
|
||||
if [ ! -z "$RPMFILES" ]; then
|
||||
for i in `echo $RPMFILES | sed 's/,/ /g'`; do
|
||||
- rpmlist $i | ${RESTORECON} ${OUTFILES} ${FORCEFLAG} -R $1 -v -f - 2>&1 >> $LOGFILE
|
||||
+ rpmlist $i | ${RESTORECON} ${OUTFILES} ${FORCEFLAG} -R $* -f - 2>&1 >> $LOGFILE
|
||||
done
|
||||
exit $?
|
||||
fi
|
||||
@@ -126,16 +126,16 @@
|
||||
if [ -x /usr/bin/find ]; then
|
||||
for d in ${DIRS} ; do find $d \
|
||||
! \( -fstype ext2 -o -fstype ext3 -o -fstype jfs -o -fstype xfs \) -prune -o -print | \
|
||||
- ${RESTORECON} ${OUTFILES} ${FORCEFLAG} $1 -v -f - 2>&1 >> $LOGFILE
|
||||
+ ${RESTORECON} ${OUTFILES} ${FORCEFLAG} $* -f - 2>&1 >> $LOGFILE
|
||||
done
|
||||
else
|
||||
- ${RESTORECON} ${OUTFILES} ${FORCEFLAG} -R $1 -v $DIRS 2>&1 >> $LOGFILE
|
||||
+ ${RESTORECON} ${OUTFILES} ${FORCEFLAG} -R $* $DIRS 2>&1 >> $LOGFILE
|
||||
fi
|
||||
|
||||
exit $?
|
||||
fi
|
||||
LogReadOnly
|
||||
-${SETFILES} ${OUTFILES} ${SYSLOGFLAG} ${FORCEFLAG} $1 -v ${FC} ${FILESYSTEMSRW} 2>&1 >> $LOGFILE
|
||||
+${SETFILES} ${OUTFILES} ${SYSLOGFLAG} ${FORCEFLAG} $* ${FC} ${FILESYSTEMSRW} 2>&1 >> $LOGFILE
|
||||
exit $?
|
||||
}
|
||||
|
||||
@@ -234,8 +234,8 @@
|
||||
# Make sure they specified one of the three valid commands
|
||||
#
|
||||
case "$command" in
|
||||
- restore) restore ;;
|
||||
- check) restore -n ;;
|
||||
+ restore) restore -p -q ;;
|
||||
+ check) restore -n -v ;;
|
||||
relabel) relabel;;
|
||||
*)
|
||||
usage
|
||||
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/setfiles/setfiles.c policycoreutils-1.30.14/setfiles/setfiles.c
|
||||
--- nsapolicycoreutils/setfiles/setfiles.c 2006-06-16 15:08:24.000000000 -0400
|
||||
+++ policycoreutils-1.30.14/setfiles/setfiles.c 2006-06-21 15:54:16.000000000 -0400
|
||||
@@ -301,7 +301,7 @@
|
||||
+++ policycoreutils-1.30.14/setfiles/setfiles.c 2006-06-22 14:32:43.000000000 -0400
|
||||
@@ -20,6 +20,7 @@
|
||||
* -d Show what specification matched each file.
|
||||
* -l Log changes in files labels to syslog.
|
||||
* -n Do not change any file labels.
|
||||
+ * -p Show progress. Prints * for every 1000 files
|
||||
* -q Be quiet (suppress non-error output).
|
||||
* -r Use an alternate root path
|
||||
* -s Use stdin for a list of files instead of searching a partition.
|
||||
@@ -88,6 +89,8 @@
|
||||
static int force=0;
|
||||
#define STAT_BLOCK_SIZE 1
|
||||
static int pipe_fds[2] = { -1, -1 };
|
||||
+static int progress=0;
|
||||
+static unsigned long long count=0;
|
||||
|
||||
#define MAX_EXCLUDES 100
|
||||
static int excludeCtr=0;
|
||||
@@ -208,7 +211,7 @@
|
||||
void usage(const char * const name)
|
||||
{
|
||||
fprintf(stderr,
|
||||
- "usage: %s [-dnqvW] [-o filename] [-r alt_root_path ] spec_file pathname...\n"
|
||||
+ "usage: %s [-dnpqvW] [-o filename] [-r alt_root_path ] spec_file pathname...\n"
|
||||
"usage: %s -c policyfile spec_file\n"
|
||||
"usage: %s -s [-dnqvW] [-o filename ] spec_file\n", name, name, name);
|
||||
exit(1);
|
||||
@@ -278,6 +281,18 @@
|
||||
/* No matching specification. */
|
||||
return 0;
|
||||
|
||||
+ if (progress) {
|
||||
+ count++;
|
||||
+ if (count % 80000 == 0) {
|
||||
+ fprintf(stdout, "\n");
|
||||
+ fflush(stdout);
|
||||
+ }
|
||||
+ if (count % 1000 == 0) {
|
||||
+ fprintf(stdout, "*");
|
||||
+ fflush(stdout);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* Try to add an association between this inode and
|
||||
* this specification. If there is already an association
|
||||
@@ -301,7 +316,7 @@
|
||||
}
|
||||
|
||||
/* Get the current context of the file. */
|
||||
@ -946,7 +1102,16 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/setfiles/setfiles.c poli
|
||||
if (ret < 0) {
|
||||
if (errno == ENODATA) {
|
||||
context = NULL;
|
||||
@@ -485,7 +485,7 @@
|
||||
@@ -414,7 +429,7 @@
|
||||
|
||||
if (policyfile) {
|
||||
valid = (sepol_check_context (context) >= 0);
|
||||
- } else if (security_canonicalize_context(context, &tmpcon) < 0) {
|
||||
+ } else if (security_canonicalize_context_raw(context, &tmpcon) < 0) {
|
||||
if (errno != ENOENT) {
|
||||
valid = 0;
|
||||
inc_err();
|
||||
@@ -485,10 +500,10 @@
|
||||
memset(excludeArray,0, sizeof(excludeArray));
|
||||
|
||||
/* Validate all file contexts during matchpathcon_init. */
|
||||
@ -954,7 +1119,31 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/setfiles/setfiles.c poli
|
||||
+ set_matchpathcon_flags(MATCHPATHCON_VALIDATE | MATCHPATHCON_NOTRANS);
|
||||
|
||||
/* Process any options. */
|
||||
while ((opt = getopt(argc, argv, "Fc:dlnqrsvWe:o:")) > 0) {
|
||||
- while ((opt = getopt(argc, argv, "Fc:dlnqrsvWe:o:")) > 0) {
|
||||
+ while ((opt = getopt(argc, argv, "Fc:dlnpqrsvWe:o:")) > 0) {
|
||||
switch (opt) {
|
||||
case 'c':
|
||||
{
|
||||
@@ -566,8 +581,19 @@
|
||||
add_assoc = 0;
|
||||
break;
|
||||
case 'v':
|
||||
+ if (progress) {
|
||||
+ fprintf(stderr, "Progress and Verbose mutually exclusive\n");
|
||||
+ exit(1);
|
||||
+ }
|
||||
verbose++;
|
||||
break;
|
||||
+ case 'p':
|
||||
+ if (verbose) {
|
||||
+ fprintf(stderr, "Progress and Verbose mutually exclusive\n");
|
||||
+ usage(argv[0]);
|
||||
+ }
|
||||
+ progress = 1;
|
||||
+ break;
|
||||
case 'W':
|
||||
warn_no_match = 1;
|
||||
break;
|
||||
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/setsebool/setsebool.8 policycoreutils-1.30.14/setsebool/setsebool.8
|
||||
--- nsapolicycoreutils/setsebool/setsebool.8 2006-05-15 09:42:58.000000000 -0400
|
||||
+++ policycoreutils-1.30.14/setsebool/setsebool.8 2006-06-19 10:32:36.000000000 -0400
|
||||
|
@ -5,7 +5,7 @@
|
||||
Summary: SELinux policy core utilities.
|
||||
Name: policycoreutils
|
||||
Version: 1.30.14
|
||||
Release: 4
|
||||
Release: 5
|
||||
License: GPL
|
||||
Group: System Environment/Base
|
||||
Source: http://www.nsa.gov/selinux/archives/policycoreutils-%{version}.tgz
|
||||
@ -111,6 +111,9 @@ rm -rf %{buildroot}
|
||||
[ -x /sbin/service ] && /sbin/service restorecond condrestart
|
||||
|
||||
%changelog
|
||||
* Thu Jun 22 2006 Dan Walsh <dwalsh@redhat.com> 1.30.14-5
|
||||
- Add progress indicator on fixfiles/setfiles/restorecon
|
||||
|
||||
* Wed Jun 21 2006 Dan Walsh <dwalsh@redhat.com> 1.30.14-4
|
||||
- Don't use translations with matchpathcon
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user