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]

Reply via email to