diff options
author | Stefan Metzmacher <metze@samba.org> | 2006-05-20 16:53:44 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:08:14 -0500 |
commit | 6af051409a0a1bcda9e2673bab1652690ab88fea (patch) | |
tree | 01cca83c0960c7aa321dc15623c71e51fb3c8005 | |
parent | 3cb64219e2cd492d25931f5442cbd484d6930950 (diff) | |
download | samba-6af051409a0a1bcda9e2673bab1652690ab88fea.tar.gz samba-6af051409a0a1bcda9e2673bab1652690ab88fea.tar.bz2 samba-6af051409a0a1bcda9e2673bab1652690ab88fea.zip |
r15752: - add generic mapping for RAW_OPEN_SMB2
metze
(This used to be commit d26144f9575f1e53bfb837024d964a3324d38728)
-rw-r--r-- | source4/ntvfs/ntvfs_generic.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/source4/ntvfs/ntvfs_generic.c b/source4/ntvfs/ntvfs_generic.c index a4cc0ff396..8b80e9db80 100644 --- a/source4/ntvfs/ntvfs_generic.c +++ b/source4/ntvfs/ntvfs_generic.c @@ -205,6 +205,22 @@ static NTSTATUS ntvfs_map_open_finish(struct ntvfs_module_context *ntvfs, NT_STATUS_HAVE_NO_MEMORY(io->ctemp.out.name); break; + case RAW_OPEN_SMB2: + io->smb2.out.file.ntvfs = io2->generic.out.file.ntvfs; + io->smb2.out.oplock_flags = 0; + io->smb2.out.create_action = io2->generic.out.create_action; + io->smb2.out.create_time = io2->generic.out.create_time; + io->smb2.out.access_time = io2->generic.out.access_time; + io->smb2.out.write_time = io2->generic.out.write_time; + io->smb2.out.change_time = io2->generic.out.change_time; + io->smb2.out.alloc_size = io2->generic.out.alloc_size; + io->smb2.out.size = io2->generic.out.size; + /*io->smb2.out.file_attr = io2->generic.out.attrib; would this be correct? */ + io->smb2.out.file_attr = 0; + io->smb2.out._pad = 0; + io->smb2.out.blob = data_blob(NULL, 0); + break; + default: return NT_STATUS_INVALID_LEVEL; } @@ -467,6 +483,22 @@ _PUBLIC_ NTSTATUS ntvfs_map_open(struct ntvfs_module_context *ntvfs, NTCREATEX_SHARE_ACCESS_WRITE; status = ntvfs->ops->open(ntvfs, req, io2); break; + case RAW_OPEN_SMB2: + io2->generic.in.flags = 0; + io2->generic.in.root_fid = 0; + io2->generic.in.access_mask = io->smb2.in.access_mask; + io2->generic.in.alloc_size = 0; + io2->generic.in.file_attr = io->smb2.in.file_attr; + io2->generic.in.share_access = io->smb2.in.share_access; + io2->generic.in.open_disposition= io->smb2.in.open_disposition; + io2->generic.in.create_options = io->smb2.in.create_options; + io2->generic.in.impersonation = io->smb2.in.impersonation; + io2->generic.in.security_flags = 0; + io2->generic.in.fname = io->smb2.in.fname; + io2->generic.in.sec_desc = NULL; + io2->generic.in.ea_list = NULL; + status = ntvfs->ops->open(ntvfs, req, io2); + break; default: status = NT_STATUS_INVALID_LEVEL; |