]> err.no Git - util-linux/commitdiff
selinux: is_selinux_enabled() returns 0, 1 and -1
authorKarel Zak <kzak@redhat.com>
Tue, 1 Jul 2008 12:24:58 +0000 (14:24 +0200)
committerKarel Zak <kzak@redhat.com>
Wed, 2 Jul 2008 13:08:26 +0000 (15:08 +0200)
Unfortunately, the current libselinux implementation of
is_selinux_enabled() returns -1 on error. This behavior is
undocumented.

The proper solution is to use "if (is_selinux_enabled() > 0)".

Signed-off-by: Karel Zak <kzak@redhat.com>
disk-utils/mkswap.c
login-utils/chfn.c
login-utils/chsh.c
login-utils/selinux_utils.c
login-utils/vipw.c

index 10068b7130515d6b1e61d7cac3ef10e1ad01aeb7..3f58f9c303cf5ae342bf85e46e81ad97bc8e0a2b 100644 (file)
@@ -746,7 +746,7 @@ use the -f option to force it.\n"),
 #endif
 
 #ifdef HAVE_LIBSELINUX
-       if (S_ISREG(statbuf.st_mode) && is_selinux_enabled()) {
+       if (S_ISREG(statbuf.st_mode) && is_selinux_enabled() > 0) {
                security_context_t context_string;
                security_context_t oldcontext;
                context_t newcontext;
index ee0dc312c3fb39950d0e8a4d1cc866ed909af090..3ca190f107d18cb810a9819fd6eba464c67066e7 100644 (file)
@@ -148,7 +148,7 @@ int main (int argc, char **argv) {
     }
 
 #ifdef HAVE_LIBSELINUX
-    if (is_selinux_enabled()) {
+    if (is_selinux_enabled() > 0) {
       if(uid == 0) {
        if (checkAccess(oldf.username,PASSWD__CHFN)!=0) {
          security_context_t user_context;
index d4cc5267000314a1473ecde3460004ef9a665a01..08b1e0d2857902db542fc9222f37cad44bd682b2 100644 (file)
@@ -134,7 +134,7 @@ main (int argc, char *argv[]) {
     }
 
 #ifdef HAVE_LIBSELINUX
-    if (is_selinux_enabled()) {
+    if (is_selinux_enabled() > 0) {
       if(uid == 0) {
        if (checkAccess(pw->pw_name,PASSWD__CHSH)!=0) {
          security_context_t user_context;
index fff5eaaeb0f9095fa6c03c6471fe3f4861b930d5..2db5dd3d09e18948efa7c9062ca990da62246a0b 100644 (file)
@@ -36,7 +36,7 @@ int checkAccess(char *chuser, int access) {
 }
 
 int setupDefaultContext(char *orig_file) {
-  if (is_selinux_enabled()) {
+  if (is_selinux_enabled() > 0) {
     security_context_t scontext;
     
     if (getfilecon(orig_file,&scontext)<0) {
index fea28ac2e2d6e741b39337c1b0f6c0c9483e2125..5f4472111a72b6047c5e3a05c8afce462c4cc520 100644 (file)
@@ -195,7 +195,7 @@ pw_unlock(void) {
        link(orig_file, tmp);
 
 #ifdef HAVE_LIBSELINUX
-       if (is_selinux_enabled()) {
+       if (is_selinux_enabled() > 0) {
          security_context_t passwd_context=NULL;
          int ret=0;
          if (getfilecon(orig_file,&passwd_context) < 0) {