summaryrefslogtreecommitdiff
path: root/source3/nsswitch
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2007-02-16 13:30:19 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:17:59 -0500
commitca072a99985eaa3036be8116027ea951abc6a759 (patch)
treeca9208bf58a546985ac4e324b8ea1b06f7d9f9ef /source3/nsswitch
parent3057c3975cd8c38fe72a0a425decff11c177c7f9 (diff)
downloadsamba-ca072a99985eaa3036be8116027ea951abc6a759.tar.gz
samba-ca072a99985eaa3036be8116027ea951abc6a759.tar.bz2
samba-ca072a99985eaa3036be8116027ea951abc6a759.zip
r21382: Important fix for winbind when using non-AD domains.
Jeremy, I'm afraid you removed the "domain->initialized" from the set_dc_types_and_flags() call when the connect to PI_LSARPC_DS failed (with rev. 19148). This causes now that init_dc_connection_network is called again and again which in turn rescans the DC each time (which of course fails each time with NT_STATUS_BUFFER_TOO_SMALL). Just continue with the non-PI_LSARPC_DS scan so that the domain is initialized properly. Guenther (This used to be commit c6f63a08f55a4121cbe5aac537d2ef983dc25a97)
Diffstat (limited to 'source3/nsswitch')
-rw-r--r--source3/nsswitch/winbindd_cm.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/nsswitch/winbindd_cm.c b/source3/nsswitch/winbindd_cm.c
index e1434ef32b..ccf6b20a9f 100644
--- a/source3/nsswitch/winbindd_cm.c
+++ b/source3/nsswitch/winbindd_cm.c
@@ -1539,7 +1539,12 @@ static void set_dc_type_and_flags( struct winbindd_domain *domain )
DEBUG(5, ("set_dc_type_and_flags: Could not bind to "
"PI_LSARPC_DS on domain %s: (%s)\n",
domain->name, nt_errstr(result)));
- return;
+
+ /* if this is just a non-AD domain we need to continue
+ * identifying so that we can in the end return with
+ * domain->initialized = True - gd */
+
+ goto no_lsarpc_ds;
}
result = rpccli_ds_getprimarydominfo(cli, cli->cli->mem_ctx,
@@ -1561,6 +1566,7 @@ static void set_dc_type_and_flags( struct winbindd_domain *domain )
domain->native_mode = False;
}
+no_lsarpc_ds:
cli = cli_rpc_pipe_open_noauth(domain->conn.cli, PI_LSARPC, &result);
if (cli == NULL) {