s3: libsmb: Add internal conversion function ip_service_to_samba_sockaddr().
authorJeremy Allison <jra@samba.org>
Thu, 27 Aug 2020 18:59:20 +0000 (11:59 -0700)
committerNoel Power <npower@samba.org>
Mon, 7 Sep 2020 13:23:44 +0000 (13:23 +0000)
Compiles but commented out as not yet used. Next commit will
change that.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
source3/libsmb/namequery.c

index f2d5866c3722e7029f44ede16714cfbb93899385..c284e4dc5b6a7cd5c59edfc3b48c9f4f75348494 100644 (file)
@@ -64,6 +64,49 @@ bool sockaddr_storage_to_samba_sockaddr(struct samba_sockaddr *sa,
        return true;
 }
 
+#if 0
+/*
+ * Utility function to convert from a struct ip_service
+ * array to a struct samba_sockaddr array. Will go away
+ * once ip_service is gone.
+ */
+
+static NTSTATUS ip_service_to_samba_sockaddr(TALLOC_CTX *ctx,
+                               struct samba_sockaddr **sa_out,
+                               const struct ip_service *iplist_in,
+                               size_t count)
+{
+       struct samba_sockaddr *sa = NULL;
+       size_t i;
+       bool ok;
+
+       if (count == 0) {
+               /*
+                * Zero length arrays are returned as NULL.
+                * in the name resolution code.
+                */
+               *sa_out = NULL;
+               return NT_STATUS_OK;
+       }
+       sa = talloc_zero_array(ctx,
+                               struct samba_sockaddr,
+                               count);
+       if (sa == NULL) {
+               return NT_STATUS_NO_MEMORY;
+       }
+       for (i = 0; i < count; i++) {
+               ok = sockaddr_storage_to_samba_sockaddr(&sa[i],
+                                               &iplist_in[i].ss);
+               if (!ok) {
+                       TALLOC_FREE(sa);
+                       return NT_STATUS_INVALID_PARAMETER;
+               }
+       }
+       *sa_out = sa;
+       return NT_STATUS_OK;
+}
+#endif
+
 /****************************
  * SERVER AFFINITY ROUTINES *
  ****************************/