diff --git a/SMBLibrary/SMB1/Transaction2Subcommands/Structures/FindInformation/FindFileBothDirectoryInfo.cs b/SMBLibrary/SMB1/Transaction2Subcommands/Structures/FindInformation/FindFileBothDirectoryInfo.cs index 22576ae..adf3107 100644 --- a/SMBLibrary/SMB1/Transaction2Subcommands/Structures/FindInformation/FindFileBothDirectoryInfo.cs +++ b/SMBLibrary/SMB1/Transaction2Subcommands/Structures/FindInformation/FindFileBothDirectoryInfo.cs @@ -20,10 +20,10 @@ namespace SMBLibrary.SMB1 public uint NextEntryOffset; public uint FileIndex; // SHOULD be set to zero when sent in a response and SHOULD be ignored when received by the client - public DateTime CreationTime; - public DateTime LastAccessTime; - public DateTime LastWriteTime; - public DateTime LastChangeTime; + public DateTime? CreationTime; + public DateTime? LastAccessTime; + public DateTime? LastWriteTime; + public DateTime? LastChangeTime; public ulong EndOfFile; public ulong AllocationSize; public ExtendedFileAttributes ExtFileAttributes; @@ -46,10 +46,10 @@ namespace SMBLibrary.SMB1 { NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset); FileIndex = LittleEndianReader.ReadUInt32(buffer, ref offset); - CreationTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastAccessTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastWriteTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset); + CreationTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastWriteTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); EndOfFile = LittleEndianReader.ReadUInt64(buffer, ref offset); AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset); ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset); diff --git a/SMBLibrary/SMB1/Transaction2Subcommands/Structures/FindInformation/FindFileDirectoryInfo.cs b/SMBLibrary/SMB1/Transaction2Subcommands/Structures/FindInformation/FindFileDirectoryInfo.cs index 3fea14c..5af4e6c 100644 --- a/SMBLibrary/SMB1/Transaction2Subcommands/Structures/FindInformation/FindFileDirectoryInfo.cs +++ b/SMBLibrary/SMB1/Transaction2Subcommands/Structures/FindInformation/FindFileDirectoryInfo.cs @@ -20,10 +20,10 @@ namespace SMBLibrary.SMB1 public uint NextEntryOffset; public uint FileIndex; // SHOULD be set to zero when sent in a response and SHOULD be ignored when received by the client - public DateTime CreationTime; - public DateTime LastAccessTime; - public DateTime LastWriteTime; - public DateTime LastAttrChangeTime; + public DateTime? CreationTime; + public DateTime? LastAccessTime; + public DateTime? LastWriteTime; + public DateTime? LastAttrChangeTime; public ulong EndOfFile; public ulong AllocationSize; public ExtendedFileAttributes ExtFileAttributes; @@ -38,10 +38,10 @@ namespace SMBLibrary.SMB1 { NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset); FileIndex = LittleEndianReader.ReadUInt32(buffer, ref offset); - CreationTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastAccessTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastWriteTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastAttrChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset); + CreationTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastWriteTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastAttrChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); EndOfFile = LittleEndianReader.ReadUInt64(buffer, ref offset); AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset); ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset); diff --git a/SMBLibrary/SMB1/Transaction2Subcommands/Structures/FindInformation/FindFileFullDirectoryInfo.cs b/SMBLibrary/SMB1/Transaction2Subcommands/Structures/FindInformation/FindFileFullDirectoryInfo.cs index ff7e778..8c9b867 100644 --- a/SMBLibrary/SMB1/Transaction2Subcommands/Structures/FindInformation/FindFileFullDirectoryInfo.cs +++ b/SMBLibrary/SMB1/Transaction2Subcommands/Structures/FindInformation/FindFileFullDirectoryInfo.cs @@ -20,10 +20,10 @@ namespace SMBLibrary.SMB1 public uint NextEntryOffset; public uint FileIndex; // SHOULD be set to zero when sent in a response and SHOULD be ignored when received by the client - public DateTime CreationTime; - public DateTime LastAccessTime; - public DateTime LastWriteTime; - public DateTime LastAttrChangeTime; + public DateTime? CreationTime; + public DateTime? LastAccessTime; + public DateTime? LastWriteTime; + public DateTime? LastAttrChangeTime; public ulong EndOfFile; public ulong AllocationSize; public ExtendedFileAttributes ExtFileAttributes; @@ -39,10 +39,10 @@ namespace SMBLibrary.SMB1 { NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset); FileIndex = LittleEndianReader.ReadUInt32(buffer, ref offset); - CreationTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastAccessTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastWriteTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastAttrChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset); + CreationTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastWriteTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastAttrChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); EndOfFile = LittleEndianReader.ReadUInt64(buffer, ref offset); AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset); ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset); diff --git a/SMBLibrary/SMB1/Transaction2Subcommands/Structures/QueryFSInformation/QueryFSVolumeInfo.cs b/SMBLibrary/SMB1/Transaction2Subcommands/Structures/QueryFSInformation/QueryFSVolumeInfo.cs index f183ee3..3321aa1 100644 --- a/SMBLibrary/SMB1/Transaction2Subcommands/Structures/QueryFSInformation/QueryFSVolumeInfo.cs +++ b/SMBLibrary/SMB1/Transaction2Subcommands/Structures/QueryFSInformation/QueryFSVolumeInfo.cs @@ -18,7 +18,7 @@ namespace SMBLibrary.SMB1 { public const int FixedLength = 18; - public DateTime VolumeCreationTime; + public DateTime? VolumeCreationTime; public uint SerialNumber; //uint VolumeLabelSize; public ushort Reserved; @@ -31,7 +31,7 @@ namespace SMBLibrary.SMB1 public QueryFSVolumeInfo(byte[] buffer, int offset) { - VolumeCreationTime = SMB1Helper.ReadFileTime(buffer, offset + 0); + VolumeCreationTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + 0); SerialNumber = LittleEndianConverter.ToUInt32(buffer, offset + 8); uint volumeLabelSize = LittleEndianConverter.ToUInt32(buffer, offset + 12); Reserved = LittleEndianConverter.ToUInt16(buffer, offset + 16); diff --git a/SMBLibrary/SMB1/Transaction2Subcommands/Structures/QueryInformation/QueryFileAllInfo.cs b/SMBLibrary/SMB1/Transaction2Subcommands/Structures/QueryInformation/QueryFileAllInfo.cs index 4ae489e..0530791 100644 --- a/SMBLibrary/SMB1/Transaction2Subcommands/Structures/QueryInformation/QueryFileAllInfo.cs +++ b/SMBLibrary/SMB1/Transaction2Subcommands/Structures/QueryInformation/QueryFileAllInfo.cs @@ -18,10 +18,10 @@ namespace SMBLibrary.SMB1 { public const int FixedLength = 72; - public DateTime CreationDateTime; - public DateTime LastAccessDateTime; - public DateTime LastWriteDateTime; - public DateTime LastChangeTime; + public DateTime? CreationDateTime; + public DateTime? LastAccessDateTime; + public DateTime? LastWriteDateTime; + public DateTime? LastChangeTime; public ExtendedFileAttributes ExtFileAttributes; public uint Reserved1; public ulong AllocationSize; @@ -40,10 +40,10 @@ namespace SMBLibrary.SMB1 public QueryFileAllInfo(byte[] buffer, int offset) { - CreationDateTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastAccessDateTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastWriteDateTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset); + CreationDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastAccessDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastWriteDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset); Reserved1 = LittleEndianReader.ReadUInt32(buffer, ref offset); AllocationSize = LittleEndianReader.ReadUInt64(buffer, ref offset); diff --git a/SMBLibrary/SMB1/Transaction2Subcommands/Structures/QueryInformation/QueryFileBasicInfo.cs b/SMBLibrary/SMB1/Transaction2Subcommands/Structures/QueryInformation/QueryFileBasicInfo.cs index 3e6a643..035647d 100644 --- a/SMBLibrary/SMB1/Transaction2Subcommands/Structures/QueryInformation/QueryFileBasicInfo.cs +++ b/SMBLibrary/SMB1/Transaction2Subcommands/Structures/QueryInformation/QueryFileBasicInfo.cs @@ -18,10 +18,10 @@ namespace SMBLibrary.SMB1 { public const int Length = 40; - public DateTime CreationDateTime; - public DateTime LastAccessDateTime; - public DateTime LastWriteDateTime; - public DateTime LastChangeTime; + public DateTime? CreationDateTime; + public DateTime? LastAccessDateTime; + public DateTime? LastWriteDateTime; + public DateTime? LastChangeTime; public ExtendedFileAttributes ExtFileAttributes; public uint Reserved; @@ -31,10 +31,10 @@ namespace SMBLibrary.SMB1 public QueryFileBasicInfo(byte[] buffer, int offset) { - CreationDateTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastAccessDateTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastWriteDateTime = SMB1Helper.ReadFileTime(buffer, ref offset); - LastChangeTime = SMB1Helper.ReadFileTime(buffer, ref offset); + CreationDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastAccessDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastWriteDateTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); + LastChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, ref offset); ExtFileAttributes = (ExtendedFileAttributes)LittleEndianReader.ReadUInt32(buffer, ref offset); Reserved = LittleEndianReader.ReadUInt32(buffer, ref offset); }