if (initialized)
return 0;
- if (!use_selinux())
+ if (!mac_selinux_use())
return 0;
r = access_init();
assert(permission);
assert(error);
- if (!use_selinux())
+ if (!mac_selinux_use())
return 0;
r = selinux_access_init(error);
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,
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