All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/6] Revert "policycoreutils: let output of `fixfiles` be redirected (as normal)"
@ 2017-05-04 17:01 Alan Jenkins
  2017-05-04 17:01 ` [PATCH 2/6] policycoreutils: fixfiles: remove (broken) redundant code Alan Jenkins
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Alan Jenkins @ 2017-05-04 17:01 UTC (permalink / raw)
  To: selinux; +Cc: Alan Jenkins

This reverts commit ac7899fc3ad6221e195dd13cdf14b346897314ae,
which is not yet part of an officially tagged release
(or release candidate).

`LOGFILE=/proc/self/fd/1` was wrong.

`LOGFILE=$(tty)` was being relied on in one case (exclude_dirs),
to log messages from a function run specifically with stdout redirected
(captured into a variable).

Having `logit "message"` break inside redirected functions
is a nasty leaky abstraction.

This caused e.g. `fixfiles restore` to terminate early with the error

    skipping: No such file or directory

if the user had configured any excluded paths in
/etc/selinux/fixfiles_exclude_dirs
---
 policycoreutils/scripts/fixfiles | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/policycoreutils/scripts/fixfiles b/policycoreutils/scripts/fixfiles
index bc74d69..75d7762 100755
--- a/policycoreutils/scripts/fixfiles
+++ b/policycoreutils/scripts/fixfiles
@@ -119,7 +119,11 @@ VERBOSE="-p"
 FORCEFLAG=""
 DIRS=""
 RPMILES=""
-LOGFILE=/proc/self/fd/1
+LOGFILE=`tty`
+if [ $? != 0 ]; then
+    LOGFILE="/dev/null"
+fi
+LOGGER=/usr/sbin/logger
 SETFILES=/sbin/setfiles
 RESTORECON=/sbin/restorecon
 FILESYSTEMSRW=`get_rw_labeled_mounts`
@@ -134,11 +138,11 @@ else
 fi
 
 #
-# Write to LOGFILE
+# Log to either syslog or a LOGFILE
 #
 logit () {
 if [ -n $LOGFILE ]; then
-    echo $1 >> "$LOGFILE"
+    echo $1 >> $LOGFILE
 fi
 }
 #
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2017-05-05 17:31 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-04 17:01 [PATCH 1/6] Revert "policycoreutils: let output of `fixfiles` be redirected (as normal)" Alan Jenkins
2017-05-04 17:01 ` [PATCH 2/6] policycoreutils: fixfiles: remove (broken) redundant code Alan Jenkins
2017-05-04 17:01 ` [PATCH 3/6] policycoreutils: fixfiles: clarify exclude_dirs() Alan Jenkins
2017-05-04 17:01 ` [PATCH 4/6] policycoreutils: fixfiles: fix logging about R/O filesystems Alan Jenkins
2017-05-04 17:01 ` [PATCH 5/6] policycoreutils: fixfiles: move logit call outside of redirected function Alan Jenkins
2017-05-04 17:01 ` [PATCH 6/6] policycoreutils: fixfiles: deprecate -l option Alan Jenkins
2017-05-04 17:28 ` [PATCH 1/6] Revert "policycoreutils: let output of `fixfiles` be redirected (as normal)" Dominick Grift
2017-05-04 17:32   ` Dominick Grift
2017-05-05 17:31 ` James Carter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.