summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2015-01-21 16:33:59 +0100
committerJakub Hrozek <jhrozek@redhat.com>2015-01-27 09:49:32 +0100
commit11277f49cabdf4b7b49dba05dc4db9c2e5ffe53b (patch)
tree67448a879107ac655afad2253d404d04b6b7ade9
parenta3fc740fbfbfd5a2771a3872cf03287879c957c3 (diff)
downloadsssd-11277f49cabdf4b7b49dba05dc4db9c2e5ffe53b.tar.gz
sssd-11277f49cabdf4b7b49dba05dc4db9c2e5ffe53b.tar.xz
sssd-11277f49cabdf4b7b49dba05dc4db9c2e5ffe53b.zip
IPA: process_members() add ghosts only once
Since ghost entries might not be properly removed on the IPA server (https://fedorahosted.org/sssd/ticket/2567) chances are that during extdom group lookups a single user is returned multiple time. This patch removes the duplicates before trying to write the data to the cache. Related to https://fedorahosted.org/sssd/ticket/2159 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> (cherry picked from commit 60f11e2fa1f63cd40ebace525ad823b0360fac94)
-rw-r--r--src/providers/ipa/ipa_s2n_exop.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/providers/ipa/ipa_s2n_exop.c b/src/providers/ipa/ipa_s2n_exop.c
index 997d0dce8..6f8d5687d 100644
--- a/src/providers/ipa/ipa_s2n_exop.c
+++ b/src/providers/ipa/ipa_s2n_exop.c
@@ -1299,8 +1299,10 @@ static errno_t process_members(struct sss_domain_info *domain,
DEBUG(SSSDBG_TRACE_ALL, "Adding ghost member [%s]\n",
members[c]);
- ret = sysdb_attrs_add_string(group_attrs, SYSDB_GHOST,
- members[c]);
+ /* There were cases where the server returned the same user
+ * multiple times */
+ ret = sysdb_attrs_add_string_safe(group_attrs, SYSDB_GHOST,
+ members[c]);
if (ret != EOK) {
DEBUG(SSSDBG_OP_FAILURE,
"sysdb_attrs_add_string failed.\n");