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;
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;
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);
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);
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);
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);