Removed DesiredAccess (duplicate of FileAccessMask)

This commit is contained in:
Tal Aloni 2017-01-14 14:42:58 +02:00
parent bbd572e938
commit 2508ba07e1
5 changed files with 12 additions and 40 deletions

View file

@ -25,7 +25,7 @@ namespace SMBLibrary.SMB1
//ushort NameLength; // in bytes
public NTCreateFlags Flags;
public uint RootDirectoryFID;
public DesiredAccess DesiredAccess;
public FileAccessMask DesiredAccess;
public ulong AllocationSize;
public ExtendedFileAttributes ExtFileAttributes;
public ShareAccess ShareAccess;
@ -46,7 +46,7 @@ namespace SMBLibrary.SMB1
ushort nameLength = LittleEndianConverter.ToUInt16(this.SMBParameters, 5);
Flags = (NTCreateFlags)LittleEndianConverter.ToUInt32(this.SMBParameters, 7);
RootDirectoryFID = LittleEndianConverter.ToUInt32(this.SMBParameters, 11);
DesiredAccess = (DesiredAccess)LittleEndianConverter.ToUInt32(this.SMBParameters, 15);
DesiredAccess = (FileAccessMask)LittleEndianConverter.ToUInt32(this.SMBParameters, 15);
AllocationSize = LittleEndianConverter.ToUInt64(this.SMBParameters, 19);
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianConverter.ToUInt32(this.SMBParameters, 27);
ShareAccess = (ShareAccess)LittleEndianConverter.ToUInt32(this.SMBParameters, 31);

View file

@ -1,27 +0,0 @@
using System;
namespace SMBLibrary.SMB1
{
[Flags]
public enum DesiredAccess : uint
{
FILE_READ_DATA = 0x0001,
FILE_WRITE_DATA = 0x0002,
FILE_APPEND_DATA = 0x0004,
FILE_READ_EA = 0x0008,
FILE_WRITE_EA = 0x0010,
FILE_EXECUTE = 0x0020,
FILE_READ_ATTRIBUTES = 0x0080,
FILE_WRITE_ATTRIBUTES = 0x0100,
DELETE = 0x00010000,
READ_CONTROL = 0x00020000,
WRITE_DAC = 0x00040000,
WRITE_OWNER = 0x00080000,
SYNCHRONIZE = 0x00100000,
ACCESS_SYSTEM_SECURITY = 0x01000000,
MAXIMUM_ALLOWED = 0x02000000,
GENERIC_ALL = 0x10000000,
GENERIC_EXECUTE = 0x20000000,
GENERIC_WRITE = 0x40000000,
}
}

View file

@ -20,7 +20,7 @@ namespace SMBLibrary.SMB1
// Parameters:
public NTCreateFlags Flags;
public uint RootDirectoryFID;
public DesiredAccess DesiredAccess;
public FileAccessMask DesiredAccess;
public ulong AllocationSize;
public ExtendedFileAttributes ExtFileAttributes;
public ShareAccess ShareAccess;
@ -45,7 +45,7 @@ namespace SMBLibrary.SMB1
int parametersOffset = 0;
Flags = (NTCreateFlags)LittleEndianReader.ReadUInt32(parameters, ref parametersOffset);
RootDirectoryFID = LittleEndianReader.ReadUInt32(parameters, ref parametersOffset);
DesiredAccess = (DesiredAccess)LittleEndianReader.ReadUInt32(parameters, ref parametersOffset);
DesiredAccess = (FileAccessMask)LittleEndianReader.ReadUInt32(parameters, ref parametersOffset);
AllocationSize = LittleEndianReader.ReadUInt64(parameters, ref parametersOffset);
ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(parameters, ref parametersOffset);
ShareAccess = (ShareAccess)LittleEndianReader.ReadUInt32(parameters, ref parametersOffset);

View file

@ -248,7 +248,6 @@
<Compile Include="SMB1\Enums\Locking\LockType.cs" />
<Compile Include="SMB1\Enums\Negotiate\SecurityMode.cs" />
<Compile Include="SMB1\Enums\Negotiate\ServerCapabilities.cs" />
<Compile Include="SMB1\Enums\NTCreate\DesiredAccess.cs" />
<Compile Include="SMB1\Enums\NTCreate\FileStatus.cs" />
<Compile Include="SMB1\Enums\NTCreate\ImpersonationLevel.cs" />
<Compile Include="SMB1\Enums\NTCreate\NTCreateFlags.cs" />

View file

@ -326,21 +326,21 @@ namespace SMBLibrary.Server.SMB1
}
}
public static FileAccess ToFileAccess(DesiredAccess desiredAccess)
public static FileAccess ToFileAccess(FileAccessMask desiredAccess)
{
if ((desiredAccess & DesiredAccess.GENERIC_ALL) > 0 ||
((desiredAccess & DesiredAccess.FILE_READ_DATA) > 0 && (desiredAccess & DesiredAccess.FILE_WRITE_DATA) > 0) ||
((desiredAccess & DesiredAccess.FILE_READ_DATA) > 0 && (desiredAccess & DesiredAccess.FILE_APPEND_DATA) > 0))
if ((desiredAccess & FileAccessMask.GENERIC_ALL) > 0 ||
((desiredAccess & FileAccessMask.FILE_READ_DATA) > 0 && (desiredAccess & FileAccessMask.FILE_WRITE_DATA) > 0) ||
((desiredAccess & FileAccessMask.FILE_READ_DATA) > 0 && (desiredAccess & FileAccessMask.FILE_APPEND_DATA) > 0))
{
return FileAccess.ReadWrite;
}
else if ((desiredAccess & DesiredAccess.GENERIC_WRITE) > 0 ||
(desiredAccess & DesiredAccess.FILE_WRITE_DATA) > 0 ||
(desiredAccess & DesiredAccess.FILE_APPEND_DATA) > 0)
else if ((desiredAccess & FileAccessMask.GENERIC_WRITE) > 0 ||
(desiredAccess & FileAccessMask.FILE_WRITE_DATA) > 0 ||
(desiredAccess & FileAccessMask.FILE_APPEND_DATA) > 0)
{
return FileAccess.Write;
}
else if ((desiredAccess & DesiredAccess.FILE_READ_DATA) > 0)
else if ((desiredAccess & FileAccessMask.FILE_READ_DATA) > 0)
{
return FileAccess.Read;
}