From: Stefan Metzmacher Date: Mon, 27 Oct 2008 18:36:25 +0000 (+0100) Subject: s3:libads/ldap.c: pass the real workgroup name to get_dc_name() X-Git-Tag: samba-4.0.0alpha6~479^2~3^2~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f27ffc4a2ba745341a5961b8f04e62da3fb089a;p=thirdparty%2Fsamba.git s3:libads/ldap.c: pass the real workgroup name to get_dc_name() metze Signed-off-by: Stefan Metzmacher Signed-off-by: Günther Deschner (cherry picked from commit c2d4a84abe1b6cbf68d6e9f1bb1f8974d0b628fc) --- diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index 31feea50c73..61e04d1e7c4 100644 --- a/source3/libads/ldap.c +++ b/source3/libads/ldap.c @@ -267,10 +267,12 @@ static bool ads_try_connect(ADS_STRUCT *ads, const char *server, bool gc) static NTSTATUS ads_find_dc(ADS_STRUCT *ads) { + const char *c_domain; const char *c_realm; int count, i=0; struct ip_service *ip_list; const char *realm; + const char *domain; bool got_realm = False; bool use_own_domain = False; char *sitename; @@ -308,7 +310,14 @@ static NTSTATUS ads_find_dc(ADS_STRUCT *ads) return NT_STATUS_INVALID_PARAMETER; /* rather need MISSING_PARAMETER ... */ } + if ( use_own_domain ) { + c_domain = lp_workgroup(); + } else { + c_domain = ads->server.workgroup; + } + realm = c_realm; + domain = c_domain; /* * In case of LDAP we use get_dc_name() as that @@ -321,7 +330,7 @@ static NTSTATUS ads_find_dc(ADS_STRUCT *ads) DEBUG(6,("ads_find_dc: (ldap) looking for %s '%s'\n", (got_realm ? "realm" : "domain"), realm)); - if (get_dc_name(realm, realm, srv_name, &ip_out)) { + if (get_dc_name(domain, realm, srv_name, &ip_out)) { /* * we call ads_try_connect() to fill in the * ads->config details