pvfs_rename: implement RAW_RENAME_NTTRANS as noop as w2k3
[samba.git] / source4 / ntvfs / posix / pvfs_rename.c
index e94de8b28ef6c67e5df143617e816cde0427b225..5c2a627084c6c98bdeddfc9d8e51623d1139a1a1 100644 (file)
@@ -568,6 +568,9 @@ static NTSTATUS pvfs_rename_nt(struct ntvfs_module_context *ntvfs,
 NTSTATUS pvfs_rename(struct ntvfs_module_context *ntvfs,
                     struct ntvfs_request *req, union smb_rename *ren)
 {
+       struct pvfs_state *pvfs = ntvfs->private_data;
+       struct pvfs_file *f;
+
        switch (ren->generic.level) {
        case RAW_RENAME_RENAME:
                return pvfs_rename_mv(ntvfs, req, ren);
@@ -576,7 +579,13 @@ NTSTATUS pvfs_rename(struct ntvfs_module_context *ntvfs,
                return pvfs_rename_nt(ntvfs, req, ren);
 
        case RAW_RENAME_NTTRANS:
-               return NT_STATUS_NOT_IMPLEMENTED;
+               f = pvfs_find_fd(pvfs, req, ren->nttrans.in.file.ntvfs);
+               if (!f) {
+                       return NT_STATUS_INVALID_HANDLE;
+               }
+
+               /* wk23 ignores the request */
+               return NT_STATUS_OK;
 
        default:
                break;