diff options
author | Stefan Metzmacher <metze@samba.org> | 2019-06-11 17:42:38 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2019-06-12 12:42:26 +0000 |
commit | 317054f6eb7c485d8a5476df6df7dbc05a51c4a4 (patch) | |
tree | 666e396557c0dbace8acdd4eac511fbeae735f4a /libcli | |
parent | 4d81e48a17138485b71b1e108600f168a0110b96 (diff) | |
download | samba-317054f6eb7c485d8a5476df6df7dbc05a51c4a4.tar.gz |
libcli/smb: s/smbXcli_session_copy/smbXcli_session_shallow_copy
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>
Diffstat (limited to 'libcli')
-rw-r--r-- | libcli/smb/smbXcli_base.c | 7 | ||||
-rw-r--r-- | libcli/smb/smbXcli_base.h | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c index 79e6658182e..3d7a0625ccc 100644 --- a/libcli/smb/smbXcli_base.c +++ b/libcli/smb/smbXcli_base.c @@ -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; diff --git a/libcli/smb/smbXcli_base.h b/libcli/smb/smbXcli_base.h index a132fbe95af..2afc7165cd9 100644 --- a/libcli/smb/smbXcli_base.h +++ b/libcli/smb/smbXcli_base.h @@ -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); |