libcli/smb: s/smbXcli_session_copy/smbXcli_session_shallow_copy
authorStefan Metzmacher <metze@samba.org>
Tue, 11 Jun 2019 15:42:38 +0000 (17:42 +0200)
committerStefan Metzmacher <metze@samba.org>
Wed, 12 Jun 2019 12:42:26 +0000 (12:42 +0000)
We should make clear that this is a function for testing only,
with possible strange side effects.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
libcli/smb/smbXcli_base.c
libcli/smb/smbXcli_base.h
source4/torture/smb2/compound.c

index 79e6658182e81f5f0bc6233d7e75fb4b4edb8be5..3d7a0625ccc269a04f87d9d0eb21fbe19edcab41 100644 (file)
@@ -5558,7 +5558,7 @@ struct smbXcli_session *smbXcli_session_create(TALLOC_CTX *mem_ctx,
        return session;
 }
 
-struct smbXcli_session *smbXcli_session_copy(TALLOC_CTX *mem_ctx,
+struct smbXcli_session *smbXcli_session_shallow_copy(TALLOC_CTX *mem_ctx,
                                                struct smbXcli_session *src)
 {
        struct smbXcli_session *session;
@@ -5573,6 +5573,11 @@ struct smbXcli_session *smbXcli_session_copy(TALLOC_CTX *mem_ctx,
                return NULL;
        }
 
+       /*
+        * Note we keep a pointer to the session keys of the
+        * main session and rely on the caller to free the
+        * shallow copy first!
+        */
        session->conn = src->conn;
        *session->smb2 = *src->smb2;
        session->smb2_channel = src->smb2_channel;
index a132fbe95afff831971b291c9a1d0c2b228fd5c4..2afc7165cd97942f3df3e11fa954715f51f37408 100644 (file)
@@ -466,7 +466,7 @@ NTSTATUS smb2cli_validate_negotiate_info_recv(struct tevent_req *req);
 
 struct smbXcli_session *smbXcli_session_create(TALLOC_CTX *mem_ctx,
                                               struct smbXcli_conn *conn);
-struct smbXcli_session *smbXcli_session_copy(TALLOC_CTX *mem_ctx,
+struct smbXcli_session *smbXcli_session_shallow_copy(TALLOC_CTX *mem_ctx,
                                               struct smbXcli_session *src);
 bool smbXcli_session_is_guest(struct smbXcli_session *session);
 bool smbXcli_session_is_authenticated(struct smbXcli_session *session);
index a84efc20186b7d5690a466b838508c8a6cde0fd4..fd657a4a16ecbcb18b3b966e5874341c9aa036f5 100644 (file)
@@ -262,7 +262,7 @@ static bool test_compound_related1(struct torture_context *tctx,
                                0, /* capabilities */
                                0 /* maximal_access */);
 
-       tree->session->smbXcli = smbXcli_session_copy(tree->session,
+       tree->session->smbXcli = smbXcli_session_shallow_copy(tree->session,
                                                        tree->session->smbXcli);
        smb2cli_session_set_id_and_flags(tree->session->smbXcli, UINT64_MAX, 0);
 
@@ -341,7 +341,7 @@ static bool test_compound_related2(struct torture_context *tctx,
                                0, /* capabilities */
                                0 /* maximal_access */);
 
-       tree->session->smbXcli = smbXcli_session_copy(tree->session,
+       tree->session->smbXcli = smbXcli_session_shallow_copy(tree->session,
                                                        tree->session->smbXcli);
        smb2cli_session_set_id_and_flags(tree->session->smbXcli, UINT64_MAX, 0);
 
@@ -930,7 +930,7 @@ static bool test_compound_invalid2(struct torture_context *tctx,
                                0, /* capabilities */
                                0 /* maximal_access */);
 
-       tree->session->smbXcli = smbXcli_session_copy(tree->session,
+       tree->session->smbXcli = smbXcli_session_shallow_copy(tree->session,
                                                        tree->session->smbXcli);
        smb2cli_session_set_id_and_flags(tree->session->smbXcli, UINT64_MAX, 0);