summaryrefslogtreecommitdiff
path: root/src/mkdir.c
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2013-07-02 03:42:20 +0100
committerPádraig Brady <P@draigBrady.com>2013-07-02 09:47:32 +0100
commit5fb93f635b935ea5632e36600e07a2c5fc5bad5e (patch)
tree387476cda6992e8768ff4646cc605f24dd307de5 /src/mkdir.c
parentb8a87eaf2d6f054473d2dab491ffd4252b6f5b4d (diff)
downloadcoreutils-5fb93f635b935ea5632e36600e07a2c5fc5bad5e.tar.xz
maint: refactor SMACK interface to a separate module
Consolidate all smack routines and checks in a module. We replace and wrap the most commonly used smack routines, which allows removing ifdefs throughout the code. * gl/lib/smack.h: A new header containing the implementation of the wrapped and replacement routines. Note the is_smack_enabled() routine should be optimized out at compile time when compiled on a system without libsmack. * gl/modules/smack: Describe the new module and move the configure time code here from ... * m4/jm-macros.m4: ... here. * bootstrap.conf: Reference the new module. * src/id.c: Use the routines without ifdefs where possible. * src/ls.c: Likewise. * src/mkdir.c: Likewise. * src/mkfifo.c: Likewise. * src/mknod.c: Likewise.
Diffstat (limited to 'src/mkdir.c')
-rw-r--r--src/mkdir.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/mkdir.c b/src/mkdir.c
index e56b6cbbd..479faca85 100644
--- a/src/mkdir.c
+++ b/src/mkdir.c
@@ -22,10 +22,6 @@
#include <sys/types.h>
#include <selinux/selinux.h>
-#ifdef HAVE_SMACK
-# include <sys/smack.h>
-#endif
-
#include "system.h"
#include "error.h"
#include "mkdir-p.h"
@@ -33,6 +29,7 @@
#include "prog-fprintf.h"
#include "quote.h"
#include "savewd.h"
+#include "smack.h"
/* The official name of this program (e.g., no 'g' prefix). */
#define PROGRAM_NAME "mkdir"
@@ -201,11 +198,9 @@ main (int argc, char **argv)
if (scontext)
{
-#ifdef HAVE_SMACK
- if (smack_smackfs_path ())
+ if (is_smack_enabled ())
ret = smack_set_label_for_self (scontext);
else
-#endif
ret = setfscreatecon (scontext);
}