summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-10-27 19:36:25 +0100
committerStefan Metzmacher <metze@samba.org>2008-12-13 11:42:36 +0100
commit2f27ffc4a2ba745341a5961b8f04e62da3fb089a (patch)
tree01f65d13f9d6c750e6f934839fbb50c5588eda04
parent895c40d03a07182c054a6fd857e7dd6838e698f4 (diff)
downloadsamba-2f27ffc4a2ba745341a5961b8f04e62da3fb089a.tar.gz
samba-2f27ffc4a2ba745341a5961b8f04e62da3fb089a.tar.bz2
samba-2f27ffc4a2ba745341a5961b8f04e62da3fb089a.zip
s3:libads/ldap.c: pass the real workgroup name to get_dc_name()
metze Signed-off-by: Stefan Metzmacher <metze@samba.org> Signed-off-by: Günther Deschner <gd@samba.org> (cherry picked from commit c2d4a84abe1b6cbf68d6e9f1bb1f8974d0b628fc)
-rw-r--r--source3/libads/ldap.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c
index 31feea50c7..61e04d1e7c 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