From: Timo Sirainen Date: Mon, 2 May 2016 11:21:06 +0000 (+0300) Subject: dict-ldap: Don't reuse dict for different usernames. X-Git-Tag: 2.2.25.rc1~346 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f3781e51f41fc3f8404c1bf62f99214d26aeb0f1;p=thirdparty%2Fdovecot%2Fcore.git dict-ldap: Don't reuse dict for different usernames. Fixes doing priv/* lookups for multiple usernames. This currently also means that each username will create a separate LDAP connection, which isn't ideal. But this is probably better fixed in lib-ldap code similar to how lib-sql does connection pooling. --- diff --git a/src/lib-dict-extra/dict-ldap.c b/src/lib-dict-extra/dict-ldap.c index 5ea12daa6d..586f8fc5bc 100644 --- a/src/lib-dict-extra/dict-ldap.c +++ b/src/lib-dict-extra/dict-ldap.c @@ -239,7 +239,8 @@ int ldap_dict_init(struct dict *dict_driver, const char *uri, for(struct ldap_dict *ptr = ldap_dict_list; ptr != NULL; ptr = ptr->next) { - if (strcmp(ptr->uri, uri) == 0) { + if (strcmp(ptr->uri, uri) == 0 && + null_strcmp(ptr->username, set->username) == 0) { *dict_r = (struct dict*)ptr; return 0; }