s4:torture:smb2: add smbcli_options argument to torture_smb2_connection_ext()
authorMichael Adam <obnox@samba.org>
Wed, 25 Sep 2013 05:20:30 +0000 (07:20 +0200)
committerStefan Metzmacher <metze@samba.org>
Sat, 5 Oct 2013 12:04:07 +0000 (14:04 +0200)
Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source4/torture/smb2/durable_open.c
source4/torture/smb2/session.c
source4/torture/smb2/util.c

index 77c23c19cd84bff3afef0608e997b9642fa50fb0..f4822f6a11ae2f72fab7177e6142f2f552df35b1 100644 (file)
@@ -497,6 +497,9 @@ static bool test_durable_open_reopen2a(struct torture_context *tctx,
        struct smb2_create io1, io2;
        uint64_t previous_session_id;
        bool ret = true;
+       struct smbcli_options options;
+
+       options = tree->session->transport->options;
 
        /* Choose a random name in case the state is left a little funky. */
        snprintf(fname, 256, "durable_open_reopen2_%s.dat",
@@ -522,7 +525,9 @@ static bool test_durable_open_reopen2a(struct torture_context *tctx,
        talloc_free(tree);
        tree = NULL;
 
-       if (!torture_smb2_connection_ext(tctx, previous_session_id, &tree)) {
+       if (!torture_smb2_connection_ext(tctx, previous_session_id,
+                                        &options, &tree))
+       {
                torture_warning(tctx, "couldn't reconnect, bailing\n");
                ret = false;
                goto done;
@@ -816,6 +821,9 @@ static bool test_durable_open_delete_on_close2(struct torture_context *tctx,
        uint8_t b = 0;
        uint64_t previous_session_id;
        uint64_t alloc_size_step;
+       struct smbcli_options options;
+
+       options = tree->session->transport->options;
 
        /* Choose a random name in case the state is left a little funky. */
        snprintf(fname, 256, "durable_open_delete_on_close2_%s.dat",
@@ -845,7 +853,9 @@ static bool test_durable_open_delete_on_close2(struct torture_context *tctx,
        /* disconnect, leaving the durable handle in place */
        TALLOC_FREE(tree);
 
-       if (!torture_smb2_connection_ext(tctx, previous_session_id, &tree)) {
+       if (!torture_smb2_connection_ext(tctx, previous_session_id,
+                                        &options, &tree))
+       {
                torture_warning(tctx, "could not reconnect, bailing\n");
                ret = false;
                goto done;
@@ -929,6 +939,9 @@ static bool test_durable_open_file_position(struct torture_context *tctx,
        bool ret = true;
        uint64_t pos;
        uint64_t previous_session_id;
+       struct smbcli_options options;
+
+       options = tree->session->transport->options;
 
        smb2_util_unlink(tree, fname);
 
@@ -978,7 +991,9 @@ static bool test_durable_open_file_position(struct torture_context *tctx,
        tree = NULL;
 
        /* do a session reconnect */
-       if (!torture_smb2_connection_ext(tctx, previous_session_id, &tree)) {
+       if (!torture_smb2_connection_ext(tctx, previous_session_id,
+                                        &options, &tree))
+       {
                torture_warning(tctx, "couldn't reconnect, bailing\n");
                ret = false;
                goto done;
@@ -1580,6 +1595,9 @@ static bool test_durable_open_alloc_size(struct torture_context *tctx,
        uint64_t alloc_size_step;
        uint64_t initial_alloc_size = 0x100;
        const uint8_t *b = NULL;
+       struct smbcli_options options;
+
+       options = tree->session->transport->options;
 
        /* Choose a random name in case the state is left a little funky. */
        snprintf(fname, 256, "durable_open_alloc_size_%s.dat",
@@ -1614,7 +1632,9 @@ static bool test_durable_open_alloc_size(struct torture_context *tctx,
        talloc_free(tree);
        tree = NULL;
 
-       if (!torture_smb2_connection_ext(tctx, previous_session_id, &tree)) {
+       if (!torture_smb2_connection_ext(tctx, previous_session_id,
+                                        &options, &tree))
+       {
                torture_warning(tctx, "couldn't reconnect, bailing\n");
                ret = false;
                goto done;
@@ -1643,7 +1663,9 @@ static bool test_durable_open_alloc_size(struct torture_context *tctx,
        talloc_free(tree);
        tree = NULL;
 
-       if (!torture_smb2_connection_ext(tctx, previous_session_id, &tree)) {
+       if (!torture_smb2_connection_ext(tctx, previous_session_id,
+                                        &options, &tree))
+       {
                torture_warning(tctx, "couldn't reconnect, bailing\n");
                ret = false;
                goto done;
@@ -1671,7 +1693,9 @@ static bool test_durable_open_alloc_size(struct torture_context *tctx,
        talloc_free(tree);
        tree = NULL;
 
-       if (!torture_smb2_connection_ext(tctx, previous_session_id, &tree)) {
+       if (!torture_smb2_connection_ext(tctx, previous_session_id,
+                                        &options, &tree))
+       {
                torture_warning(tctx, "couldn't reconnect, bailing\n");
                ret = false;
                goto done;
@@ -1720,6 +1744,9 @@ static bool test_durable_open_read_only(struct torture_context *tctx,
        uint64_t previous_session_id;
        const uint8_t b = 0;
        uint64_t alloc_size = 0;
+       struct smbcli_options options;
+
+       options = tree->session->transport->options;
 
        /* Choose a random name in case the state is left a little funky. */
        snprintf(fname, 256, "durable_open_initial_alloc_%s.dat",
@@ -1751,7 +1778,9 @@ static bool test_durable_open_read_only(struct torture_context *tctx,
        talloc_free(tree);
        tree = NULL;
 
-       if (!torture_smb2_connection_ext(tctx, previous_session_id, &tree)) {
+       if (!torture_smb2_connection_ext(tctx, previous_session_id,
+                                        &options, &tree))
+       {
                torture_warning(tctx, "couldn't reconnect, bailing\n");
                ret = false;
                goto done;
index 3d7243380cdf218357a7d60e331771f0ac4b7572..d076bb6d186defbe554a7a8088b5113575e14439 100644 (file)
@@ -94,7 +94,10 @@ bool test_session_reconnect1(struct torture_context *tctx, struct smb2_tree *tre
        /* disconnect, reconnect and then do durable reopen */
        previous_session_id = smb2cli_session_current_id(tree->session->smbXcli);
 
-       if (!torture_smb2_connection_ext(tctx, previous_session_id, &tree2)) {
+       if (!torture_smb2_connection_ext(tctx, previous_session_id,
+                                        &tree->session->transport->options,
+                                        &tree2))
+       {
                torture_warning(tctx, "session reconnect failed\n");
                ret = false;
                goto done;
index 4ffcfea1d1856b17d69e71f94fa35b45bac73db3..f23708dd32384a9271999b85ce5e51987de63fb9 100644 (file)
@@ -347,15 +347,13 @@ bool torture_smb2_session_setup(struct torture_context *tctx,
 */
 bool torture_smb2_connection_ext(struct torture_context *tctx,
                                 uint64_t previous_session_id,
+                                const struct smbcli_options *options,
                                 struct smb2_tree **tree)
 {
        NTSTATUS status;
        const char *host = torture_setting_string(tctx, "host", NULL);
        const char *share = torture_setting_string(tctx, "share", NULL);
        struct cli_credentials *credentials = cmdline_credentials;
-       struct smbcli_options options;
-
-       lpcfg_smbcli_options(tctx->lp_ctx, &options);
 
        status = smb2_connect_ext(tctx,
                                  host,
@@ -366,7 +364,7 @@ bool torture_smb2_connection_ext(struct torture_context *tctx,
                                  previous_session_id,
                                  tree,
                                  tctx->ev,
-                                 &options,
+                                 options,
                                  lpcfg_socket_options(tctx->lp_ctx),
                                  lpcfg_gensec_settings(tctx, tctx->lp_ctx)
                                  );
@@ -381,8 +379,11 @@ bool torture_smb2_connection_ext(struct torture_context *tctx,
 bool torture_smb2_connection(struct torture_context *tctx, struct smb2_tree **tree)
 {
        bool ret;
+       struct smbcli_options options;
+
+       lpcfg_smbcli_options(tctx->lp_ctx, &options);
 
-       ret = torture_smb2_connection_ext(tctx, 0, tree);
+       ret = torture_smb2_connection_ext(tctx, 0, &options, tree);
 
        return ret;
 }