mirror of
https://github.com/TalAloni/SMBLibrary.git
synced 2025-08-13 10:49:19 +02:00
SMB2: Create / Close response: changed AllocationSize and EndOfFile fields from UInt64 to Int64 to match with FileInformation structures
This commit is contained in:
parent
728a076875
commit
5b70c6308d
4 changed files with 16 additions and 16 deletions
|
@ -24,8 +24,8 @@ namespace SMBLibrary.SMB2
|
||||||
public DateTime? LastAccessTime;
|
public DateTime? LastAccessTime;
|
||||||
public DateTime? LastWriteTime;
|
public DateTime? LastWriteTime;
|
||||||
public DateTime? ChangeTime;
|
public DateTime? ChangeTime;
|
||||||
public ulong AllocationSize;
|
public long AllocationSize;
|
||||||
public ulong EndofFile;
|
public long EndofFile;
|
||||||
public FileAttributes FileAttributes;
|
public FileAttributes FileAttributes;
|
||||||
|
|
||||||
public CloseResponse() : base(SMB2CommandName.Close)
|
public CloseResponse() : base(SMB2CommandName.Close)
|
||||||
|
@ -43,8 +43,8 @@ namespace SMBLibrary.SMB2
|
||||||
LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + SMB2Header.Length + 16);
|
LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + SMB2Header.Length + 16);
|
||||||
LastWriteTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + SMB2Header.Length + 24);
|
LastWriteTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + SMB2Header.Length + 24);
|
||||||
ChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + SMB2Header.Length + 32);
|
ChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + SMB2Header.Length + 32);
|
||||||
AllocationSize = LittleEndianConverter.ToUInt64(buffer, offset + SMB2Header.Length + 40);
|
AllocationSize = LittleEndianConverter.ToInt64(buffer, offset + SMB2Header.Length + 40);
|
||||||
EndofFile = LittleEndianConverter.ToUInt64(buffer, offset + SMB2Header.Length + 48);
|
EndofFile = LittleEndianConverter.ToInt64(buffer, offset + SMB2Header.Length + 48);
|
||||||
FileAttributes = (FileAttributes)LittleEndianConverter.ToUInt32(buffer, offset + SMB2Header.Length + 56);
|
FileAttributes = (FileAttributes)LittleEndianConverter.ToUInt32(buffer, offset + SMB2Header.Length + 56);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,8 +57,8 @@ namespace SMBLibrary.SMB2
|
||||||
FileTimeHelper.WriteFileTime(buffer, offset + 16, LastAccessTime);
|
FileTimeHelper.WriteFileTime(buffer, offset + 16, LastAccessTime);
|
||||||
FileTimeHelper.WriteFileTime(buffer, offset + 24, LastWriteTime);
|
FileTimeHelper.WriteFileTime(buffer, offset + 24, LastWriteTime);
|
||||||
FileTimeHelper.WriteFileTime(buffer, offset + 32, ChangeTime);
|
FileTimeHelper.WriteFileTime(buffer, offset + 32, ChangeTime);
|
||||||
LittleEndianWriter.WriteUInt64(buffer, offset + 40, AllocationSize);
|
LittleEndianWriter.WriteInt64(buffer, offset + 40, AllocationSize);
|
||||||
LittleEndianWriter.WriteUInt64(buffer, offset + 48, EndofFile);
|
LittleEndianWriter.WriteInt64(buffer, offset + 48, EndofFile);
|
||||||
LittleEndianWriter.WriteUInt32(buffer, offset + 56, (uint)FileAttributes);
|
LittleEndianWriter.WriteUInt32(buffer, offset + 56, (uint)FileAttributes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,8 +25,8 @@ namespace SMBLibrary.SMB2
|
||||||
public DateTime? LastAccessTime;
|
public DateTime? LastAccessTime;
|
||||||
public DateTime? LastWriteTime;
|
public DateTime? LastWriteTime;
|
||||||
public DateTime? ChangeTime;
|
public DateTime? ChangeTime;
|
||||||
public ulong AllocationSize;
|
public long AllocationSize;
|
||||||
public ulong EndofFile;
|
public long EndofFile;
|
||||||
public FileAttributes FileAttributes;
|
public FileAttributes FileAttributes;
|
||||||
public uint Reserved2;
|
public uint Reserved2;
|
||||||
public FileID FileId;
|
public FileID FileId;
|
||||||
|
@ -50,8 +50,8 @@ namespace SMBLibrary.SMB2
|
||||||
LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + SMB2Header.Length + 16);
|
LastAccessTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + SMB2Header.Length + 16);
|
||||||
LastWriteTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + SMB2Header.Length + 24);
|
LastWriteTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + SMB2Header.Length + 24);
|
||||||
ChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + SMB2Header.Length + 32);
|
ChangeTime = FileTimeHelper.ReadNullableFileTime(buffer, offset + SMB2Header.Length + 32);
|
||||||
AllocationSize = LittleEndianConverter.ToUInt64(buffer, offset + SMB2Header.Length + 40);
|
AllocationSize = LittleEndianConverter.ToInt64(buffer, offset + SMB2Header.Length + 40);
|
||||||
EndofFile = LittleEndianConverter.ToUInt64(buffer, offset + SMB2Header.Length + 48);
|
EndofFile = LittleEndianConverter.ToInt64(buffer, offset + SMB2Header.Length + 48);
|
||||||
FileAttributes = (FileAttributes)LittleEndianConverter.ToUInt32(buffer, offset + SMB2Header.Length + 56);
|
FileAttributes = (FileAttributes)LittleEndianConverter.ToUInt32(buffer, offset + SMB2Header.Length + 56);
|
||||||
Reserved2 = LittleEndianConverter.ToUInt32(buffer, offset + SMB2Header.Length + 60);
|
Reserved2 = LittleEndianConverter.ToUInt32(buffer, offset + SMB2Header.Length + 60);
|
||||||
FileId = new FileID(buffer, offset + SMB2Header.Length + 64);
|
FileId = new FileID(buffer, offset + SMB2Header.Length + 64);
|
||||||
|
@ -73,8 +73,8 @@ namespace SMBLibrary.SMB2
|
||||||
FileTimeHelper.WriteFileTime(buffer, offset + 16, LastAccessTime);
|
FileTimeHelper.WriteFileTime(buffer, offset + 16, LastAccessTime);
|
||||||
FileTimeHelper.WriteFileTime(buffer, offset + 24, LastWriteTime);
|
FileTimeHelper.WriteFileTime(buffer, offset + 24, LastWriteTime);
|
||||||
FileTimeHelper.WriteFileTime(buffer, offset + 32, ChangeTime);
|
FileTimeHelper.WriteFileTime(buffer, offset + 32, ChangeTime);
|
||||||
LittleEndianWriter.WriteUInt64(buffer, offset + 40, AllocationSize);
|
LittleEndianWriter.WriteInt64(buffer, offset + 40, AllocationSize);
|
||||||
LittleEndianWriter.WriteUInt64(buffer, offset + 48, EndofFile);
|
LittleEndianWriter.WriteInt64(buffer, offset + 48, EndofFile);
|
||||||
LittleEndianWriter.WriteUInt32(buffer, offset + 56, (uint)FileAttributes);
|
LittleEndianWriter.WriteUInt32(buffer, offset + 56, (uint)FileAttributes);
|
||||||
LittleEndianWriter.WriteUInt32(buffer, offset + 60, Reserved2);
|
LittleEndianWriter.WriteUInt32(buffer, offset + 60, Reserved2);
|
||||||
FileId.WriteBytes(buffer, offset + 64);
|
FileId.WriteBytes(buffer, offset + 64);
|
||||||
|
|
|
@ -41,8 +41,8 @@ namespace SMBLibrary.Server.SMB2
|
||||||
response.LastAccessTime = entry.LastAccessTime;
|
response.LastAccessTime = entry.LastAccessTime;
|
||||||
response.LastWriteTime = entry.LastWriteTime;
|
response.LastWriteTime = entry.LastWriteTime;
|
||||||
response.ChangeTime = entry.LastWriteTime;
|
response.ChangeTime = entry.LastWriteTime;
|
||||||
response.AllocationSize = NTFileSystemHelper.GetAllocationSize(entry.Size);
|
response.AllocationSize = (long)NTFileSystemHelper.GetAllocationSize(entry.Size);
|
||||||
response.EndofFile = entry.Size;
|
response.EndofFile = (long)entry.Size;
|
||||||
response.FileAttributes = NTFileSystemHelper.GetFileAttributes(entry);
|
response.FileAttributes = NTFileSystemHelper.GetFileAttributes(entry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -121,8 +121,8 @@ namespace SMBLibrary.Server.SMB2
|
||||||
response.LastWriteTime = entry.LastWriteTime;
|
response.LastWriteTime = entry.LastWriteTime;
|
||||||
response.ChangeTime = entry.LastWriteTime;
|
response.ChangeTime = entry.LastWriteTime;
|
||||||
response.LastAccessTime = entry.LastAccessTime;
|
response.LastAccessTime = entry.LastAccessTime;
|
||||||
response.AllocationSize = NTFileSystemHelper.GetAllocationSize(entry.Size);
|
response.AllocationSize = (long)NTFileSystemHelper.GetAllocationSize(entry.Size);
|
||||||
response.EndofFile = entry.Size;
|
response.EndofFile = (long)entry.Size;
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue