From 967b1b595f61986ecc0e7d84448333d8264bcc2b Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Tue, 12 Apr 2011 12:47:14 -0400 Subject: 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. --- src/providers/ldap/ldap_common.c | 9 +++++++++ 1 file changed, 9 insertions(+) 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 -- cgit