From 95e77b14b5440a9ced8fdf6dc803b90c9518b8e0 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Mon, 10 Sep 2007 23:12:27 +0000 Subject: r25068: Older samba3 DCs will return DCERPC_FAULT_OP_RNG_ERROR for every opcode on the LSARPC_DS pipe, continue with no_lsarpc_ds mode here as well to get domain->initialized set to True. This avoids permanent scanning of Samba3 DCs in winbindd. Thanks Michael, for pointing this out. Guenther --- source/nsswitch/winbindd_cm.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/nsswitch/winbindd_cm.c b/source/nsswitch/winbindd_cm.c index 0571cdad60b..85700272ea0 100644 --- a/source/nsswitch/winbindd_cm.c +++ b/source/nsswitch/winbindd_cm.c @@ -1696,6 +1696,16 @@ static void set_dc_type_and_flags_connect( struct winbindd_domain *domain ) DEBUG(5, ("set_dc_type_and_flags_connect: rpccli_ds_getprimarydominfo " "on domain %s failed: (%s)\n", domain->name, nt_errstr(result))); + + /* older samba3 DCs will return DCERPC_FAULT_OP_RNG_ERROR for + * every opcode on the LSARPC_DS pipe, continue with + * no_lsarpc_ds mode here as well to get domain->initialized + * set - gd */ + + if (NT_STATUS_V(result) == DCERPC_FAULT_OP_RNG_ERROR) { + goto no_lsarpc_ds; + } + return; } -- cgit