X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fselinux-access.c;h=184f202c1e698c43ed19bda1c5df9101fa7abe1b;hb=9f103625b145a397e67c3714766775b615c8b587;hp=21c7a8c5bcadd562419a70e22926dc88f347ff68;hpb=5b12334d35eadf1f45cc3d631fd1a2e72ffaea0a;p=elogind.git diff --git a/src/core/selinux-access.c b/src/core/selinux-access.c index 21c7a8c5b..184f202c1 100644 --- a/src/core/selinux-access.c +++ b/src/core/selinux-access.c @@ -169,7 +169,6 @@ void selinux_access_free(void) { still be generated if the access would be denied in enforcing mode. */ int selinux_generic_access_check( - sd_bus *bus, sd_bus_message *message, const char *path, const char *permission, @@ -183,7 +182,6 @@ int selinux_generic_access_check( char **cmdline = NULL; int r = 0; - assert(bus); assert(message); assert(permission); assert(error); @@ -252,10 +250,30 @@ finish: return r; } +int selinux_unit_access_check_strv(char **units, + sd_bus_message *message, + Manager *m, + const char *permission, + sd_bus_error *error) { + char **i; + Unit *u; + int r; + + STRV_FOREACH(i, units) { + u = manager_get_unit(m, *i); + if (u) { + r = selinux_unit_access_check(u, message, permission, error); + if (r < 0) + return r; + } + } + + return 0; +} + #else int selinux_generic_access_check( - sd_bus *bus, sd_bus_message *message, const char *path, const char *permission, @@ -267,4 +285,12 @@ int selinux_generic_access_check( void selinux_access_free(void) { } +int selinux_unit_access_check_strv(char **units, + sd_bus_message *message, + Manager *m, + const char *permission, + sd_bus_error *error) { + return 0; +} + #endif