s3-winbindd_ads: prevent negative GM/ cache entries due to broken connections
authorMichael Adam <obnox@samba.org>
Thu, 20 Nov 2008 15:57:44 +0000 (16:57 +0100)
committerMichael Adam <obnox@samba.org>
Fri, 21 Nov 2008 22:32:29 +0000 (23:32 +0100)
commitfa60e4e97d7e1f208b6a8e8a363ec3c96e40b2d8
treef8838693ef5b47052c2c853bf53d53abf40a61c9
parent97fb05c2c0d0b08f3ed5aa7358a4d6d8c1725012
s3-winbindd_ads: prevent negative GM/ cache entries due to broken connections

The ads lookup_groupmem() function calls lda_lookupsids to resolve sids
to names. This is tried only once. So in case the connection was broken,
e.g. closed by the server (without a reset packet), there will be an empty
GM/ cache entry for the requested group which will prevent proper working
of access checks among other checks for the expiry period.

This patch works around this problem by retrying once if the lsa_lookupsids
call fails, re-establishing the dc-connection, as we already do in many other
places (e.g. the winbindd retry methods for the rpc layer).

Michael
source3/winbindd/winbindd_ads.c