From: Andrew Tridgell Date: Thu, 15 Oct 2009 09:50:49 +0000 (+1100) Subject: s4-smb: fill in fnum as well for root_fid X-Git-Tag: tdb-1.2.0~688^2~73 X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=d72b5a81ef86631e89030c8060f1cba90f6a664a;p=samba.git s4-smb: fill in fnum as well for root_fid This helps with the CIFS NTVFS backend, but doesn't solve all problems --- diff --git a/source4/smb_server/smb/nttrans.c b/source4/smb_server/smb/nttrans.c index 23eb04ba2ee..316305aa29a 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 2c99a38575c..4baea4703af 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);