addns: Remove support for dns_host_file.
[obnox/samba/samba-obnox.git] / source3 / utils / net_lookup.c
index 7f204745b19cc1361c57990a15a2e1c1fff68be3..0c019e6e4d40f3e25eac69d917348bd44baece90 100644 (file)
@@ -19,7 +19,7 @@
 #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"
@@ -106,38 +106,36 @@ 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];
        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;
        }
 
@@ -149,7 +147,6 @@ static int net_lookup_ldap(struct net_context *c, int argc, const char **argv)
 
        if (ret) {
                TALLOC_FREE( ctx );
-               SAFE_FREE(sitename);
                return -1;
        }
 
@@ -157,24 +154,24 @@ static int net_lookup_ldap(struct net_context *c, int argc, const char **argv)
        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
@@ -212,14 +209,14 @@ static int net_lookup_dc(struct net_context *c, int argc, const char **argv)
        }
        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))
@@ -321,7 +318,7 @@ static int net_lookup_kdc(struct net_context *c, int argc, const char **argv)
 
                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;