diff options
Diffstat (limited to 'source3/utils')
-rw-r--r-- | source3/utils/net_ads.c | 8 | ||||
-rw-r--r-- | source3/utils/net_lookup.c | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/source3/utils/net_ads.c b/source3/utils/net_ads.c index 0ccb328527..22f235f059 100644 --- a/source3/utils/net_ads.c +++ b/source3/utils/net_ads.c @@ -1137,6 +1137,7 @@ static NTSTATUS net_update_dns_internal(TALLOC_CTX *ctx, ADS_STRUCT *ads, NTSTATUS status = NT_STATUS_UNSUCCESSFUL; DNS_ERROR dns_err; fstring dns_server; + const char *dns_hosts_file; const char *dnsdomain = NULL; char *root_domain = NULL; @@ -1148,7 +1149,9 @@ static NTSTATUS net_update_dns_internal(TALLOC_CTX *ctx, ADS_STRUCT *ads, } dnsdomain++; - status = ads_dns_lookup_ns( ctx, dnsdomain, &nameservers, &ns_count ); + dns_hosts_file = lp_parm_const_string(-1, "resolv", "host file", NULL); + status = ads_dns_lookup_ns(ctx, dns_hosts_file, + dnsdomain, &nameservers, &ns_count); if ( !NT_STATUS_IS_OK(status) || (ns_count == 0)) { /* Child domains often do not have NS records. Look for the NS record for the forest root domain @@ -1186,7 +1189,8 @@ static NTSTATUS net_update_dns_internal(TALLOC_CTX *ctx, ADS_STRUCT *ads, /* try again for NS servers */ - status = ads_dns_lookup_ns( ctx, root_domain, &nameservers, &ns_count ); + status = ads_dns_lookup_ns(ctx, dns_hosts_file, root_domain, + &nameservers, &ns_count); if ( !NT_STATUS_IS_OK(status) || (ns_count == 0)) { DEBUG(3,("net_ads_join: Failed to find name server for the %s " diff --git a/source3/utils/net_lookup.c b/source3/utils/net_lookup.c index 7b2a214575..7f204745b1 100644 --- a/source3/utils/net_lookup.c +++ b/source3/utils/net_lookup.c @@ -106,6 +106,7 @@ static int net_lookup_ldap(struct net_context *c, int argc, const char **argv) NTSTATUS status; int ret; char h_name[MAX_DNS_NAME_LENGTH]; + const char *dns_hosts_file; if (argc > 0) domain = argv[0]; @@ -123,7 +124,9 @@ static int net_lookup_ldap(struct net_context *c, int argc, const char **argv) DEBUG(9, ("Lookup up ldap for domain %s\n", domain)); - status = ads_dns_query_dcs( ctx, domain, sitename, &dcs, &numdcs ); + dns_hosts_file = lp_parm_const_string(-1, "resolv", "host file", NULL); + status = ads_dns_query_dcs(ctx, dns_hosts_file, domain, sitename, + &dcs, &numdcs); if ( NT_STATUS_IS_OK(status) && numdcs ) { print_ldap_srvlist(dcs, numdcs); TALLOC_FREE( ctx ); @@ -161,7 +164,8 @@ static int net_lookup_ldap(struct net_context *c, int argc, const char **argv) DEBUG(9, ("Looking up ldap for domain %s\n", domain)); - status = ads_dns_query_dcs( ctx, domain, sitename, &dcs, &numdcs ); + status = ads_dns_query_dcs(ctx, dns_hosts_file, domain, sitename, + &dcs, &numdcs); if ( NT_STATUS_IS_OK(status) && numdcs ) { print_ldap_srvlist(dcs, numdcs); TALLOC_FREE( ctx ); |