From 538633b0f8da19687b16df3d7d424227a2e0fd90 Mon Sep 17 00:00:00 2001
From: Jeremy Allison <jra@samba.org>
Date: Wed, 25 Feb 2004 02:15:20 +0000
Subject: Figured out a new flags bit with gentest and ethereal.... Jeremy.
 (This used to be commit 755b66303d04b73a855fa8db5fe3ae920a901bf3)

---
 source3/include/smb.h  |  1 +
 source3/smbd/nttrans.c | 12 ++++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

(limited to 'source3')

diff --git a/source3/include/smb.h b/source3/include/smb.h
index 1bf5db4768..5cd5e71f74 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -1087,6 +1087,7 @@ struct bitmap {
 #define REQUEST_OPLOCK 2
 #define REQUEST_BATCH_OPLOCK 4
 #define OPEN_DIRECTORY 8
+#define EXTENDED_RESPONSE_REQUIRED 0x10
 
 /* ShareAccess field. */
 #define FILE_SHARE_NONE 0 /* Cannot be used in bitmask. */
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index 4e87f191d8..a8a314c876 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -975,9 +975,12 @@ create_options = 0x%x root_dir_fid = 0x%x\n", flags, desired_access, file_attrib
 	SOFF_T(p, 0, get_allocation_size(fsp,&sbuf));
 	p += 8;
 	SOFF_T(p,0,file_len);
-	p += 12;
+	p += 8;
+	if (flags & EXTENDED_RESPONSE_REQUIRED)
+		SSVAL(p,2,0x7);
+	p += 4;
 	SCVAL(p,0,fsp->is_directory ? 1 : 0);
-	
+
 	DEBUG(5,("reply_ntcreate_and_X: fnum = %d, open name = %s\n", fsp->fnum, fsp->fsp_name));
 
 	result = chain_reply(inbuf,outbuf,length,bufsize);
@@ -1455,6 +1458,11 @@ static int call_nt_transact_create(connection_struct *conn, char *inbuf, char *o
 	SOFF_T(p, 0, get_allocation_size(fsp,&sbuf));
 	p += 8;
 	SOFF_T(p,0,file_len);
+	p += 8;
+	if (flags & EXTENDED_RESPONSE_REQUIRED)
+		SSVAL(p,2,0x7);
+	p += 4;
+	SCVAL(p,0,fsp->is_directory ? 1 : 0);
 
 	DEBUG(5,("call_nt_transact_create: open name = %s\n", fname));
 
-- 
cgit