summaryrefslogtreecommitdiff
path: root/source3/libsmb/dsgetdcname.c
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2012-05-04 17:27:36 -0400
committerAlexander Bokovoy <ab@samba.org>2012-05-23 17:51:48 +0300
commita7e94fce3f86b99c328669d45dd685fc70026378 (patch)
tree3e0f989c0c43a41d38eafa80e07805556d069793 /source3/libsmb/dsgetdcname.c
parent4a335e9632282d92c8d9c5fdae59114540ed0803 (diff)
downloadsamba-a7e94fce3f86b99c328669d45dd685fc70026378.tar.gz
samba-a7e94fce3f86b99c328669d45dd685fc70026378.tar.bz2
samba-a7e94fce3f86b99c328669d45dd685fc70026378.zip
s3-ads-dns: Break dependency on lp_parm
In preparation of making this code common to s3 and s4
Diffstat (limited to 'source3/libsmb/dsgetdcname.c')
-rw-r--r--source3/libsmb/dsgetdcname.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/source3/libsmb/dsgetdcname.c b/source3/libsmb/dsgetdcname.c
index 05be272450..a690ab49c1 100644
--- a/source3/libsmb/dsgetdcname.c
+++ b/source3/libsmb/dsgetdcname.c
@@ -546,24 +546,31 @@ static NTSTATUS discover_dc_dns(TALLOC_CTX *mem_ctx,
int numaddrs = 0;
struct ip_service_name *dclist = NULL;
int count = 0;
+ const char *dns_hosts_file;
+ dns_hosts_file = lp_parm_const_string(-1, "resolv", "host file", NULL);
if (flags & DS_PDC_REQUIRED) {
- status = ads_dns_query_pdc(mem_ctx, domain_name,
- &dcs, &numdcs);
+ status = ads_dns_query_pdc(mem_ctx, dns_hosts_file,
+ domain_name, &dcs, &numdcs);
} else if (flags & DS_GC_SERVER_REQUIRED) {
- status = ads_dns_query_gcs(mem_ctx, domain_name, site_name,
+ status = ads_dns_query_gcs(mem_ctx, dns_hosts_file,
+ domain_name, site_name,
&dcs, &numdcs);
} else if (flags & DS_KDC_REQUIRED) {
- status = ads_dns_query_kdcs(mem_ctx, domain_name, site_name,
+ status = ads_dns_query_kdcs(mem_ctx, dns_hosts_file,
+ domain_name, site_name,
&dcs, &numdcs);
} else if (flags & DS_DIRECTORY_SERVICE_REQUIRED) {
- status = ads_dns_query_dcs(mem_ctx, domain_name, site_name,
+ status = ads_dns_query_dcs(mem_ctx, dns_hosts_file,
+ domain_name, site_name,
&dcs, &numdcs);
} else if (domain_guid) {
- status = ads_dns_query_dcs_guid(mem_ctx, domain_name,
- domain_guid, &dcs, &numdcs);
+ status = ads_dns_query_dcs_guid(mem_ctx, dns_hosts_file,
+ domain_name, domain_guid,
+ &dcs, &numdcs);
} else {
- status = ads_dns_query_dcs(mem_ctx, domain_name, site_name,
+ status = ads_dns_query_dcs(mem_ctx, dns_hosts_file,
+ domain_name, site_name,
&dcs, &numdcs);
}