[SCM] Samba Shared Repository - branch master updated

Steven Danneman sdanneman at samba.org
Wed Sep 22 18:53:52 MDT 2010


The branch, master has been updated
       via  bf1a4b2 s4:libcli:smb2 Rename pending_id to async_id and make 64-bit
      from  7e31704 selftest: Remove unused --analyse argument.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit bf1a4b2bc411cba18980d00bf630aa61fc4e4699
Author: Steven Danneman <steven.danneman at isilon.com>
Date:   Wed Sep 22 13:23:49 2010 -0700

    s4:libcli:smb2 Rename pending_id to async_id and make 64-bit
    
    Match MS-SMB2 - 2.2.1.1   SMB2 Packet Header - ASYNC

-----------------------------------------------------------------------

Summary of changes:
 libcli/smb/smb2_constants.h     |    5 ++++-
 source4/libcli/smb2/cancel.c    |    2 +-
 source4/libcli/smb2/smb2.h      |    6 +++---
 source4/libcli/smb2/transport.c |    2 +-
 source4/torture/smb2/util.c     |    1 +
 5 files changed, 10 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libcli/smb/smb2_constants.h b/libcli/smb/smb2_constants.h
index a3885f9..6d29d6e 100644
--- a/libcli/smb/smb2_constants.h
+++ b/libcli/smb/smb2_constants.h
@@ -28,7 +28,7 @@
 #define SMB2_HDR_EPOCH		0x06
 #define SMB2_HDR_STATUS		0x08
 #define SMB2_HDR_OPCODE		0x0c
-#define SMB2_HDR_CREDIT 	0x0e
+#define SMB2_HDR_CREDIT		0x0e
 #define SMB2_HDR_FLAGS		0x10
 #define SMB2_HDR_NEXT_COMMAND	0x14
 #define SMB2_HDR_MESSAGE_ID     0x18
@@ -38,6 +38,9 @@
 #define SMB2_HDR_SIGNATURE	0x30 /* 16 bytes */
 #define SMB2_HDR_BODY		0x40
 
+/* offsets into header elements for an async SMB2 request */
+#define SMB2_HDR_ASYNC_ID	0x20
+
 /* header flags */
 #define SMB2_HDR_FLAG_REDIRECT  0x01
 #define SMB2_HDR_FLAG_ASYNC     0x02
diff --git a/source4/libcli/smb2/cancel.c b/source4/libcli/smb2/cancel.c
index 65f0218..28ef309 100644
--- a/source4/libcli/smb2/cancel.c
+++ b/source4/libcli/smb2/cancel.c
@@ -53,7 +53,7 @@ NTSTATUS smb2_cancel(struct smb2_request *r)
 
 	SIVAL(c->out.hdr, SMB2_HDR_FLAGS,	0x00000002);
 	SSVAL(c->out.hdr, SMB2_HDR_CREDIT,	0x0030);
-	SIVAL(c->out.hdr, SMB2_HDR_PID,		r->cancel.pending_id);
+	SBVAL(c->out.hdr, SMB2_HDR_ASYNC_ID,	r->cancel.async_id);
 	SBVAL(c->out.hdr, SMB2_HDR_MESSAGE_ID,	c->seqnum);
 	if (r->session) {
 		SBVAL(c->out.hdr, SMB2_HDR_SESSION_ID,	r->session->uid);
diff --git a/source4/libcli/smb2/smb2.h b/source4/libcli/smb2/smb2.h
index 26b9bcb..aaafedd 100644
--- a/source4/libcli/smb2/smb2.h
+++ b/source4/libcli/smb2/smb2.h
@@ -167,7 +167,7 @@ struct smb2_request {
 
 	/* each request is in one of 3 possible states */
 	enum smb2_request_state state;
-	
+
 	struct smb2_transport *transport;
 	struct smb2_session   *session;
 	struct smb2_tree      *tree;
@@ -177,13 +177,13 @@ struct smb2_request {
 	struct {
 		bool do_cancel;
 		bool can_cancel;
-		uint32_t pending_id;
+		uint64_t async_id;
 	} cancel;
 
 	/* the NT status for this request. Set by packet receive code
 	   or code detecting error. */
 	NTSTATUS status;
-	
+
 	struct smb2_request_buffer in;
 	struct smb2_request_buffer out;
 
diff --git a/source4/libcli/smb2/transport.c b/source4/libcli/smb2/transport.c
index dffd1ac..04b2d38 100644
--- a/source4/libcli/smb2/transport.c
+++ b/source4/libcli/smb2/transport.c
@@ -302,7 +302,7 @@ static NTSTATUS smb2_transport_finish_recv(void *private_data, DATA_BLOB blob)
 	if ((flags & SMB2_HDR_FLAG_ASYNC) &&
 	    NT_STATUS_EQUAL(req->status, STATUS_PENDING)) {
 		req->cancel.can_cancel = true;
-		req->cancel.pending_id = IVAL(hdr, SMB2_HDR_PID);
+		req->cancel.async_id = BVAL(hdr, SMB2_HDR_ASYNC_ID);
 		for (i=0; i< req->cancel.do_cancel; i++) {
 			smb2_cancel(req);
 		}
diff --git a/source4/torture/smb2/util.c b/source4/torture/smb2/util.c
index 9698112..8feb968 100644
--- a/source4/torture/smb2/util.c
+++ b/source4/torture/smb2/util.c
@@ -322,6 +322,7 @@ NTSTATUS torture_smb2_testfile(struct smb2_tree *tree, const char *fname,
 	r.in.length      = 5;
 	r.in.offset      = 0;
 
+	// What is the purpose of this? Server returns EOF.
 	smb2_read(tree, tree, &r);
 
 	return NT_STATUS_OK;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list