1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-27 14:04:05 +03:00

r15752: - add generic mapping for RAW_OPEN_SMB2

metze
(This used to be commit d26144f9575f1e53bfb837024d964a3324d38728)
This commit is contained in:
Stefan Metzmacher 2006-05-20 16:53:44 +00:00 committed by Gerald (Jerry) Carter
parent 3cb64219e2
commit 6af051409a

View File

@ -205,6 +205,22 @@ static NTSTATUS ntvfs_map_open_finish(struct ntvfs_module_context *ntvfs,
NT_STATUS_HAVE_NO_MEMORY(io->ctemp.out.name); NT_STATUS_HAVE_NO_MEMORY(io->ctemp.out.name);
break; 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: default:
return NT_STATUS_INVALID_LEVEL; return NT_STATUS_INVALID_LEVEL;
} }
@ -467,6 +483,22 @@ _PUBLIC_ NTSTATUS ntvfs_map_open(struct ntvfs_module_context *ntvfs,
NTCREATEX_SHARE_ACCESS_WRITE; NTCREATEX_SHARE_ACCESS_WRITE;
status = ntvfs->ops->open(ntvfs, req, io2); status = ntvfs->ops->open(ntvfs, req, io2);
break; 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: default:
status = NT_STATUS_INVALID_LEVEL; status = NT_STATUS_INVALID_LEVEL;