diff options
author | Michal Židek <mzidek@redhat.com> | 2016-09-12 19:22:56 +0200 |
---|---|---|
committer | Lukas Slebodnik <lslebodn@redhat.com> | 2016-09-13 14:00:15 +0200 |
commit | 812bed08943df8bf3fd1ff9eabcaf5bedc635c92 (patch) | |
tree | 98b0ad58c2d447fb2c6b1689d457d18b72408935 | |
parent | 1c72723cde8bea0d390b928c7cd29e48e7a7deab (diff) | |
download | sssd-812bed08943df8bf3fd1ff9eabcaf5bedc635c92.tar.gz sssd-812bed08943df8bf3fd1ff9eabcaf5bedc635c92.tar.xz sssd-812bed08943df8bf3fd1ff9eabcaf5bedc635c92.zip |
TOOLS: sss_groupshow fails to show MPG
The MPG search uses it's own search function
that used sysdb operation with shortname,
but it expects internal fqname.
Resolves:
https://fedorahosted.org/sssd/ticket/3184
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-rw-r--r-- | src/tools/sss_groupshow.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/tools/sss_groupshow.c b/src/tools/sss_groupshow.c index 5870cc802..00f6f1293 100644 --- a/src/tools/sss_groupshow.c +++ b/src/tools/sss_groupshow.c @@ -553,13 +553,14 @@ int group_show_recurse(TALLOC_CTX *mem_ctx, static int group_show_mpg(TALLOC_CTX *mem_ctx, struct sss_domain_info *domain, - const char *name, + const char *shortname, struct group_info **res) { const char *attrs[] = GROUP_SHOW_MPG_ATTRS; struct ldb_message *msg; struct group_info *info; int ret; + char *sysdb_fqname; info = talloc_zero(mem_ctx, struct group_info); if (!info) { @@ -567,7 +568,14 @@ static int group_show_mpg(TALLOC_CTX *mem_ctx, goto fail; } - ret = sysdb_search_user_by_name(info, domain, name, attrs, &msg); + sysdb_fqname = sss_create_internal_fqname(mem_ctx, + shortname, + domain->name); + if (sysdb_fqname == NULL) { + return ENOMEM; + } + + ret = sysdb_search_user_by_name(info, domain, sysdb_fqname, attrs, &msg); if (ret) { DEBUG(SSSDBG_OP_FAILURE, "Search failed: %s (%d)\n", strerror(ret), ret); |