From: Stefan Metzmacher Date: Wed, 21 Jun 2017 14:03:32 +0000 (+0200) Subject: s3:libsmb: pass an optional const struct sockaddr_storage *dest_ss to cli_cm_open() X-Git-Url: http://git.samba.org/?p=metze%2Fsamba%2Fwip.git;a=commitdiff_plain;h=50e3add911e3c69231e8a47e938a4be146caffaa s3:libsmb: pass an optional const struct sockaddr_storage *dest_ss to cli_cm_open() Signed-off-by: Stefan Metzmacher --- diff --git a/source3/client/client.c b/source3/client/client.c index 9db8ff657177..3a971286b4fa 100644 --- a/source3/client/client.c +++ b/source3/client/client.c @@ -84,7 +84,6 @@ bool lowercase = false; static bool backup_intent = false; static struct sockaddr_storage dest_ss; -static char dest_ss_str[INET6_ADDRSTRLEN]; #define SEPARATORS " \t\n\r" @@ -5703,7 +5702,7 @@ static int process_command_string(const char *cmd_in) NTSTATUS status; status = cli_cm_open(talloc_tos(), NULL, - have_ip ? dest_ss_str : desthost, + desthost, have_ip ? &dest_ss : NULL, service, popt_get_cmdline_auth_info(), smb_encrypt, max_protocol, port, name_type, @@ -6146,7 +6145,7 @@ static int process(const char *base_directory) NTSTATUS status; status = cli_cm_open(talloc_tos(), NULL, - have_ip ? dest_ss_str : desthost, + desthost, have_ip ? &dest_ss : NULL, service, popt_get_cmdline_auth_info(), smb_encrypt, max_protocol, port, name_type, &cli); @@ -6183,7 +6182,7 @@ static int do_host_query(const char *query_host) NTSTATUS status; status = cli_cm_open(talloc_tos(), NULL, - have_ip ? dest_ss_str : query_host, + desthost, have_ip ? &dest_ss : NULL, "IPC$", popt_get_cmdline_auth_info(), smb_encrypt, max_protocol, port, name_type, &cli); @@ -6229,7 +6228,7 @@ static int do_host_query(const char *query_host) cli_shutdown(cli); d_printf("Reconnecting with SMB1 for workgroup listing.\n"); status = cli_cm_open(talloc_tos(), NULL, - have_ip ? dest_ss_str : query_host, + desthost, have_ip ? &dest_ss : NULL, "IPC$", popt_get_cmdline_auth_info(), smb_encrypt, max_proto, NBT_SMB_PORT, name_type, &cli); @@ -6262,7 +6261,7 @@ static int do_tar_op(const char *base_directory) NTSTATUS status; status = cli_cm_open(talloc_tos(), NULL, - have_ip ? dest_ss_str : desthost, + desthost, have_ip ? &dest_ss : NULL, service, popt_get_cmdline_auth_info(), smb_encrypt, max_protocol, port, name_type, &cli); @@ -6545,7 +6544,6 @@ int main(int argc,char *argv[]) exit(1); } have_ip = true; - print_sockaddr(dest_ss_str, sizeof(dest_ss_str), &dest_ss); } break; case 'E': diff --git a/source3/lib/netapi/cm.c b/source3/lib/netapi/cm.c index 95132f28f05c..c9d9b9bfac5f 100644 --- a/source3/lib/netapi/cm.c +++ b/source3/lib/netapi/cm.c @@ -108,7 +108,7 @@ static WERROR libnetapi_open_ipc_connection(struct libnetapi_ctx *ctx, } status = cli_cm_open(ctx, NULL, - server_name, "IPC$", + server_name, NULL, "IPC$", auth_info, false, lp_client_ipc_max_protocol(), diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c index 173cea8ef4f6..d0b0e9465df5 100644 --- a/source3/libsmb/clidfs.c +++ b/source3/libsmb/clidfs.c @@ -424,6 +424,7 @@ static struct cli_state *cli_cm_find(struct cli_state *cli, NTSTATUS cli_cm_open(TALLOC_CTX *ctx, struct cli_state *referring_cli, const char *server, + const struct sockaddr_storage *dest_ss, const char *share, const struct user_auth_info *auth_info, bool force_encrypt, @@ -453,7 +454,7 @@ NTSTATUS cli_cm_open(TALLOC_CTX *ctx, status = cli_cm_connect(ctx, referring_cli, server, - NULL, + dest_ss, share, auth_info, force_encrypt, diff --git a/source3/libsmb/proto.h b/source3/libsmb/proto.h index 2fae76aa6336..cdca2f5674ea 100644 --- a/source3/libsmb/proto.h +++ b/source3/libsmb/proto.h @@ -146,6 +146,7 @@ NTSTATUS cli_cm_force_encryption(struct cli_state *c, NTSTATUS cli_cm_open(TALLOC_CTX *ctx, struct cli_state *referring_cli, const char *server, + const struct sockaddr_storage *dest_ss, const char *share, const struct user_auth_info *auth_info, bool force_encrypt,