pvfs_rename: implement RAW_RENAME_NTTRANS as noop as w2k3
authorStefan Metzmacher <metze@samba.org>
Wed, 12 Mar 2008 14:12:26 +0000 (15:12 +0100)
committerStefan Metzmacher <metze@samba.org>
Wed, 12 Mar 2008 16:14:44 +0000 (17:14 +0100)
metze
(This used to be commit 40563583f7ef3d8d1a3426c6c12eaecd18af215c)

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)
 {
 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);
        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 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;
 
        default:
                break;