summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2004-02-25 02:15:34 +0000
committerJeremy Allison <jra@samba.org>2004-02-25 02:15:34 +0000
commita45d29049bf6f6060d1a7bf95a38ff3f37ed96cd (patch)
tree31fb2b38533b4a40285f77eb95791dc7fd7c2cbc
parent1d9f07735c67a29f4cf56aa376d7a1f034c967f6 (diff)
downloadsamba-a45d29049bf6f6060d1a7bf95a38ff3f37ed96cd.tar.gz
samba-a45d29049bf6f6060d1a7bf95a38ff3f37ed96cd.tar.bz2
samba-a45d29049bf6f6060d1a7bf95a38ff3f37ed96cd.zip
Figured out a new flags bit with gentest and ethereal....
Jeremy. (This used to be commit b4b684f1155b1abccb69cca7bca9819625dbfead)
-rw-r--r--source3/include/smb.h1
-rw-r--r--source3/smbd/nttrans.c12
2 files changed, 11 insertions, 2 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h
index c5284751d3..374b820a37 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -1085,6 +1085,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 a432e2aaea..8c3d1eefba 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -974,9 +974,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);
@@ -1454,6 +1457,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));