addns: Remove support for dns_host_file.
authorAndreas Schneider <asn@samba.org>
Thu, 20 Nov 2014 10:31:29 +0000 (11:31 +0100)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 18 Dec 2014 05:47:40 +0000 (06:47 +0100)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/addns/dnsquery.c
lib/addns/dnsquery.h
lib/addns/wscript_build
source3/libads/ldap.c
source3/libsmb/dsgetdcname.c
source3/libsmb/namequery.c
source3/utils/net_ads.c
source3/utils/net_lookup.c
source4/libcli/resolve/dns_ex.c

index 57ef8d92f4ac7b9dff4b170c860bc88d50cbc00b..4e2aaf4f3be5f1b1bc7bdc17015e1abfc4e5977a 100644 (file)
@@ -390,7 +390,6 @@ static NTSTATUS dns_send_req( TALLOC_CTX *ctx, const char *name, int q_type,
 *********************************************************************/
 
 NTSTATUS ads_dns_lookup_srv(TALLOC_CTX *ctx,
-                               const char *dns_hosts_file,
                                const char *name,
                                struct dns_rr_srv **dclist,
                                int *numdcs)
@@ -408,12 +407,6 @@ NTSTATUS ads_dns_lookup_srv(TALLOC_CTX *ctx,
                return NT_STATUS_INVALID_PARAMETER;
        }
 
-       if (dns_hosts_file) {
-               return resolve_dns_hosts_file_as_dns_rr(dns_hosts_file,
-                                                       name, true, ctx,
-                                                       dclist, numdcs);
-       }
-
        /* Send the request.  May have to loop several times in case
           of large replies */
 
@@ -586,7 +579,6 @@ NTSTATUS ads_dns_lookup_srv(TALLOC_CTX *ctx,
 *********************************************************************/
 
 NTSTATUS ads_dns_lookup_ns(TALLOC_CTX *ctx,
-                               const char *dns_hosts_file,
                                const char *dnsdomain,
                                struct dns_rr_ns **nslist,
                                int *numns)
@@ -604,11 +596,6 @@ NTSTATUS ads_dns_lookup_ns(TALLOC_CTX *ctx,
                return NT_STATUS_INVALID_PARAMETER;
        }
 
-       if (dns_hosts_file) {
-               DEBUG(1, ("NO 'NS' lookup available when using resolv:host file"));
-               return NT_STATUS_OBJECT_NAME_NOT_FOUND;
-       }
-
        /* Send the request.  May have to loop several times in case
           of large replies */
 
@@ -747,7 +734,6 @@ NTSTATUS ads_dns_lookup_ns(TALLOC_CTX *ctx,
 ********************************************************************/
 
 static NTSTATUS ads_dns_query_internal(TALLOC_CTX *ctx,
-                                      const char *dns_hosts_file,
                                       const char *servicename,
                                       const char *dc_pdc_gc_domains,
                                       const char *realm,
@@ -767,7 +753,7 @@ static NTSTATUS ads_dns_query_internal(TALLOC_CTX *ctx,
        if (!name) {
                return NT_STATUS_NO_MEMORY;
        }
-       return ads_dns_lookup_srv(ctx, dns_hosts_file, name, dclist, numdcs);
+       return ads_dns_lookup_srv(ctx, name, dclist, numdcs);
 }
 
 /********************************************************************
@@ -775,7 +761,6 @@ static NTSTATUS ads_dns_query_internal(TALLOC_CTX *ctx,
 ********************************************************************/
 
 NTSTATUS ads_dns_query_dcs(TALLOC_CTX *ctx,
-                          const char *dns_hosts_file,
                           const char *realm,
                           const char *sitename,
                           struct dns_rr_srv **dclist,
@@ -783,8 +768,13 @@ NTSTATUS ads_dns_query_dcs(TALLOC_CTX *ctx,
 {
        NTSTATUS status;
 
-       status = ads_dns_query_internal(ctx, dns_hosts_file, "_ldap", "dc",
-                                       realm, sitename, dclist, numdcs);
+       status = ads_dns_query_internal(ctx,
+                                       "_ldap",
+                                       "dc",
+                                       realm,
+                                       sitename,
+                                       dclist,
+                                       numdcs);
 
        if (NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT) ||
            NT_STATUS_EQUAL(status, NT_STATUS_CONNECTION_REFUSED)) {
@@ -795,9 +785,13 @@ NTSTATUS ads_dns_query_dcs(TALLOC_CTX *ctx,
            ((!NT_STATUS_IS_OK(status)) ||
             (NT_STATUS_IS_OK(status) && (numdcs == 0)))) {
                /* Sitename DNS query may have failed. Try without. */
-               status = ads_dns_query_internal(ctx, dns_hosts_file,
-                                               "_ldap", "dc", realm,
-                                               NULL, dclist, numdcs);
+               status = ads_dns_query_internal(ctx,
+                                               "_ldap",
+                                               "dc",
+                                               realm,
+                                               NULL,
+                                               dclist,
+                                               numdcs);
        }
        return status;
 }
@@ -807,7 +801,6 @@ NTSTATUS ads_dns_query_dcs(TALLOC_CTX *ctx,
 ********************************************************************/
 
 NTSTATUS ads_dns_query_gcs(TALLOC_CTX *ctx,
-                          const char *dns_hosts_file,
                           const char *realm,
                           const char *sitename,
                           struct dns_rr_srv **dclist,
@@ -815,8 +808,13 @@ NTSTATUS ads_dns_query_gcs(TALLOC_CTX *ctx,
 {
        NTSTATUS status;
 
-       status = ads_dns_query_internal(ctx, dns_hosts_file, "_ldap", "gc",
-                                       realm, sitename, dclist, numdcs);
+       status = ads_dns_query_internal(ctx,
+                                       "_ldap",
+                                       "gc",
+                                       realm,
+                                       sitename,
+                                       dclist,
+                                       numdcs);
 
        if (NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT) ||
            NT_STATUS_EQUAL(status, NT_STATUS_CONNECTION_REFUSED)) {
@@ -827,9 +825,13 @@ NTSTATUS ads_dns_query_gcs(TALLOC_CTX *ctx,
            ((!NT_STATUS_IS_OK(status)) ||
             (NT_STATUS_IS_OK(status) && (numdcs == 0)))) {
                /* Sitename DNS query may have failed. Try without. */
-               status = ads_dns_query_internal(ctx, dns_hosts_file,
-                                               "_ldap", "gc", realm,
-                                               NULL, dclist, numdcs);
+               status = ads_dns_query_internal(ctx,
+                                               "_ldap",
+                                               "gc",
+                                               realm,
+                                               NULL,
+                                               dclist,
+                                               numdcs);
        }
        return status;
 }
@@ -841,7 +843,6 @@ NTSTATUS ads_dns_query_gcs(TALLOC_CTX *ctx,
 ********************************************************************/
 
 NTSTATUS ads_dns_query_kdcs(TALLOC_CTX *ctx,
-                           const char *dns_hosts_file,
                            const char *dns_forest_name,
                            const char *sitename,
                            struct dns_rr_srv **dclist,
@@ -849,8 +850,12 @@ NTSTATUS ads_dns_query_kdcs(TALLOC_CTX *ctx,
 {
        NTSTATUS status;
 
-       status = ads_dns_query_internal(ctx, dns_hosts_file, "_kerberos", "dc",
-                                       dns_forest_name, sitename, dclist,
+       status = ads_dns_query_internal(ctx,
+                                       "_kerberos",
+                                       "dc",
+                                       dns_forest_name,
+                                       sitename,
+                                       dclist,
                                        numdcs);
 
        if (NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT) ||
@@ -862,10 +867,13 @@ NTSTATUS ads_dns_query_kdcs(TALLOC_CTX *ctx,
            ((!NT_STATUS_IS_OK(status)) ||
             (NT_STATUS_IS_OK(status) && (numdcs == 0)))) {
                /* Sitename DNS query may have failed. Try without. */
-               status = ads_dns_query_internal(ctx, dns_hosts_file,
-                                               "_kerberos", "dc",
-                                               dns_forest_name, NULL,
-                                               dclist, numdcs);
+               status = ads_dns_query_internal(ctx,
+                                               "_kerberos",
+                                               "dc",
+                                               dns_forest_name,
+                                               NULL,
+                                               dclist,
+                                               numdcs);
        }
        return status;
 }
@@ -875,13 +883,17 @@ NTSTATUS ads_dns_query_kdcs(TALLOC_CTX *ctx,
 ********************************************************************/
 
 NTSTATUS ads_dns_query_pdc(TALLOC_CTX *ctx,
-                          const char *dns_hosts_file,
                           const char *dns_domain_name,
                           struct dns_rr_srv **dclist,
                           int *numdcs )
 {
-       return ads_dns_query_internal(ctx, dns_hosts_file, "_ldap", "pdc",
-                                     dns_domain_name, NULL, dclist, numdcs);
+       return ads_dns_query_internal(ctx,
+                                     "_ldap",
+                                     "pdc",
+                                     dns_domain_name,
+                                     NULL,
+                                     dclist,
+                                     numdcs);
 }
 
 /********************************************************************
@@ -889,7 +901,6 @@ NTSTATUS ads_dns_query_pdc(TALLOC_CTX *ctx,
 ********************************************************************/
 
 NTSTATUS ads_dns_query_dcs_guid(TALLOC_CTX *ctx,
-                               const char *dns_hosts_file,
                                const char *dns_forest_name,
                                const char *domain_guid,
                                struct dns_rr_srv **dclist,
@@ -905,6 +916,11 @@ NTSTATUS ads_dns_query_dcs_guid(TALLOC_CTX *ctx,
                return NT_STATUS_NO_MEMORY;
        }
 
-       return ads_dns_query_internal(ctx, dns_hosts_file, "_ldap", domains,
-                                     dns_forest_name, NULL, dclist, numdcs);
+       return ads_dns_query_internal(ctx,
+                                     "_ldap",
+                                     domains,
+                                     dns_forest_name,
+                                     NULL,
+                                     dclist,
+                                     numdcs);
 }
index 1491b699c252ce9754e3513c15b914d001edf9f6..213ed325a6e36f77d6138e0aaf98e7d5676955b1 100644 (file)
 /* The following definitions come from libads/dns.c  */
 
 NTSTATUS ads_dns_lookup_srv(TALLOC_CTX *ctx,
-                               const char *dns_hosts_file,
                                const char *name,
                                struct dns_rr_srv **dclist,
                                int *numdcs);
 NTSTATUS ads_dns_lookup_ns(TALLOC_CTX *ctx,
-                               const char *dns_hosts_file,
                                const char *dnsdomain,
                                struct dns_rr_ns **nslist,
                                int *numns);
 NTSTATUS ads_dns_query_dcs(TALLOC_CTX *ctx,
-                          const char *dns_hosts_file,
                           const char *realm,
                           const char *sitename,
                           struct dns_rr_srv **dclist,
                           int *numdcs );
 NTSTATUS ads_dns_query_gcs(TALLOC_CTX *ctx,
-                          const char *dns_hosts_file,
                           const char *realm,
                           const char *sitename,
                           struct dns_rr_srv **dclist,
                           int *numdcs );
 NTSTATUS ads_dns_query_kdcs(TALLOC_CTX *ctx,
-                           const char *dns_hosts_file,
                            const char *dns_forest_name,
                            const char *sitename,
                            struct dns_rr_srv **dclist,
                            int *numdcs );
 NTSTATUS ads_dns_query_pdc(TALLOC_CTX *ctx,
-                          const char *dns_hosts_file,
                           const char *dns_domain_name,
                           struct dns_rr_srv **dclist,
                           int *numdcs );
 NTSTATUS ads_dns_query_dcs_guid(TALLOC_CTX *ctx,
-                               const char *dns_hosts_file,
                                const char *dns_forest_name,
                                const char *domain_guid,
                                struct dns_rr_srv **dclist,
index 5fac61c50fea23137eafcfc96588e6fbaff135ee..b1948ba35b18cf28901c56a831cbfb578b34f4f9 100755 (executable)
@@ -2,6 +2,6 @@
 
 bld.SAMBA_LIBRARY('addns',
                    source='dnsquery.c dnsrecord.c dnsutils.c dnssock.c dnsgss.c dnsmarshall.c error.c',
-                   public_deps='dnshostsfile samba-util gssapi ndr resolv',
+                   public_deps='samba-util gssapi ndr resolv',
                    private_library=True,
                    vars=locals())
index c774b445411ad1a87bda6a05361b6697969fb2dd..93d5c791bf0a2c669c2d27ebecc66f95d08e9601 100644 (file)
@@ -539,7 +539,6 @@ ADS_STATUS ads_connect_gc(ADS_STRUCT *ads)
        int i;
        bool done = false;
        char *sitename = NULL;
-       const char *dns_hosts_file;
 
        if (!realm)
                realm = lp_realm();
@@ -549,7 +548,6 @@ ADS_STATUS ads_connect_gc(ADS_STRUCT *ads)
                sitename = sitename_fetch(frame, realm);
        }
 
-       dns_hosts_file = lp_parm_const_string(-1, "resolv", "host file", NULL);
        do {
                /* We try once with a sitename and once without
                   (unless we don't have a sitename and then we're
@@ -558,9 +556,11 @@ ADS_STATUS ads_connect_gc(ADS_STRUCT *ads)
                if (sitename == NULL)
                        done = true;
 
-               nt_status = ads_dns_query_gcs(frame, dns_hosts_file,
-                                             realm, sitename,
-                                             &gcs_list, &num_gcs);
+               nt_status = ads_dns_query_gcs(frame,
+                                             realm,
+                                             sitename,
+                                             &gcs_list,
+                                             &num_gcs);
 
                if (!NT_STATUS_IS_OK(nt_status)) {
                        ads_status = ADS_ERROR_NT(nt_status);
index 0d1570a98547cd17b2c145d1d1df0de17e5424d2..ac3bfd6c112e6692d340c3e4997a87fd435b5cec 100644 (file)
@@ -547,39 +547,49 @@ 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;
        char *guid_string;
 
-       dns_hosts_file = lp_parm_const_string(-1, "resolv", "host file", NULL);
        if (flags & DS_PDC_REQUIRED) {
-               status = ads_dns_query_pdc(mem_ctx, dns_hosts_file,
-                                          domain_name, &dcs, &numdcs);
+               status = ads_dns_query_pdc(mem_ctx,
+                                          domain_name,
+                                          &dcs,
+                                          &numdcs);
        } else if (flags & DS_GC_SERVER_REQUIRED) {
-               status = ads_dns_query_gcs(mem_ctx, dns_hosts_file,
-                                          domain_name, site_name,
-                                          &dcs, &numdcs);
+               status = ads_dns_query_gcs(mem_ctx,
+                                          domain_name,
+                                          site_name,
+                                          &dcs,
+                                          &numdcs);
        } else if (flags & DS_KDC_REQUIRED) {
-               status = ads_dns_query_kdcs(mem_ctx, dns_hosts_file,
-                                           domain_name, site_name,
-                                           &dcs, &numdcs);
+               status = ads_dns_query_kdcs(mem_ctx,
+                                           domain_name,
+                                           site_name,
+                                           &dcs,
+                                           &numdcs);
        } else if (flags & DS_DIRECTORY_SERVICE_REQUIRED) {
-               status = ads_dns_query_dcs(mem_ctx, dns_hosts_file,
-                                          domain_name, site_name,
-                                          &dcs, &numdcs);
+               status = ads_dns_query_dcs(mem_ctx,
+                                          domain_name,
+                                          site_name,
+                                          &dcs,
+                                          &numdcs);
        } else if (domain_guid) {
                guid_string = GUID_string(mem_ctx, domain_guid);
                if (!guid_string) {
                        return NT_STATUS_NO_MEMORY;
                }
 
-               status = ads_dns_query_dcs_guid(mem_ctx, dns_hosts_file,
-                                               domain_name, guid_string,
-                                               &dcs, &numdcs);
+               status = ads_dns_query_dcs_guid(mem_ctx,
+                                               domain_name,
+                                               guid_string,
+                                               &dcs,
+                                               &numdcs);
                TALLOC_FREE(guid_string);
        } else {
-               status = ads_dns_query_dcs(mem_ctx, dns_hosts_file,
-                                          domain_name, site_name,
-                                          &dcs, &numdcs);
+               status = ads_dns_query_dcs(mem_ctx,
+                                          domain_name,
+                                          site_name,
+                                          &dcs,
+                                          &numdcs);
        }
 
        if (!NT_STATUS_IS_OK(status)) {
index 654ca1d349928d64c99f7d9560c6e5cf07e937d3..3ee79b68a31a5b178a91a8719a2c4b7cc8219511 100644 (file)
@@ -2424,7 +2424,6 @@ static NTSTATUS resolve_ads(const char *name,
        struct dns_rr_srv       *dcs = NULL;
        int                     numdcs = 0;
        int                     numaddrs = 0;
-       const char *dns_hosts_file;
 
        if ((name_type != 0x1c) && (name_type != KDC_NAME_TYPE) &&
            (name_type != 0x1b)) {
@@ -2437,28 +2436,32 @@ static NTSTATUS resolve_ads(const char *name,
        }
 
        /* The DNS code needs fixing to find IPv6 addresses... JRA. */
-
-       dns_hosts_file = lp_parm_const_string(-1, "resolv", "host file", NULL);
        switch (name_type) {
                case 0x1b:
                        DEBUG(5,("resolve_ads: Attempting to resolve "
                                 "PDC for %s using DNS\n", name));
-                       status = ads_dns_query_pdc(ctx, dns_hosts_file,
-                                                  name, &dcs, &numdcs);
+                       status = ads_dns_query_pdc(ctx,
+                                                  name,
+                                                  &dcs,
+                                                  &numdcs);
                        break;
 
                case 0x1c:
                        DEBUG(5,("resolve_ads: Attempting to resolve "
                                 "DCs for %s using DNS\n", name));
-                       status = ads_dns_query_dcs(ctx, dns_hosts_file,
-                                                  name, sitename, &dcs,
+                       status = ads_dns_query_dcs(ctx,
+                                                  name,
+                                                  sitename,
+                                                  &dcs,
                                                   &numdcs);
                        break;
                case KDC_NAME_TYPE:
                        DEBUG(5,("resolve_ads: Attempting to resolve "
                                 "KDCs for %s using DNS\n", name));
-                       status = ads_dns_query_kdcs(ctx, dns_hosts_file,
-                                                   name, sitename, &dcs,
+                       status = ads_dns_query_kdcs(ctx,
+                                                   name,
+                                                   sitename,
+                                                   &dcs,
                                                    &numdcs);
                        break;
                default:
index 7f3d74d78290505b009c89bc38c56bfc8764c58e..ba500b50b6cec3bbe2ba1ca2143ad20f1e08295d 100644 (file)
@@ -1143,7 +1143,6 @@ static NTSTATUS net_update_dns_internal(struct net_context *c,
        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;
 
@@ -1155,9 +1154,10 @@ static NTSTATUS net_update_dns_internal(struct net_context *c,
        }
        dnsdomain++;
 
-       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);
+       status = ads_dns_lookup_ns(ctx,
+                                  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
@@ -1195,8 +1195,10 @@ static NTSTATUS net_update_dns_internal(struct net_context *c,
 
                /* try again for NS servers */
 
-               status = ads_dns_lookup_ns(ctx, dns_hosts_file, root_domain,
-                                          &nameservers, &ns_count);
+               status = ads_dns_lookup_ns(ctx,
+                                          root_domain,
+                                          &nameservers,
+                                          &ns_count);
 
                if ( !NT_STATUS_IS_OK(status) || (ns_count == 0)) {
                        DEBUG(3,("net_update_dns_internal: Failed to find name server for the %s "
index 9d61be2aa3cbfc468879b3da21d0ec080ce7dd2c..0c019e6e4d40f3e25eac69d917348bd44baece90 100644 (file)
@@ -106,7 +106,6 @@ 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,9 +122,11 @@ static int net_lookup_ldap(struct net_context *c, int argc, const char **argv)
 
        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 );
@@ -159,8 +160,11 @@ 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, 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 );
index 0935928dc2aaab18686020a37f55ec13a9b4944d..08b693272237ee2dd61927bbb7aa9dbc5b79a342 100644 (file)
@@ -278,7 +278,7 @@ static struct dns_records_container get_srv_records(TALLOC_CTX *mem_ctx,
        memset(&ret, 0, sizeof(struct dns_records_container));
        /* this is the blocking call we are going to lots of trouble
           to avoid them in the parent */
-       status = ads_dns_lookup_srv(mem_ctx, NULL, name, &dclist, &count);
+       status = ads_dns_lookup_srv(mem_ctx, name, &dclist, &count);
        if (!NT_STATUS_IS_OK(status)) {
                return ret;
        }