]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3:libsmb: pass struct loadparm_context to smbsock_any_connect_send()
authorStefan Metzmacher <metze@samba.org>
Thu, 10 Apr 2025 14:48:48 +0000 (16:48 +0200)
committerStefan Metzmacher <metze@samba.org>
Fri, 18 Apr 2025 10:17:30 +0000 (10:17 +0000)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
source3/libsmb/cliconnect.c
source3/libsmb/smbsock_connect.c
source3/libsmb/smbsock_connect.h

index 09b2240bde8265d5c3e833e84ed254e7601e082b..d83a820f9e1d6a87b2ce9285ad2d284c9481578e 100644 (file)
@@ -2423,6 +2423,7 @@ static struct tevent_req *cli_connect_sock_send(
 {
        struct tevent_req *req, *subreq;
        struct cli_connect_sock_state *state;
+       struct loadparm_context *lp_ctx = NULL;
        struct sockaddr_storage *addrs = NULL;
        unsigned i;
        unsigned num_addrs = 0;
@@ -2435,6 +2436,11 @@ static struct tevent_req *cli_connect_sock_send(
        }
        state->transports = *transports;
 
+       lp_ctx = loadparm_init_s3(talloc_tos(), loadparm_s3_helpers());
+       if (tevent_req_nomem(lp_ctx, req)) {
+               return tevent_req_post(req, ev);
+       }
+
        if ((pss == NULL) || is_zero_addr(pss)) {
 
                /*
@@ -2476,7 +2482,8 @@ static struct tevent_req *cli_connect_sock_send(
        }
 
        subreq = smbsock_any_connect_send(
-               state, ev, addrs, state->called_names, state->called_types,
+               state, ev, lp_ctx, addrs,
+               state->called_names, state->called_types,
                state->calling_names, NULL, num_addrs, &state->transports);
        if (tevent_req_nomem(subreq, req)) {
                return tevent_req_post(req, ev);
index 2a4cfa800439e3593580ee150280c002d7ba6d9e..f000f8fe61d09e7eb29be9b7297025c772d70053 100644 (file)
@@ -814,6 +814,7 @@ static void smbsock_any_connect_connected(struct tevent_req *subreq);
 
 struct tevent_req *smbsock_any_connect_send(TALLOC_CTX *mem_ctx,
                                            struct tevent_context *ev,
+                                           struct loadparm_context *lp_ctx,
                                            const struct sockaddr_storage *addrs,
                                            const char **called_names,
                                            int *called_types,
@@ -1046,7 +1047,7 @@ NTSTATUS smbsock_any_connect(const struct sockaddr_storage *addrs,
        if (ev == NULL) {
                goto fail;
        }
-       req = smbsock_any_connect_send(frame, ev, addrs,
+       req = smbsock_any_connect_send(frame, ev, lp_ctx, addrs,
                                       called_names, called_types,
                                       calling_names, calling_types,
                                       num_addrs, transports);
index 902e977cfeb89082926208cce33a2cc3d8e8d24a..2449fb5e8445994109745d2d245ba87334df2089 100644 (file)
@@ -44,6 +44,7 @@ NTSTATUS smbsock_connect(const struct sockaddr_storage *addr,
 
 struct tevent_req *smbsock_any_connect_send(TALLOC_CTX *mem_ctx,
                                            struct tevent_context *ev,
+                                           struct loadparm_context *lp_ctx,
                                            const struct sockaddr_storage *addrs,
                                            const char **called_names,
                                            int *called_types,
@@ -51,7 +52,7 @@ struct tevent_req *smbsock_any_connect_send(TALLOC_CTX *mem_ctx,
                                            int *calling_types,
                                            size_t num_addrs,
                                            const struct smb_transports *transports)
-       NONNULL(2) NONNULL(3) NONNULL(9);
+       NONNULL(2) NONNULL(3) NONNULL(4) NONNULL(10);
 NTSTATUS smbsock_any_connect_recv(struct tevent_req *req, int *pfd,
                                  size_t *chosen_index, uint16_t *chosen_port);
 NTSTATUS smbsock_any_connect(const struct sockaddr_storage *addrs,