From 969c46c1d078c3f5d6814a653545c7beca4ef05b Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 2 May 2016 14:21:06 +0300 Subject: [PATCH] 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. --- src/lib-dict-extra/dict-ldap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib-dict-extra/dict-ldap.c b/src/lib-dict-extra/dict-ldap.c index 170ec0343f..bed99ea64d 100644 --- a/src/lib-dict-extra/dict-ldap.c +++ b/src/lib-dict-extra/dict-ldap.c @@ -238,7 +238,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; } -- 2.47.3