diff --git a/SMBLibrary/SMB1/Commands/NTCreateAndXRequest.cs b/SMBLibrary/SMB1/Commands/NTCreateAndXRequest.cs
index 6b803eb..d964bf7 100644
--- a/SMBLibrary/SMB1/Commands/NTCreateAndXRequest.cs
+++ b/SMBLibrary/SMB1/Commands/NTCreateAndXRequest.cs
@@ -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);
diff --git a/SMBLibrary/SMB1/Enums/NTCreate/DesiredAccess.cs b/SMBLibrary/SMB1/Enums/NTCreate/DesiredAccess.cs
deleted file mode 100644
index 2307f92..0000000
--- a/SMBLibrary/SMB1/Enums/NTCreate/DesiredAccess.cs
+++ /dev/null
@@ -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,
- }
-}
diff --git a/SMBLibrary/SMB1/NTTransactSubcommands/NTTransactCreateRequest.cs b/SMBLibrary/SMB1/NTTransactSubcommands/NTTransactCreateRequest.cs
index 3b2d096..8f0c532 100644
--- a/SMBLibrary/SMB1/NTTransactSubcommands/NTTransactCreateRequest.cs
+++ b/SMBLibrary/SMB1/NTTransactSubcommands/NTTransactCreateRequest.cs
@@ -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);
diff --git a/SMBLibrary/SMBLibrary.csproj b/SMBLibrary/SMBLibrary.csproj
index 7727ddf..fd41d43 100644
--- a/SMBLibrary/SMBLibrary.csproj
+++ b/SMBLibrary/SMBLibrary.csproj
@@ -248,7 +248,6 @@
-
diff --git a/SMBLibrary/Server/SMB1/NTCreateHelper.cs b/SMBLibrary/Server/SMB1/NTCreateHelper.cs
index 5fbecc7..d1610f8 100644
--- a/SMBLibrary/Server/SMB1/NTCreateHelper.cs
+++ b/SMBLibrary/Server/SMB1/NTCreateHelper.cs
@@ -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;
}