#include "includes.h"
#include "utils/net.h"
#include "libads/sitename_cache.h"
-#include "libads/dns.h"
+#include "../lib/addns/dnsquery.h"
#include "../librpc/gen_ndr/ndr_netlogon.h"
#include "smb_krb5.h"
#include "../libcli/security/security.h"
NTSTATUS status;
int ret;
char h_name[MAX_DNS_NAME_LENGTH];
- const char *dns_hosts_file;
if (argc > 0)
domain = argv[0];
else
domain = c->opt_target_workgroup;
- sitename = sitename_fetch(domain);
-
if ( (ctx = talloc_init("net_lookup_ldap")) == NULL ) {
d_fprintf(stderr,"net_lookup_ldap: talloc_init() %s!\n",
_("failed"));
- SAFE_FREE(sitename);
return -1;
}
+ sitename = sitename_fetch(ctx, domain);
+
DEBUG(9, ("Lookup up ldap for domain %s\n", domain));
- 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);
+ status = ads_dns_query_dcs(ctx,
+ domain,
+ sitename,
+ &dcs,
+ &numdcs);
if ( NT_STATUS_IS_OK(status) && numdcs ) {
print_ldap_srvlist(dcs, numdcs);
TALLOC_FREE( ctx );
- SAFE_FREE(sitename);
return 0;
}
DEBUG(9, ("Looking up PDC for domain %s\n", domain));
if (!get_pdc_ip(domain, &ss)) {
TALLOC_FREE( ctx );
- SAFE_FREE(sitename);
return -1;
}
if (ret) {
TALLOC_FREE( ctx );
- SAFE_FREE(sitename);
return -1;
}
domain = strchr(h_name, '.');
if (!domain) {
TALLOC_FREE( ctx );
- SAFE_FREE(sitename);
return -1;
}
domain++;
DEBUG(9, ("Looking up ldap for domain %s\n", domain));
- status = ads_dns_query_dcs(ctx, dns_hosts_file, domain, sitename,
- &dcs, &numdcs);
+ status = ads_dns_query_dcs(ctx,
+ domain,
+ sitename,
+ &dcs,
+ &numdcs);
if ( NT_STATUS_IS_OK(status) && numdcs ) {
print_ldap_srvlist(dcs, numdcs);
TALLOC_FREE( ctx );
- SAFE_FREE(sitename);
return 0;
}
TALLOC_FREE( ctx );
- SAFE_FREE(sitename);
return -1;
#endif
}
d_printf("%s\n", pdc_str);
- sitename = sitename_fetch(domain);
+ sitename = sitename_fetch(talloc_tos(), domain);
if (!NT_STATUS_IS_OK(get_sorted_dc_list(domain, sitename,
&ip_list, &count, sec_ads))) {
SAFE_FREE(pdc_str);
- SAFE_FREE(sitename);
+ TALLOC_FREE(sitename);
return 0;
}
- SAFE_FREE(sitename);
+ TALLOC_FREE(sitename);
for (i=0;i<count;i++) {
print_sockaddr(addr, sizeof(addr), &ip_list[i].ss);
if (!strequal(pdc_str, addr))
print_sockaddr(addr, sizeof(addr), &kdcs[i].ss);
- d_printf("%s:%hd\n", addr, kdcs[i].port);
+ d_printf("%s:%u\n", addr, kdcs[i].port);
}
return 0;