URL: https://github.com/SSSD/sssd/pull/109 Author: justin-stephenson Title: #109: SSSCTL: fix netgroup-show parsing Action: synchronized
To pull the PR as Git branch: git remote add ghsssd https://github.com/SSSD/sssd git fetch ghsssd pull/109/head:pr109 git checkout pr109
From a1cae0238953c0d228dcf2b59baf99d7e0d7d1ee Mon Sep 17 00:00:00 2001 From: Justin Stephenson <[email protected]> Date: Tue, 13 Dec 2016 22:12:28 -0500 Subject: [PATCH] SSSCTL: fix netgroup-show parsing Skip formatting the netgroup Name attribute(no domain component) for non-user and non-group objects, only print the name to avoid sssctl netgroup-show failure. Resolves: https://fedorahosted.org/sssd/ticket/3267 --- src/tools/sssctl/sssctl_cache.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/tools/sssctl/sssctl_cache.c b/src/tools/sssctl/sssctl_cache.c index b1a7cc9..799623d 100644 --- a/src/tools/sssctl/sssctl_cache.c +++ b/src/tools/sssctl/sssctl_cache.c @@ -95,6 +95,7 @@ static errno_t attr_name(TALLOC_CTX *mem_ctx, { errno_t ret; const char *orig_name; + const char *class; char *tmp_name; char *outname; @@ -103,7 +104,19 @@ static errno_t attr_name(TALLOC_CTX *mem_ctx, return ret; } - tmp_name = sss_output_name(mem_ctx, orig_name, dom->case_preserve, 0); + ret = sysdb_attrs_get_string(entry, SYSDB_OBJECTCLASS, &class); + if (ret != EOK) { + return ret; + } + + DEBUG(SSSDBG_TRACE_FUNC, "class is [%s]\n", class); + + if (class == SYSDB_USER_CLASS || class == SYSDB_GROUP_CLASS) { + tmp_name = sss_output_name(mem_ctx, orig_name, dom->case_preserve, 0); + } else { + tmp_name = orig_name; + } + if (tmp_name == NULL) { return ENOMEM; }
_______________________________________________ sssd-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
