]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lib: addns: Fix ads_dns_lookup_ns(), ads_dns_query_dcs(), ads_dns_query_gcs(), ads_dn...
authorJeremy Allison <jra@samba.org>
Thu, 10 Sep 2020 15:19:37 +0000 (16:19 +0100)
committerNoel Power <npower@samba.org>
Tue, 15 Sep 2020 10:09:37 +0000 (10:09 +0000)
Easier to do all callers at once.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
lib/addns/dnsquery.c
lib/addns/dnsquery.h
source3/libsmb/dsgetdcname.c
source3/libsmb/namequery.c
source3/utils/net_ads.c
source3/utils/net_lookup.c

index 92709234edbcf74e77a3481818aab89520e2ed19..c73ee7b50f10bdf18efb5ced6c451305a1f715b8 100644 (file)
@@ -347,7 +347,7 @@ NTSTATUS ads_dns_lookup_ns_recv(struct tevent_req *req,
 NTSTATUS ads_dns_lookup_ns(TALLOC_CTX *ctx,
                                const char *dnsdomain,
                                struct dns_rr_ns **nslist,
-                               int *numns)
+                               size_t *numns)
 {
        struct tevent_context *ev;
        struct tevent_req *req;
@@ -791,7 +791,7 @@ static NTSTATUS ads_dns_query_internal(TALLOC_CTX *ctx,
                                       const char *realm,
                                       const char *sitename,
                                       struct dns_rr_srv **dclist,
-                                      int *numdcs )
+                                      size_t *numdcs )
 {
        char *name;
        NTSTATUS status;
@@ -827,10 +827,6 @@ static NTSTATUS ads_dns_query_internal(TALLOC_CTX *ctx,
        status = ads_dns_lookup_srv(ctx, name, dclist, &num_srvs);
 
 done:
-       /* check overflow size_t -> int */
-       if ((int)num_srvs < 0) {
-               return NT_STATUS_INVALID_PARAMETER;
-       }
        *numdcs = num_srvs;
        return status;
 }
@@ -843,7 +839,7 @@ NTSTATUS ads_dns_query_dcs(TALLOC_CTX *ctx,
                           const char *realm,
                           const char *sitename,
                           struct dns_rr_srv **dclist,
-                          int *numdcs )
+                          size_t *numdcs )
 {
        NTSTATUS status;
 
@@ -865,7 +861,7 @@ NTSTATUS ads_dns_query_gcs(TALLOC_CTX *ctx,
                           const char *realm,
                           const char *sitename,
                           struct dns_rr_srv **dclist,
-                          int *numdcs )
+                          size_t *numdcs )
 {
        NTSTATUS status;
 
@@ -889,7 +885,7 @@ NTSTATUS ads_dns_query_kdcs(TALLOC_CTX *ctx,
                            const char *dns_forest_name,
                            const char *sitename,
                            struct dns_rr_srv **dclist,
-                           int *numdcs )
+                           size_t *numdcs )
 {
        NTSTATUS status;
 
@@ -910,7 +906,7 @@ NTSTATUS ads_dns_query_kdcs(TALLOC_CTX *ctx,
 NTSTATUS ads_dns_query_pdc(TALLOC_CTX *ctx,
                           const char *dns_domain_name,
                           struct dns_rr_srv **dclist,
-                          int *numdcs )
+                          size_t *numdcs )
 {
        return ads_dns_query_internal(ctx,
                                      "_ldap",
@@ -929,7 +925,7 @@ NTSTATUS ads_dns_query_dcs_guid(TALLOC_CTX *ctx,
                                const char *dns_forest_name,
                                const char *domain_guid,
                                struct dns_rr_srv **dclist,
-                               int *numdcs )
+                               size_t *numdcs )
 {
        /*_ldap._tcp.DomainGuid.domains._msdcs.DnsForestName */
 
index ddcafeb3936604ff686e60f3302e0726e64e0eb9..777f1a7de6ae8720ef29d4260dafb3d2fde3c70a 100644 (file)
@@ -47,7 +47,7 @@ NTSTATUS ads_dns_lookup_ns_recv(struct tevent_req *req,
 NTSTATUS ads_dns_lookup_ns(TALLOC_CTX *ctx,
                                const char *dnsdomain,
                                struct dns_rr_ns **nslist,
-                               int *numns);
+                               size_t *numns);
 struct tevent_req *ads_dns_lookup_a_send(TALLOC_CTX *mem_ctx,
                                struct tevent_context *ev,
                                const char *name);
@@ -83,24 +83,24 @@ NTSTATUS ads_dns_query_dcs(TALLOC_CTX *ctx,
                           const char *realm,
                           const char *sitename,
                           struct dns_rr_srv **dclist,
-                          int *numdcs );
+                          size_t *numdcs );
 NTSTATUS ads_dns_query_gcs(TALLOC_CTX *ctx,
                           const char *realm,
                           const char *sitename,
                           struct dns_rr_srv **dclist,
-                          int *numdcs );
+                          size_t *numdcs );
 NTSTATUS ads_dns_query_kdcs(TALLOC_CTX *ctx,
                            const char *dns_forest_name,
                            const char *sitename,
                            struct dns_rr_srv **dclist,
-                           int *numdcs );
+                           size_t *numdcs );
 NTSTATUS ads_dns_query_pdc(TALLOC_CTX *ctx,
                           const char *dns_domain_name,
                           struct dns_rr_srv **dclist,
-                          int *numdcs );
+                          size_t *numdcs );
 NTSTATUS ads_dns_query_dcs_guid(TALLOC_CTX *ctx,
                                const char *dns_forest_name,
                                const char *domain_guid,
                                struct dns_rr_srv **dclist,
-                               int *numdcs );
+                               size_t *numdcs );
 #endif /* _ADS_DNS_H */
index 01e7a42cd772d7c62c557b97b5e87b0554d9f1db..a8d3c665bba9ccec8a6d3317b1564adc1618caaa 100644 (file)
@@ -522,7 +522,7 @@ static NTSTATUS discover_dc_dns(TALLOC_CTX *mem_ctx,
        size_t i;
        NTSTATUS status;
        struct dns_rr_srv *dcs = NULL;
-       int numdcs = 0;
+       size_t numdcs = 0;
        struct ip_service_name *dclist = NULL;
        size_t ret_count = 0;
        size_t num_dns_lookups = 0;
@@ -576,12 +576,6 @@ static NTSTATUS discover_dc_dns(TALLOC_CTX *mem_ctx,
                return status;
        }
 
-       /* Wrap protect. */
-       if (numdcs < 0) {
-               TALLOC_FREE(dcs);
-               return NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND;
-       }
-
        if (numdcs == 0) {
                TALLOC_FREE(dcs);
                return NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND;
index 6157f7fe356820f7d663685d72c4d4cc62d7b9dd..8ad98740e46d8b00b72c6110594320e06bffc6d5 100644 (file)
@@ -2945,10 +2945,10 @@ static NTSTATUS resolve_ads(TALLOC_CTX *ctx,
                            struct sockaddr_storage **return_addrs,
                            size_t *return_count)
 {
-       int                     i;
+       size_t                  i;
        NTSTATUS                status;
        struct dns_rr_srv       *dcs = NULL;
-       int                     numdcs = 0;
+       size_t                  numdcs = 0;
        size_t                  numaddrs = 0;
        size_t num_srv_addrs = 0;
        struct sockaddr_storage *srv_addrs = NULL;
@@ -3008,12 +3008,6 @@ static NTSTATUS resolve_ads(TALLOC_CTX *ctx,
                return NT_STATUS_OK;
        }
 
-       /* Paranoia. */
-       if (numdcs < 0) {
-               TALLOC_FREE(dcs);
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
        /*
         * Split the returned values into 2 arrays. First one
         * is a struct sockaddr_storage array that contains results
index 3eb139d0bb4b9f9aa00ac8e2177c2d9c3185fb86..9a3491ee9176a35735036922f91444c66320138b 100644 (file)
@@ -1516,7 +1516,7 @@ static NTSTATUS net_update_dns_internal(struct net_context *c,
                                        int num_addrs, bool remove_host)
 {
        struct dns_rr_ns *nameservers = NULL;
-       int ns_count = 0, i;
+       size_t ns_count = 0, i;
        NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
        DNS_ERROR dns_err;
        fstring dns_server;
index c1dabcd4cac47848d6b9793c8df933300658880e..ad4c2ff59d3b5c579a7b45e3a20eae0d9b392aa5 100644 (file)
@@ -102,7 +102,7 @@ static int net_lookup_ldap(struct net_context *c, int argc, const char **argv)
        const char *domain;
        struct sockaddr_storage ss;
        struct dns_rr_srv *dcs = NULL;
-       int numdcs = 0;
+       size_t numdcs = 0;
        char *sitename;
        TALLOC_CTX *ctx;
        NTSTATUS status;