Explorar o código

NTFileSystemHelper: Rename will now return STATUS_OBJECT_NAME_COLLISION if the destination exists

Tal Aloni %!s(int64=8) %!d(string=hai) anos
pai
achega
353460a976
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      SMBLibrary/Server/Helpers/NTFileSystemHelper.cs

+ 2 - 1
SMBLibrary/Server/Helpers/NTFileSystemHelper.cs

@@ -384,7 +384,8 @@ namespace SMBLibrary.Server
                 }
                 else if (errorCode == (ushort)Win32Error.ERROR_ALREADY_EXISTS)
                 {
-                    return NTStatus.STATUS_OBJECT_NAME_EXISTS;
+                    // According to [MS-FSCC], FileRenameInformation MUST return STATUS_OBJECT_NAME_COLLISION when the specified name already exists and ReplaceIfExists is zero.
+                    return NTStatus.STATUS_OBJECT_NAME_COLLISION;
                 }
                 else
                 {