summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2011-04-12 12:47:14 -0400
committerStephen Gallagher <sgallagh@redhat.com>2011-04-12 15:49:09 -0400
commit967b1b595f61986ecc0e7d84448333d8264bcc2b (patch)
tree96563d219c1195041847939f257ff1e54793b77a
parentd7abfcf510ecb20c82f72684669410e5062bfec8 (diff)
downloadsssd-967b1b595f61986ecc0e7d84448333d8264bcc2b.tar.gz
sssd-967b1b595f61986ecc0e7d84448333d8264bcc2b.tar.xz
sssd-967b1b595f61986ecc0e7d84448333d8264bcc2b.zip
Never remove gecos from the sysdb cachesssd-1.5.1-28.el6
Now that gecos can come from either the 'gecos' or 'cn' attributes, we need to ensure that we never remove it from the cache.
-rw-r--r--src/providers/ldap/ldap_common.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/providers/ldap/ldap_common.c b/src/providers/ldap/ldap_common.c
index ce6d41d58..29a5820f5 100644
--- a/src/providers/ldap/ldap_common.c
+++ b/src/providers/ldap/ldap_common.c
@@ -962,6 +962,15 @@ errno_t list_missing_attrs(TALLOC_CTX *mem_ctx,
continue;
}
+ /* GECOS is another special case. Its value can come
+ * either from the 'gecos' attribute or the 'cn'
+ * attribute. It's best if we just never remove it.
+ */
+ if (strcasecmp(sysdb_name, SYSDB_GECOS) == 0) {
+ talloc_free(sysdb_name);
+ continue;
+ }
+
for (j = 0; j < recvd_attrs->num; j++) {
/* Check whether this expected attribute appeared in the
* received attributes and had a non-zero number of