diff --git a/SMBLibrary/Server/SMB1/SMB1FileStoreHelper.cs b/SMBLibrary/Server/SMB1/SMB1FileStoreHelper.cs index 58fe08c..649cd4b 100644 --- a/SMBLibrary/Server/SMB1/SMB1FileStoreHelper.cs +++ b/SMBLibrary/Server/SMB1/SMB1FileStoreHelper.cs @@ -62,14 +62,12 @@ namespace SMBLibrary.Server.SMB1 object handle; FileStatus fileStatus; CreateOptions createOptions = 0; - if (searchAttributes == SMBFileAttributes.Normal) + // Windows 2000 SP4 clients will use this command to rename directories. + // Hidden, System and Directory attributes are inclusive. + if ((searchAttributes & SMBFileAttributes.Directory) == 0) { createOptions = CreateOptions.FILE_NON_DIRECTORY_FILE; } - else if ((searchAttributes & SMBFileAttributes.Directory) > 0) - { - createOptions = CreateOptions.FILE_DIRECTORY_FILE; - } NTStatus openStatus = fileStore.CreateFile(out handle, out fileStatus, oldName, DirectoryAccessMask.DELETE, 0, CreateDisposition.FILE_OPEN, createOptions, securityContext); if (openStatus != NTStatus.STATUS_SUCCESS) {