diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-06-18 00:02:36 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:18:23 -0500 |
commit | ee57c76a687c72ac7e8dc7c135ab53baa7a42776 (patch) | |
tree | 7374b0dd40265004c6dbf35131a8fa12bcb8364f | |
parent | 82dfe0b29b4d090a20e0bc07a22ee47a5f38330a (diff) | |
download | samba-ee57c76a687c72ac7e8dc7c135ab53baa7a42776.tar.gz samba-ee57c76a687c72ac7e8dc7c135ab53baa7a42776.tar.bz2 samba-ee57c76a687c72ac7e8dc7c135ab53baa7a42776.zip |
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)
-rw-r--r-- | source4/auth/auth_server.c | 16 | ||||
-rw-r--r-- | source4/client/client.c | 10 | ||||
-rw-r--r-- | source4/client/smbmount.c | 12 | ||||
-rw-r--r-- | source4/client/smbspool.c | 2 | ||||
-rw-r--r-- | source4/libcli/cliconnect.c | 8 | ||||
-rw-r--r-- | source4/torture/gentest.c | 2 | ||||
-rw-r--r-- | source4/torture/locktest.c | 2 | ||||
-rw-r--r-- | source4/torture/locktest2.c | 2 | ||||
-rw-r--r-- | source4/torture/torture.c | 17 |
9 files changed, 33 insertions, 38 deletions
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;j<NINSTANCES;j++) { if (servers[i].cli[j]) { smbcli_tdis(servers[i].cli[j]); - smbcli_shutdown(servers[i].cli[j]); + talloc_free(servers[i].cli[j]); servers[i].cli[j] = NULL; } } diff --git a/source4/torture/locktest.c b/source4/torture/locktest.c index 4b4e9d3bd3..62eabeb688 100644 --- a/source4/torture/locktest.c +++ b/source4/torture/locktest.c @@ -150,7 +150,7 @@ static void reconnect(struct smbcli_state *cli[NSERVERS][NCONNECTIONS], int fnum fnum[server][conn][f] = -1; } } - smbcli_shutdown(cli[server][conn]); + talloc_free(cli[server][conn]); } cli[server][conn] = connect_one(share[server], server); if (!cli[server][conn]) { diff --git a/source4/torture/locktest2.c b/source4/torture/locktest2.c index 4bd99cd5d0..e5cd8a60af 100644 --- a/source4/torture/locktest2.c +++ b/source4/torture/locktest2.c @@ -196,7 +196,7 @@ static void reconnect(struct smbcli_state *cli[NSERVERS][NCONNECTIONS], smbcli_close(cli[server][conn], fnum[server][fstype][conn][f]); } smbcli_ulogoff(cli[server][conn]); - smbcli_shutdown(cli[server][conn]); + talloc_free(cli[server][conn]); } cli[server][conn] = connect_one(share[server]); if (!cli[server][conn]) { diff --git a/source4/torture/torture.c b/source4/torture/torture.c index 5036822aa4..1ca4046a49 100644 --- a/source4/torture/torture.c +++ b/source4/torture/torture.c @@ -56,21 +56,24 @@ static struct smbcli_state *open_nbt_connection(void) cli = smbcli_state_init(NULL); if (!cli) { printf("Failed initialize smbcli_struct to connect with %s\n", host); - return NULL; + goto failed; } if (!smbcli_socket_connect(cli, host)) { printf("Failed to connect with %s\n", host); - return cli; + goto failed; } if (!smbcli_transport_establish(cli, &calling, &called)) { printf("%s rejected the session\n",host); - smbcli_shutdown(cli); - return NULL; + goto failed; } return cli; + +failed: + talloc_free(cli); + return NULL; } BOOL torture_open_connection_share(struct smbcli_state **c, @@ -112,7 +115,7 @@ BOOL torture_close_connection(struct smbcli_state *c) printf("tdis failed (%s)\n", smbcli_errstr(c->tree)); 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"); |