X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Fselinux.c;h=e49e657bdb58013c071c98b811b24dce424dd55d;hp=6e2b347eb73e4258cafa5f22eda8a0431a869c1a;hb=00fae9fe88ca83dfc3ee0b1b7d8e27e644f6e9c7;hpb=67a679afb17747b5ec392e56cf6121b085b38a3a diff --git a/daemon/selinux.c b/daemon/selinux.c index 6e2b347..e49e657 100644 --- a/daemon/selinux.c +++ b/daemon/selinux.c @@ -29,17 +29,30 @@ #include "../src/guestfs_protocol.h" #include "daemon.h" #include "actions.h" +#include "optgroups.h" -#ifdef HAVE_LIBSELINUX +#if defined(HAVE_LIBSELINUX) +int +optgroup_selinux_available (void) +{ + return 1; +} +#else /* !HAVE_LIBSELINUX */ +int +optgroup_selinux_available (void) +{ + return 0; +} +#endif /* !HAVE_LIBSELINUX */ /* setcon is only valid under the following circumstances: * - single threaded * - enforcing=0 */ int -do_setcon (char *context) +do_setcon (const char *context) { -#ifdef HAVE_SETCON +#if defined(HAVE_LIBSELINUX) && defined(HAVE_SETCON) if (setcon ((char *) context) == -1) { reply_with_perror ("setcon"); return -1; @@ -47,15 +60,14 @@ do_setcon (char *context) return 0; #else - reply_with_error ("%s is not available", __func__); - return -1; + NOT_AVAILABLE (-1); #endif } char * do_getcon (void) { -#ifdef HAVE_GETCON +#if defined(HAVE_LIBSELINUX) && defined(HAVE_GETCON) security_context_t context; char *r; @@ -73,9 +85,6 @@ do_getcon (void) return r; /* caller frees */ #else - reply_with_error ("%s is not available", __func__); - return -1; + NOT_AVAILABLE (NULL); #endif } - -#endif /* HAVE_LIBSELINUX */