[SCM] Samba Shared Repository - branch master updated
Richard Sharpe
sharpe at samba.org
Wed Jan 30 19:54:02 MST 2013
The branch, master has been updated
via 48d954b Fix the compound tests to correctly pass against Windows when run with --signing=required.
via 1624d83 Add new function smbXcli_session_copy(), to be used when creating compound SMB2 requests.
from 7b0b1d6 smbd: Fix a typo
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 48d954b90e6aa14721d236180df959a038416672
Author: Jeremy Allison <jra at samba.org>
Date: Mon Jan 28 16:52:11 2013 -0800
Fix the compound tests to correctly pass against Windows when run with --signing=required.
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Richard Sharpe <realrichardsharpe at gmail.org>
Autobuild-User(master): Richard Sharpe <sharpe at samba.org>
Autobuild-Date(master): Thu Jan 31 03:53:55 CET 2013 on sn-devel-104
commit 1624d83fdeb675ee4032f5d3cabcf86d5b05a3cb
Author: Jeremy Allison <jra at samba.org>
Date: Mon Jan 28 16:51:25 2013 -0800
Add new function smbXcli_session_copy(), to be used when creating compound SMB2 requests.
Copies the signing state needed to make client compound requests work
on signed connections.
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Richard Sharpe <realrichardsharpe at gmail.com>
-----------------------------------------------------------------------
Summary of changes:
libcli/smb/smbXcli_base.c | 27 +++++++++++++++++++++++++++
libcli/smb/smbXcli_base.h | 2 ++
source4/torture/smb2/compound.c | 12 ++++++------
3 files changed, 35 insertions(+), 6 deletions(-)
Changeset truncated at 500 lines:
diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c
index c547515..421e884 100644
--- a/libcli/smb/smbXcli_base.c
+++ b/libcli/smb/smbXcli_base.c
@@ -4482,6 +4482,33 @@ 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 *src)
+{
+ struct smbXcli_session *session;
+
+ session = talloc_zero(mem_ctx, struct smbXcli_session);
+ if (session == NULL) {
+ return NULL;
+ }
+ session->smb2 = talloc_zero(session, struct smb2cli_session);
+ if (session->smb2 == NULL) {
+ talloc_free(session);
+ return NULL;
+ }
+
+ session->conn = src->conn;
+ *session->smb2 = *src->smb2;
+ session->smb2_channel = src->smb2_channel;
+ session->disconnect_expired = src->disconnect_expired;
+
+ DLIST_ADD_END(src->conn->sessions, session, struct smbXcli_session *);
+ talloc_set_destructor(session, smbXcli_session_destructor);
+
+ return session;
+}
+
+
NTSTATUS smbXcli_session_application_key(struct smbXcli_session *session,
TALLOC_CTX *mem_ctx,
DATA_BLOB *key)
diff --git a/libcli/smb/smbXcli_base.h b/libcli/smb/smbXcli_base.h
index b720bc6..f7b60d3 100644
--- a/libcli/smb/smbXcli_base.h
+++ b/libcli/smb/smbXcli_base.h
@@ -260,6 +260,8 @@ NTSTATUS smbXcli_negprot(struct smbXcli_conn *conn,
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 *src);
NTSTATUS smbXcli_session_application_key(struct smbXcli_session *session,
TALLOC_CTX *mem_ctx,
DATA_BLOB *key);
diff --git a/source4/torture/smb2/compound.c b/source4/torture/smb2/compound.c
index e75f682..4a47e14 100644
--- a/source4/torture/smb2/compound.c
+++ b/source4/torture/smb2/compound.c
@@ -92,8 +92,8 @@ static bool test_compound_related1(struct torture_context *tctx,
0, /* capabilities */
0 /* maximal_access */);
- tree->session->smbXcli = smbXcli_session_create(tree->session,
- tree->session->transport->conn);
+ tree->session->smbXcli = smbXcli_session_copy(tree->session,
+ tree->session->smbXcli);
smb2cli_session_set_id_and_flags(tree->session->smbXcli, UINT64_MAX, 0);
req[1] = smb2_close_send(tree, &cl);
@@ -171,8 +171,8 @@ static bool test_compound_related2(struct torture_context *tctx,
0, /* capabilities */
0 /* maximal_access */);
- tree->session->smbXcli = smbXcli_session_create(tree->session,
- tree->session->transport->conn);
+ tree->session->smbXcli = smbXcli_session_copy(tree->session,
+ tree->session->smbXcli);
smb2cli_session_set_id_and_flags(tree->session->smbXcli, UINT64_MAX, 0);
req[1] = smb2_close_send(tree, &cl);
@@ -459,8 +459,8 @@ static bool test_compound_invalid2(struct torture_context *tctx,
0, /* capabilities */
0 /* maximal_access */);
- tree->session->smbXcli = smbXcli_session_create(tree->session,
- tree->session->transport->conn);
+ tree->session->smbXcli = smbXcli_session_copy(tree->session,
+ tree->session->smbXcli);
smb2cli_session_set_id_and_flags(tree->session->smbXcli, UINT64_MAX, 0);
req[1] = smb2_close_send(tree, &cl);
--
Samba Shared Repository
More information about the samba-cvs
mailing list