From 4606dd4330e7778c224c61711ae73003fdbeea5d Mon Sep 17 00:00:00 2001 From: Tal Aloni Date: Mon, 25 Sep 2017 17:15:29 +0300 Subject: [PATCH] NTFileStore: Added SecurityInformation enum --- .../SecurityInformation.cs | 20 +++++++++++++++++++ .../Enums/SecurityInfoFields.cs | 13 ------------ ...TTransactQuerySecurityDescriptorRequest.cs | 4 ++-- .../NTTransactSetSecurityDescriptor.cs | 6 +++--- SMBLibrary/SMBLibrary.csproj | 2 +- 5 files changed, 26 insertions(+), 19 deletions(-) create mode 100644 SMBLibrary/NTFileStore/Enums/SecurityInformation/SecurityInformation.cs delete mode 100644 SMBLibrary/SMB1/NTTransactSubcommands/Enums/SecurityInfoFields.cs diff --git a/SMBLibrary/NTFileStore/Enums/SecurityInformation/SecurityInformation.cs b/SMBLibrary/NTFileStore/Enums/SecurityInformation/SecurityInformation.cs new file mode 100644 index 0000000..9e26469 --- /dev/null +++ b/SMBLibrary/NTFileStore/Enums/SecurityInformation/SecurityInformation.cs @@ -0,0 +1,20 @@ +using System; + +namespace SMBLibrary +{ + /// + /// [MS-DTYP] 2.4.7 - SECURITY_INFORMATION + /// + [Flags] + public enum SecurityInformation : uint + { + OWNER_SECURITY_INFORMATION = 0x00000001, + GROUP_SECURITY_INFORMATION = 0x00000002, + DACL_SECURITY_INFORMATION = 0x00000004, + SACL_SECURITY_INFORMATION = 0x00000008, + LABEL_SECURITY_INFORMATION = 0x00000010, + ATTRIBUTE_SECURITY_INFORMATION = 0x00000020, + SCOPE_SECURITY_INFORMATION = 0x00000040, + BACKUP_SECURITY_INFORMATION = 0x00010000, + } +} diff --git a/SMBLibrary/SMB1/NTTransactSubcommands/Enums/SecurityInfoFields.cs b/SMBLibrary/SMB1/NTTransactSubcommands/Enums/SecurityInfoFields.cs deleted file mode 100644 index d741d7e..0000000 --- a/SMBLibrary/SMB1/NTTransactSubcommands/Enums/SecurityInfoFields.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; - -namespace SMBLibrary.SMB1 -{ - [Flags] - public enum SecurityInfoFields : uint - { - OWNER_SECURITY_INFORMATION = 0x00000001, - GROUP_SECURITY_INFORMATION = 0x00000002, - DACL_SECURITY_INFORMATION = 0x00000004, - SACL_SECURITY_INFORMATION = 0x00000008, - } -} diff --git a/SMBLibrary/SMB1/NTTransactSubcommands/NTTransactQuerySecurityDescriptorRequest.cs b/SMBLibrary/SMB1/NTTransactSubcommands/NTTransactQuerySecurityDescriptorRequest.cs index 9bb9271..04bde4b 100644 --- a/SMBLibrary/SMB1/NTTransactSubcommands/NTTransactQuerySecurityDescriptorRequest.cs +++ b/SMBLibrary/SMB1/NTTransactSubcommands/NTTransactQuerySecurityDescriptorRequest.cs @@ -20,7 +20,7 @@ namespace SMBLibrary.SMB1 // Parameters: public ushort FID; public ushort Reserved; - public SecurityInfoFields SecurityInfoFields; + public SecurityInformation SecurityInfoFields; public NTTransactQuerySecurityDescriptorRequest() { @@ -30,7 +30,7 @@ namespace SMBLibrary.SMB1 { FID = LittleEndianConverter.ToUInt16(parameters, 0); Reserved = LittleEndianConverter.ToUInt16(parameters, 2); - SecurityInfoFields = (SecurityInfoFields)LittleEndianConverter.ToUInt32(parameters, 4); + SecurityInfoFields = (SecurityInformation)LittleEndianConverter.ToUInt32(parameters, 4); } public override byte[] GetParameters(bool isUnicode) diff --git a/SMBLibrary/SMB1/NTTransactSubcommands/NTTransactSetSecurityDescriptor.cs b/SMBLibrary/SMB1/NTTransactSubcommands/NTTransactSetSecurityDescriptor.cs index 9905475..0cd9a2a 100644 --- a/SMBLibrary/SMB1/NTTransactSubcommands/NTTransactSetSecurityDescriptor.cs +++ b/SMBLibrary/SMB1/NTTransactSubcommands/NTTransactSetSecurityDescriptor.cs @@ -20,7 +20,7 @@ namespace SMBLibrary.SMB1 // Parameters: public ushort FID; public ushort Reserved; - public SecurityInfoFields SecurityInfoFields; + public SecurityInformation SecurityInformation; // Data: public SecurityDescriptor SecurityDescriptor; @@ -32,7 +32,7 @@ namespace SMBLibrary.SMB1 { FID = LittleEndianConverter.ToUInt16(parameters, 0); Reserved = LittleEndianConverter.ToUInt16(parameters, 2); - SecurityInfoFields = (SecurityInfoFields)LittleEndianConverter.ToUInt32(parameters, 4); + SecurityInformation = (SecurityInformation)LittleEndianConverter.ToUInt32(parameters, 4); SecurityDescriptor = new SecurityDescriptor(data, 0); } @@ -42,7 +42,7 @@ namespace SMBLibrary.SMB1 byte[] parameters = new byte[ParametersLength]; LittleEndianWriter.WriteUInt16(parameters, 0, FID); LittleEndianWriter.WriteUInt16(parameters, 2, Reserved); - LittleEndianWriter.WriteUInt32(parameters, 4, (uint)SecurityInfoFields); + LittleEndianWriter.WriteUInt32(parameters, 4, (uint)SecurityInformation); return parameters; } diff --git a/SMBLibrary/SMBLibrary.csproj b/SMBLibrary/SMBLibrary.csproj index e6c18e2..9a62e2a 100644 --- a/SMBLibrary/SMBLibrary.csproj +++ b/SMBLibrary/SMBLibrary.csproj @@ -118,6 +118,7 @@ + @@ -402,7 +403,6 @@ -