summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-10-15 20:50:49 +1100
committerAndrew Tridgell <tridge@samba.org>2009-10-15 20:50:49 +1100
commitd72b5a81ef86631e89030c8060f1cba90f6a664a (patch)
treec1b1d6137b62a73e1f97ad66e2488fb7d2310bf2
parentbdd9dc4a8486919d6ef8c0efba777955ecc5ed33 (diff)
downloadsamba-d72b5a81ef86631e89030c8060f1cba90f6a664a.tar.gz
samba-d72b5a81ef86631e89030c8060f1cba90f6a664a.tar.bz2
samba-d72b5a81ef86631e89030c8060f1cba90f6a664a.zip
s4-smb: fill in fnum as well for root_fid
This helps with the CIFS NTVFS backend, but doesn't solve all problems
-rw-r--r--source4/smb_server/smb/nttrans.c3
-rw-r--r--source4/smb_server/smb/reply.c1
2 files changed, 3 insertions, 1 deletions
diff --git a/source4/smb_server/smb/nttrans.c b/source4/smb_server/smb/nttrans.c
index 23eb04ba2e..316305aa29 100644
--- a/source4/smb_server/smb/nttrans.c
+++ b/source4/smb_server/smb/nttrans.c
@@ -119,7 +119,8 @@ static NTSTATUS nttrans_create(struct smbsrv_request *req,
params = trans->in.params.data;
io->ntcreatex.in.flags = IVAL(params, 0);
- io->ntcreatex.in.root_fid.ntvfs = smbsrv_pull_fnum(req, req->in.vwv, 4);
+ io->ntcreatex.in.root_fid.fnum = IVAL(params, 4);
+ io->ntcreatex.in.root_fid.ntvfs = smbsrv_pull_fnum(req, params, 4);
io->ntcreatex.in.access_mask = IVAL(params, 8);
io->ntcreatex.in.alloc_size = BVAL(params, 12);
io->ntcreatex.in.file_attr = IVAL(params, 20);
diff --git a/source4/smb_server/smb/reply.c b/source4/smb_server/smb/reply.c
index 2c99a38575..4baea4703a 100644
--- a/source4/smb_server/smb/reply.c
+++ b/source4/smb_server/smb/reply.c
@@ -2216,6 +2216,7 @@ void smbsrv_reply_ntcreate_and_X(struct smbsrv_request *req)
/* notice that the word parameters are not word aligned, so we don't use VWV() */
fname_len = SVAL(req->in.vwv, 5);
io->ntcreatex.in.flags = IVAL(req->in.vwv, 7);
+ io->ntcreatex.in.root_fid.fnum = IVAL(req->in.vwv, 11);
io->ntcreatex.in.root_fid.ntvfs = smbsrv_pull_fnum(req, req->in.vwv, 11);
io->ntcreatex.in.access_mask = IVAL(req->in.vwv, 15);
io->ntcreatex.in.alloc_size = BVAL(req->in.vwv, 19);