commit 9f72890b6ce49a8519e0ce4f24b57caff3fddfa4 Author: Micha Lenk Date: Thu Oct 13 18:00:50 2011 +0200 Don't call lookup_usergroups_cached() from lookup_usergroups() The problem is that in case lookup_usergroups_cached() returns something, the returned cache entry doesn't contain any local groups. As caching within winbindd is also happening at a higher level, the lookup using lookup_usergroups_cached() seems to be wrong at this place. diff --git a/source3/winbindd/winbindd_ads.c b/source3/winbindd/winbindd_ads.c index dde8e3f..0881164 100644 --- a/source3/winbindd/winbindd_ads.c +++ b/source3/winbindd/winbindd_ads.c @@ -850,12 +850,6 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain, DEBUG(3,("ads: lookup_usergroups\n")); *p_num_groups = 0; - status = lookup_usergroups_cached(domain, mem_ctx, sid, - p_num_groups, user_sids); - if (NT_STATUS_IS_OK(status)) { - return NT_STATUS_OK; - } - if ( !winbindd_can_contact_domain( domain ) ) { DEBUG(10,("lookup_usergroups: No incoming trust for domain %s\n", domain->name));