diff options
author | Stefan Metzmacher <metze@samba.org> | 2008-10-27 19:36:25 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2008-12-13 11:42:36 +0100 |
commit | 2f27ffc4a2ba745341a5961b8f04e62da3fb089a (patch) | |
tree | 01f65d13f9d6c750e6f934839fbb50c5588eda04 | |
parent | 895c40d03a07182c054a6fd857e7dd6838e698f4 (diff) | |
download | samba-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.c | 11 |
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 |