r16733: implement SMB2 SetInfo
authorStefan Metzmacher <metze@samba.org>
Sat, 1 Jul 2006 14:12:13 +0000 (14:12 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:09:41 +0000 (14:09 -0500)
metze
(This used to be commit 9b6f74778f8db2fa18bb56dcbc6bd8168a882ac9)

source4/smb_server/smb2/fileinfo.c

index 32b7d1094eb843ef2e30f206a92cef7aa574d3da..d6290da33e6810199911a0b194a8e474058198ff 100644 (file)
@@ -255,7 +255,22 @@ static void smb2srv_setinfo_send(struct ntvfs_request *ntvfs)
 
 static NTSTATUS smb2srv_setinfo_file(struct smb2srv_setinfo_op *op, uint8_t smb2_level)
 {
-       return NT_STATUS_FOOBAR;
+       union smb_setfileinfo *io;
+       NTSTATUS status;
+
+       io = talloc(op, union smb_setfileinfo);
+       NT_STATUS_HAVE_NO_MEMORY(io);
+
+       /* the levels directly map to the passthru levels */
+       io->generic.level               = smb2_level + 1000;
+       io->generic.in.file.ntvfs       = op->info->in.file.ntvfs;
+
+       status = smbsrv_pull_passthru_sfileinfo(io, io->generic.level, io,
+                                               &op->info->in.blob,
+                                               STR_UNICODE, NULL);
+       NT_STATUS_NOT_OK_RETURN(status);
+
+       return ntvfs_setfileinfo(op->req->ntvfs, io);
 }
 
 static NTSTATUS smb2srv_setinfo_fs(struct smb2srv_setinfo_op *op, uint8_t smb2_level)