]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3:smbspool: pass struct smb_transports to smb_connect()
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

index 852ab29fa0b24568149f8e6773b672580b02f25c..f58217331ab0ba4294239c8865711feca619b168 100644 (file)
@@ -67,7 +67,7 @@ static NTSTATUS
 smb_connect(struct cli_state **output_cli,
            const char *workgroup,
            const char *server,
-           const int port,
+           const struct smb_transports *transports,
            const char *share,
            const char *username,
            const char *password,
@@ -112,6 +112,7 @@ main(int argc,                      /* I - Number of command-line arguments */
        const char *print_title = NULL;
        const char *print_file = NULL;
        const char *print_copies = NULL;
+       struct smb_transports ts = { .num_transports = 0, };
        int cmp;
        int len;
 
@@ -373,13 +374,15 @@ main(int argc,                    /* I - Number of command-line arguments */
                workgroup = lp_workgroup();
        }
 
+       ts = smbsock_transports_from_port(port);
+
        load_interfaces();
 
        do {
                nt_status = smb_connect(&cli,
                                        workgroup,
                                        server,
-                                       port,
+                                       &ts,
                                        printer,
                                        username,
                                        password,
@@ -662,7 +665,7 @@ static NTSTATUS
 smb_connect(struct cli_state **output_cli,
            const char *workgroup,      /* I - Workgroup */
            const char *server, /* I - Server */
-           const int port,     /* I - Port */
+           const struct smb_transports *transports,    /* I - transports */
            const char *share,  /* I - Printer */
            const char *username,       /* I - Username */
            const char *password,       /* I - Password */
@@ -675,7 +678,6 @@ smb_connect(struct cli_state **output_cli,
        bool fallback_after_kerberos = false;
        const char *user = username;
        NTSTATUS nt_status;
-       struct smb_transports ts = smbsock_transports_from_port(port);
 
        /*
          * Get the names and addresses of the client and server...
@@ -730,7 +732,7 @@ smb_connect(struct cli_state **output_cli,
        nt_status = smb_complete_connection(&cli,
                                            myname,
                                            server,
-                                           &ts,
+                                           transports,
                                            user,
                                            password,
                                            workgroup,
@@ -758,7 +760,7 @@ smb_connect(struct cli_state **output_cli,
        nt_status = smb_complete_connection(&cli,
                                            myname,
                                            server,
-                                           &ts,
+                                           transports,
                                            pwd->pw_name,
                                            "",
                                            workgroup,
@@ -779,7 +781,7 @@ anonymous:
        nt_status = smb_complete_connection(&cli,
                                            myname,
                                            server,
-                                           &ts,
+                                           transports,
                                            "",
                                            "",
                                            workgroup,