summaryrefslogtreecommitdiffstats
path: root/src
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:47:09 -0400
commit9d5a7dec9eb1201f48f497b3f5355439977f0c88 (patch)
tree4bd402cebf644eaa98d2df1abf8f56f50322a528 /src
parenta77a2019638d2efa3592210e3821d888cb039a82 (diff)
downloadsssd-9d5a7dec9eb1201f48f497b3f5355439977f0c88.tar.gz
sssd-9d5a7dec9eb1201f48f497b3f5355439977f0c88.tar.xz
sssd-9d5a7dec9eb1201f48f497b3f5355439977f0c88.zip
Never remove gecos from the sysdb cache
Now that gecos can come from either the 'gecos' or 'cn' attributes, we need to ensure that we never remove it from the cache.
Diffstat (limited to 'src')
-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