SMBLibrary: Moved MS-FSCC structures to the Structures directory

This commit is contained in:
Tal Aloni 2017-01-07 11:58:25 +02:00
parent b892bd9018
commit 2f4a6e1538
4 changed files with 16 additions and 14 deletions

View file

@ -51,9 +51,6 @@
<Compile Include="Enums\SMBTransportType.cs" /> <Compile Include="Enums\SMBTransportType.cs" />
<Compile Include="Enums\Win32Error.cs" /> <Compile Include="Enums\Win32Error.cs" />
<Compile Include="EnumStructures\AccessMask.cs" /> <Compile Include="EnumStructures\AccessMask.cs" />
<Compile Include="IOCTL\FileFullEAInformation.cs" />
<Compile Include="IOCTL\FileFullEAInformationList.cs" />
<Compile Include="IOCTL\ObjectIDBufferType1.cs" />
<Compile Include="NetBios\NameServicePackets\Enums\NameRecordType.cs" /> <Compile Include="NetBios\NameServicePackets\Enums\NameRecordType.cs" />
<Compile Include="NetBios\NameServicePackets\Enums\NameServiceOperation.cs" /> <Compile Include="NetBios\NameServicePackets\Enums\NameServiceOperation.cs" />
<Compile Include="NetBios\NameServicePackets\Enums\NetBiosSuffix.cs" /> <Compile Include="NetBios\NameServicePackets\Enums\NetBiosSuffix.cs" />
@ -384,6 +381,9 @@
<Compile Include="Structures\ACE\Enums\AceFlags.cs" /> <Compile Include="Structures\ACE\Enums\AceFlags.cs" />
<Compile Include="Structures\ACE\Enums\AceType.cs" /> <Compile Include="Structures\ACE\Enums\AceType.cs" />
<Compile Include="Structures\ACL.cs" /> <Compile Include="Structures\ACL.cs" />
<Compile Include="Structures\FileFullEAInformation.cs" />
<Compile Include="Structures\FileFullEAInformationList.cs" />
<Compile Include="Structures\ObjectIDBufferType1.cs" />
<Compile Include="Structures\SecurityDescriptor.cs" /> <Compile Include="Structures\SecurityDescriptor.cs" />
<Compile Include="Structures\SID.cs" /> <Compile Include="Structures\SID.cs" />
<Compile Include="Tests\AuthenticationTests.cs" /> <Compile Include="Tests\AuthenticationTests.cs" />

View file

@ -16,10 +16,12 @@ namespace SMBLibrary
/// </summary> /// </summary>
public class FileFullEAInformation public class FileFullEAInformation
{ {
public const int FixedLength = 8;
public uint NextEntryOffset; public uint NextEntryOffset;
public byte Flags; public byte Flags;
//byte EaNameLength; private byte EaNameLength;
//ushort EaValueLength; private ushort EaValueLength;
public string EaName; // ASCII public string EaName; // ASCII
public string EaValue; // ASCII public string EaValue; // ASCII
@ -31,20 +33,20 @@ namespace SMBLibrary
{ {
NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset); NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset);
Flags = ByteReader.ReadByte(buffer, ref offset); Flags = ByteReader.ReadByte(buffer, ref offset);
byte eaNameLength = ByteReader.ReadByte(buffer, ref offset); EaNameLength = ByteReader.ReadByte(buffer, ref offset);
ushort eaValueLength = LittleEndianReader.ReadUInt16(buffer, ref offset); EaValueLength = LittleEndianReader.ReadUInt16(buffer, ref offset);
EaName = ByteReader.ReadAnsiString(buffer, ref offset, eaNameLength); EaName = ByteReader.ReadAnsiString(buffer, ref offset, EaNameLength);
EaValue = ByteReader.ReadAnsiString(buffer, ref offset, eaValueLength); EaValue = ByteReader.ReadAnsiString(buffer, ref offset, EaValueLength);
} }
public void WriteBytes(byte[] buffer, int offset) public void WriteBytes(byte[] buffer, int offset)
{ {
byte eaNameLength = (byte)EaName.Length; EaNameLength = (byte)EaName.Length;
ushort eaValueLength = (ushort)EaValue.Length; EaValueLength = (ushort)EaValue.Length;
LittleEndianWriter.WriteUInt32(buffer, ref offset, NextEntryOffset); LittleEndianWriter.WriteUInt32(buffer, ref offset, NextEntryOffset);
ByteWriter.WriteByte(buffer, ref offset, Flags); ByteWriter.WriteByte(buffer, ref offset, Flags);
ByteWriter.WriteByte(buffer, ref offset, eaNameLength); ByteWriter.WriteByte(buffer, ref offset, EaNameLength);
LittleEndianWriter.WriteUInt16(buffer, ref offset, eaValueLength); LittleEndianWriter.WriteUInt16(buffer, ref offset, EaValueLength);
ByteWriter.WriteAnsiString(buffer, ref offset, EaName); ByteWriter.WriteAnsiString(buffer, ref offset, EaName);
ByteWriter.WriteAnsiString(buffer, ref offset, EaValue); ByteWriter.WriteAnsiString(buffer, ref offset, EaValue);
} }
@ -53,7 +55,7 @@ namespace SMBLibrary
{ {
get get
{ {
return 8 + EaName.Length + EaValue.Length; return FixedLength + EaName.Length + EaValue.Length;
} }
} }
} }