diff mbox

libselinux: log no default label warning in verbose mode

Message ID CAB9W1A1s20MMUyA5cgJteNA+r4V1Wo1VvWvaDj5M-ZSyR=o-8Q@mail.gmail.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Stephen Smalley Sept. 12, 2017, 4:04 p.m. UTC
On Sep 11, 2017 3:45 AM, "Christian Göttsche via Selinux" <
selinux@tycho.nsa.gov> wrote:

Since 1cd972f restorecon does not print a warning in recurse mode for child
files without a default label.
Change it back in verbose mode:

$ touch /run/test.pid
$ restorecon -R /run
$ restorecon -v -R /run
Warning no default label for /run/test.pid


This seems to revert what was an intentional change to avoid noise in
fixfiles check output. See the mailing list discussions that preceded and
followed the patch.


Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
---
 libselinux/src/selinux_restorecon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

                                    "Warning no default label for %s\n",
                                    lookup_path);
--
2.14.1

Comments

Christian Göttsche Sept. 12, 2017, 7:49 p.m. UTC | #1
> This seems to revert what was an intentional change to avoid noise in
> fixfiles check output. See the mailing list discussions that preceded and
> followed the patch.


In my opinion, it's a helpful noise, which is triggered by an intended
file context `<<none>>`.
Is there any hack to get the old behavior back other than `find /run
-exec restorecon -n {} \;`?
Stephen Smalley Sept. 12, 2017, 10:09 p.m. UTC | #2
On Sep 12, 2017 12:49 PM, "Christian Göttsche" <cgzones@googlemail.com>
wrote:

> This seems to revert what was an intentional change to avoid noise in
> fixfiles check output. See the mailing list discussions that preceded and
> followed the patch.


In my opinion, it's a helpful noise, which is triggered by an intended
file context `<<none>>`.
Is there any hack to get the old behavior back other than `find /run
-exec restorecon -n {} \;`?


Why is that helpful/useful? It seems counterintuitive to warn the user that
you didn't label a file that was explicitly configured to not be labeled.
The only case where it makes sense is if the user explicitly requested to
label that particular file.
diff mbox

Patch

diff --git a/libselinux/src/selinux_restorecon.c b/libselinux/src/selinux_
restorecon.c
index ced41152..6d0eabe0 100644
--- a/libselinux/src/selinux_restorecon.c
+++ b/libselinux/src/selinux_restorecon.c
@@ -614,7 +614,7 @@  static int restorecon_sb(const char *pathname, const
struct stat *sb,
                                                    sb->st_mode);

        if (rc < 0) {
-               if (errno == ENOENT && flags->warnonnomatch)
+               if (errno == ENOENT && (flags->verbose ||
flags->warnonnomatch))
                        selinux_log(SELINUX_INFO,