[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[coreutils] [PATCHv2] stat: print SELinux context when available
From: |
Eric Blake |
Subject: |
[coreutils] [PATCHv2] stat: print SELinux context when available |
Date: |
Fri, 1 Oct 2010 11:59:47 -0600 |
* src/stat.c (default_format): Include context when present.
* NEWS: Update blurb explaining the replacement for -Z.
---
Definitely nicer than the first attempt, but still controversial on
whether we want to do this at all. I'm 70:30 for (I use Fedora's stat
-Z regularly, and would hate to make Fedora have to maintain it's -Z
patch in perpetuity).
NEWS | 5 ++++-
src/stat.c | 45 +++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 47 insertions(+), 3 deletions(-)
diff --git a/NEWS b/NEWS
index dd8a18b..719ac9c 100644
--- a/NEWS
+++ b/NEWS
@@ -75,7 +75,10 @@ GNU coreutils NEWS -*-
outline -*-
stat no longer accepts the --context (-Z) option. Initially it was
merely accepted and ignored, for compatibility. Starting two years
- ago, with coreutils-7.0, its use evoked a warning.
+ ago, with coreutils-7.0, its use evoked a warning. Printing the
+ SELinux context can be done with the %C format directive, and the
+ default output when no format is specified now automatically
+ includes %C when context information is available.
stat now outputs the full sub-second resolution for the atime,
mtime, and ctime values since the Epoch, when using the %X, %Y, and
diff --git a/src/stat.c b/src/stat.c
index 4e3ec12..2275089 100644
--- a/src/stat.c
+++ b/src/stat.c
@@ -1074,7 +1074,12 @@ default_format (bool fs, bool terse, bool device)
if (fs)
{
if (terse)
- format = xstrdup ("%n %i %l %t %s %S %b %f %a %c %d\n");
+ {
+ if (0 < is_selinux_enabled ())
+ format = xstrdup ("%n %i %l %t %s %S %b %f %a %c %d %C\n");
+ else
+ format = xstrdup ("%n %i %l %t %s %S %b %f %a %c %d\n");
+ }
else
{
/* TRANSLATORS: This string uses format specifiers from
@@ -1086,12 +1091,30 @@ Block size: %-10s Fundamental block size: %S\n\
Blocks: Total: %-10b Free: %-10f Available: %a\n\
Inodes: Total: %-10c Free: %d\n\
"));
+
+ if (0 < is_selinux_enabled ())
+ {
+ /* TRANSLATORS: This string uses format specifiers from
+ 'stat --help' with --file-system, and NOT from printf. */
+ char *temp = format;
+ format = xasprintf ("%s%s", format, _("
+Context: %C\n\
+"));
+ free (temp);
+ }
}
}
else /* ! fs */
{
if (terse)
- format = xstrdup ("%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o\n");
+ {
+ if (0 < is_selinux_enabled ())
+ format = xstrdup ("%n %s %b %f %u %g %D %i %h %t %T"
+ " %X %Y %Z %W %o\n");
+ else
+ format = xstrdup ("%n %s %b %f %u %g %D %i %h %t %T"
+ " %X %Y %Z %W %o %C\n");
+ }
else
{
char *temp;
@@ -1126,6 +1149,24 @@ Device: %Dh/%dd\tInode: %-10i Links: %h\n\
'stat --help' without --file-system, and NOT from printf. */
format = xasprintf ("%s%s", format, _("\
Access: (%04a/%10.10A) Uid: (%5u/%8U) Gid: (%5g/%8G)\n\
+"));
+ free (temp);
+
+ if (0 < is_selinux_enabled ())
+ {
+ temp = format;
+ /* TRANSLATORS: This string uses format specifiers from
+ 'stat --help' without --file-system, and NOT from printf. */
+ format = xasprintf ("%s%s", format, _("\
+Context: %C\n\
+"));
+ free (temp);
+ }
+
+ temp = format;
+ /* TRANSLATORS: This string uses format specifiers from
+ 'stat --help' without --file-system, and NOT from printf. */
+ format = xasprintf ("%s%s", format, _("\
Access: %x\n\
Modify: %y\n\
Change: %z\n\
--
1.7.2.3
- [coreutils] stat and SELinux context, Eric Blake, 2010/10/01
- Re: [coreutils] stat and SELinux context, Pádraig Brady, 2010/10/01
- [coreutils] [PATCH] stat: print SELinux context when available, Eric Blake, 2010/10/01
- Re: [coreutils] [PATCHv2] stat: print SELinux context when available, Pádraig Brady, 2010/10/05
- Re: [coreutils] [PATCHv2] stat: print SELinux context when available, Jim Meyering, 2010/10/05
- Re: [coreutils] [PATCHv2] stat: print SELinux context when available, Pádraig Brady, 2010/10/05
- Re: [coreutils] [PATCHv2] stat: print SELinux context when available, Eric Blake, 2010/10/05
- Re: [coreutils] [PATCHv2] stat: print SELinux context when available, Jim Meyering, 2010/10/05
- [coreutils] [PATCH] stat: drop %C support when printing file system details, Eric Blake, 2010/10/05
- Re: [coreutils] [PATCH] stat: drop %C support when printing file system details, Eric Blake, 2010/10/05