winbind: handle DC_NOT_FOUND in wb_sids2xids
authorVolker Lendecke <vl@samba.org>
Tue, 12 Jan 2016 20:21:17 +0000 (21:21 +0100)
committerVolker Lendecke <vl@samba.org>
Fri, 15 Apr 2016 13:32:11 +0000 (15:32 +0200)
commitf00af55ece7eaf1ba2b906fd040807177d296f15
treed25ce6b17e445ebbefac54b1dbdc3c0dd1934973
parent10ae56f1423d433fc120457135b3be70c9d8e9ea
winbind: handle DC_NOT_FOUND in wb_sids2xids

The idmap_ad child is designed to connect to domain controllers on
its own.  Finding a DC is a nontrivial task that the child should not
do on its own, in particular it should not have to connect to "our"
DC's NETLOGON pipe separately. So when idmap_ad finds that it needs to
connect to a DC, it returns NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND. The
parent then asynchronously does the lookup and stores the DC info in
gencache. After that the parent re-does the idmap child call, during
which the child will find the DC-info in gencache.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/winbindd/wb_sids2xids.c