From ee57c76a687c72ac7e8dc7c135ab53baa7a42776 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 18 Jun 2005 00:02:36 +0000 Subject: r7704: - fixed open_nbt_connection() to return NULL when the connection failed - got rid of smbcli_shutdown() and use talloc_free() instead. (This used to be commit 1011b1bf51d420d6702ef448c894ea8ebeafa284) --- source4/auth/auth_server.c | 16 ++++++++-------- source4/client/client.c | 10 +++++----- source4/client/smbmount.c | 12 ++++++------ source4/client/smbspool.c | 2 +- source4/libcli/cliconnect.c | 8 -------- source4/torture/gentest.c | 2 +- source4/torture/locktest.c | 2 +- source4/torture/locktest2.c | 2 +- source4/torture/torture.c | 17 ++++++++++------- 9 files changed, 33 insertions(+), 38 deletions(-) (limited to 'source4') diff --git a/source4/auth/auth_server.c b/source4/auth/auth_server.c index 8e1c712f5e..fc87cd91f6 100644 --- a/source4/auth/auth_server.c +++ b/source4/auth/auth_server.c @@ -78,7 +78,7 @@ static struct smbcli_state *server_cryptkey(TALLOC_CTX *mem_ctx) if (!connected_ok) { release_server_mutex(); DEBUG(0,("password server not available\n")); - smbcli_shutdown(cli); + talloc_free(cli); return NULL; } @@ -86,7 +86,7 @@ static struct smbcli_state *server_cryptkey(TALLOC_CTX *mem_ctx) desthost, &dest_ip)) { release_server_mutex(); DEBUG(1,("password server fails session request\n")); - smbcli_shutdown(cli); + talloc_free(cli); return NULL; } @@ -99,7 +99,7 @@ static struct smbcli_state *server_cryptkey(TALLOC_CTX *mem_ctx) if (!smbcli_negprot(cli)) { DEBUG(1,("%s rejected the negprot\n",desthost)); release_server_mutex(); - smbcli_shutdown(cli); + talloc_free(cli); return NULL; } @@ -107,7 +107,7 @@ static struct smbcli_state *server_cryptkey(TALLOC_CTX *mem_ctx) !(cli->sec_mode & NEGOTIATE_SECURITY_USER_LEVEL)) { DEBUG(1,("%s isn't in user level security mode\n",desthost)); release_server_mutex(); - smbcli_shutdown(cli); + talloc_free(cli); return NULL; } @@ -121,7 +121,7 @@ static struct smbcli_state *server_cryptkey(TALLOC_CTX *mem_ctx) DEBUG(0,("%s rejected the initial session setup (%s)\n", desthost, smbcli_errstr(cli))); release_server_mutex(); - smbcli_shutdown(cli); + talloc_free(cli); return NULL; } @@ -140,7 +140,7 @@ static void free_server_private_data(void **private_data_pointer) { struct smbcli_state **cli = (struct smbcli_state **)private_data_pointer; if (*cli && (*cli)->initialised) { - smbcli_shutdown(*cli); + talloc_free(*cli); } } @@ -170,7 +170,7 @@ static DATA_BLOB auth_get_challenge_server(const struct auth_context *auth_conte } else if (cli->secblob.length < 8) { /* We can't do much if we don't get a full challenge */ DEBUG(2,("make_auth_info_server: Didn't receive a full challenge from server\n")); - smbcli_shutdown(cli); + talloc_free(cli); return data_blob(NULL, 0); } @@ -361,7 +361,7 @@ use this machine as the password server.\n")); } if (locally_made_cli) { - smbcli_shutdown(cli); + talloc_free(cli); } return(nt_status); diff --git a/source4/client/client.c b/source4/client/client.c index a24fd7bfd3..5e5d7e5dcd 100644 --- a/source4/client/client.c +++ b/source4/client/client.c @@ -1069,7 +1069,7 @@ static BOOL do_altname(char *name) ****************************************************************************/ static int cmd_quit(const char **cmd_ptr) { - smbcli_shutdown(cli); + talloc_free(cli); exit(0); /* NOTREACHED */ return 0; @@ -1263,7 +1263,7 @@ static int do_put(char *rname, char *lname, BOOL reput) } if (f == x_stdin) { - smbcli_shutdown(cli); + talloc_free(cli); exit(0); } @@ -3251,7 +3251,7 @@ static int process(char *base_directory) process_stdin(); } - smbcli_shutdown(cli); + talloc_free(cli); return rc; } @@ -3287,12 +3287,12 @@ static int do_message_op(void) if (!smbcli_transport_establish(cli, &calling, &called)) { d_printf("session request failed\n"); - smbcli_shutdown(cli); + talloc_free(cli); return 1; } send_message(); - smbcli_shutdown(cli); + talloc_free(cli); return 0; } diff --git a/source4/client/smbmount.c b/source4/client/smbmount.c index 45c5f703ce..5c541a7e4f 100644 --- a/source4/client/smbmount.c +++ b/source4/client/smbmount.c @@ -151,7 +151,7 @@ static struct smbcli_state *do_connection(char *the_service) !smbcli_connect(c, server_n, &ip)) { DEBUG(0,("%d: Connection to %s failed\n", sys_getpid(), server_n)); if (c) { - smbcli_shutdown(c); + talloc_free(c); } return NULL; } @@ -170,7 +170,7 @@ static struct smbcli_state *do_connection(char *the_service) char *p; DEBUG(0,("%d: session request to %s failed (%s)\n", sys_getpid(), called.name, smbcli_errstr(c))); - smbcli_shutdown(c); + talloc_free(c); if ((p=strchr_m(called.name, '.'))) { *p = 0; goto again; @@ -186,7 +186,7 @@ static struct smbcli_state *do_connection(char *the_service) if (!smbcli_negprot(c)) { DEBUG(0,("%d: protocol negotiation failed\n", sys_getpid())); - smbcli_shutdown(c); + talloc_free(c); return NULL; } @@ -220,7 +220,7 @@ static struct smbcli_state *do_connection(char *the_service) !smbcli_session_setup(c, "", "", 0, "", 0, workgroup)) { DEBUG(0,("%d: session setup failed: %s\n", sys_getpid(), smbcli_errstr(c))); - smbcli_shutdown(c); + talloc_free(c); return NULL; } DEBUG(0,("Anonymous login successful\n")); @@ -231,7 +231,7 @@ static struct smbcli_state *do_connection(char *the_service) if (!smbcli_tconX(c, share, "?????", password, strlen(password)+1)) { DEBUG(0,("%d: tree connect failed: %s\n", sys_getpid(), smbcli_errstr(c))); - smbcli_shutdown(c); + talloc_free(c); return NULL; } @@ -379,7 +379,7 @@ static void send_fs_socket(char *the_service, char *mount_point, struct smbcli_s If we don't do this we will "leak" sockets and memory on each reconnection we have to make. */ - smbcli_shutdown(c); + talloc_free(c); c = NULL; if (!closed) { diff --git a/source4/client/smbspool.c b/source4/client/smbspool.c index 2e7afc5ec4..c975e04771 100644 --- a/source4/client/smbspool.c +++ b/source4/client/smbspool.c @@ -233,7 +233,7 @@ static int smb_print(struct smbcli_state *, char *, FILE *); if ((status = smb_print(cli, argv[3] /* title */, fp)) != 0) break; - smbcli_shutdown(cli); + talloc_free(cli); /* * Return the queue status... diff --git a/source4/libcli/cliconnect.c b/source4/libcli/cliconnect.c index 0009151429..489aea82dd 100644 --- a/source4/libcli/cliconnect.c +++ b/source4/libcli/cliconnect.c @@ -183,14 +183,6 @@ struct smbcli_state *smbcli_state_init(TALLOC_CTX *mem_ctx) return cli; } -/**************************************************************************** - Shutdown a client structure. -****************************************************************************/ -void smbcli_shutdown(struct smbcli_state *cli) -{ - talloc_free(cli); -} - /* parse a //server/share type UNC name */ diff --git a/source4/torture/gentest.c b/source4/torture/gentest.c index a9d162b540..d6f5046820 100644 --- a/source4/torture/gentest.c +++ b/source4/torture/gentest.c @@ -164,7 +164,7 @@ static BOOL connect_servers(void) for (j=0;jtree)); ret = False; } - smbcli_shutdown(c); + talloc_free(c); return ret; } @@ -489,7 +492,7 @@ static BOOL run_tcon_test(void) if (NT_STATUS_IS_ERR(smbcli_tconX(cli, share, "?????", password))) { printf("%s refused 2nd tree connect (%s)\n", host, smbcli_errstr(cli->tree)); - smbcli_shutdown(cli); + talloc_free(cli); return False; } @@ -649,7 +652,7 @@ static BOOL run_tcon_devtype_test(void) if (!tcon_devtest(cli1, share, "FOOBA", NT_STATUS_BAD_DEVICE_TYPE)) ret = False; - smbcli_shutdown(cli1); + talloc_free(cli1); if (ret) printf("Passed tcondevtest\n"); -- cgit