]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3:libsmb: pass struct smb_transports to cli_start_connection()
authorStefan Metzmacher <metze@samba.org>
Sun, 6 Apr 2025 17:05:19 +0000 (19:05 +0200)
committerStefan Metzmacher <metze@samba.org>
Fri, 18 Apr 2025 10:17:29 +0000 (10:17 +0000)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
source3/client/smbspool.c
source3/libsmb/cliconnect.c
source3/libsmb/proto.h
source3/torture/torture.c

index fd7200a6c0e0faa734e80635ed949b884ed88160..5ad4b404f93ccdcb50b5f2dcbe665c99159329d3 100644 (file)
@@ -542,6 +542,7 @@ smb_complete_connection(struct cli_state **output_cli,
        struct cli_state *cli;  /* New connection */
        NTSTATUS        nt_status;
        struct cli_credentials *creds = NULL;
+       struct smb_transports ts = smbsock_transports_from_port(port);
 
        /* Start the SMB connection */
        nt_status = cli_start_connection(talloc_tos(),
@@ -549,7 +550,7 @@ smb_complete_connection(struct cli_state **output_cli,
                                         myname,
                                         server,
                                         NULL,
-                                        port,
+                                        &ts,
                                         SMB_SIGNING_DEFAULT,
                                         0);
        if (!NT_STATUS_IS_OK(nt_status)) {
index e50408997584f5d42f8911035a3d168917deb19a..551b91de3df40ce666f08b4250271a4ea4dfdab7 100644 (file)
@@ -2835,20 +2835,20 @@ NTSTATUS cli_start_connection(TALLOC_CTX *mem_ctx,
                              struct cli_state **output_cli,
                              const char *my_name,
                              const char *dest_host,
-                             const struct sockaddr_storage *dest_ss, int port,
+                             const struct sockaddr_storage *dest_ss,
+                             const struct smb_transports *transports,
                              enum smb_signing_setting signing_state, int flags)
 {
        struct tevent_context *ev;
        struct tevent_req *req;
        NTSTATUS status = NT_STATUS_NO_MEMORY;
-       struct smb_transports ts = smbsock_transports_from_port(port);
 
        ev = samba_tevent_context_init(mem_ctx);
        if (ev == NULL) {
                goto fail;
        }
        req = cli_start_connection_send(ev, ev, my_name, dest_host, dest_ss,
-                                       &ts, signing_state, flags, NULL);
+                                       transports, signing_state, flags, NULL);
        if (req == NULL) {
                goto fail;
        }
index e3e92e6fcb55ce677ab1071bed119f6ff38fa132..babd5f9dabf17778b28558aeb38f972546f6b0b4 100644 (file)
@@ -96,8 +96,10 @@ NTSTATUS cli_start_connection(TALLOC_CTX *mem_ctx,
                              struct cli_state **output_cli,
                              const char *my_name,
                              const char *dest_host,
-                             const struct sockaddr_storage *dest_ss, int port,
-                             enum smb_signing_setting signing_state, int flags);
+                             const struct sockaddr_storage *dest_ss,
+                             const struct smb_transports *transports,
+                             enum smb_signing_setting signing_state, int flags)
+       NONNULL(2) NONNULL(6);
 NTSTATUS cli_smb1_setup_encryption(struct cli_state *cli,
                                   struct cli_credentials *creds);
 
index 83198eeed3c8872b1e0cfbbd5e34abfbe6fa6ae0..3a83df17f7c2f9a1290323af92e6b84664eccf3c 100644 (file)
@@ -10666,6 +10666,9 @@ static bool run_chain2(int dummy)
        bool done = false;
        NTSTATUS status;
        int flags = CLI_FULL_CONNECTION_FORCE_SMB1;
+       struct smb_transports ts =
+               smb_transports_parse("client smb transports",
+                                    lp_client_smb_transports());
 
        printf("starting chain2 test\n");
        status = cli_start_connection(talloc_tos(),
@@ -10673,7 +10676,7 @@ static bool run_chain2(int dummy)
                                      lp_netbios_name(),
                                      host,
                                      NULL,
-                                     port_to_use,
+                                     &ts,
                                      SMB_SIGNING_DEFAULT,
                                      flags);
        if (!NT_STATUS_IS_OK(status)) {