summaryrefslogtreecommitdiffstats
path: root/src/db/sysdb_selinux.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/db/sysdb_selinux.c')
-rw-r--r--src/db/sysdb_selinux.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/db/sysdb_selinux.c b/src/db/sysdb_selinux.c
index a6b4809f6..f49f58d27 100644
--- a/src/db/sysdb_selinux.c
+++ b/src/db/sysdb_selinux.c
@@ -333,7 +333,7 @@ sysdb_get_selinux_usermaps(TALLOC_CTX *mem_ctx,
}
errno_t sysdb_search_selinux_usermap_by_username(TALLOC_CTX *mem_ctx,
- struct sysdb_ctx *sysdb,
+ struct sss_domain_info *dom,
const char *username,
struct ldb_message ***_usermaps)
{
@@ -357,20 +357,23 @@ errno_t sysdb_search_selinux_usermap_by_username(TALLOC_CTX *mem_ctx,
uint32_t top_priority = 0;
errno_t ret;
int i;
+ struct sss_domain_info *parent_dom;
tmp_ctx = talloc_new(NULL);
if (!tmp_ctx) {
return ENOMEM;
}
+ parent_dom = dom->parent ? dom->parent : dom;
+
/* Now extract user attributes */
- ret = sss_selinux_extract_user(tmp_ctx, sysdb, username, &user);
+ ret = sss_selinux_extract_user(tmp_ctx, dom->sysdb, username, &user);
if (ret != EOK) {
goto done;
}
/* Now extract all SELinux user maps */
- ret = sysdb_get_selinux_usermaps(tmp_ctx, sysdb, attrs, &msgs_count, &msgs);
+ ret = sysdb_get_selinux_usermaps(tmp_ctx, parent_dom->sysdb, attrs, &msgs_count, &msgs);
if (ret) {
goto done;
}