From 6d17dbabd60c1be2c65d764c26555c8700a8234c Mon Sep 17 00:00:00 2001 From: Tal Aloni Date: Fri, 8 Dec 2017 14:44:39 +0200 Subject: [PATCH] SMB_DATE, SMB_TIME, UTime: Set DateTimeKind to Local --- SMBLibrary/SMB1/SMB1Helper.cs | 3 ++- SMBLibrary/SMB1/UTimeHelper.cs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/SMBLibrary/SMB1/SMB1Helper.cs b/SMBLibrary/SMB1/SMB1Helper.cs index ab6cbfd..15d2d32 100644 --- a/SMBLibrary/SMB1/SMB1Helper.cs +++ b/SMBLibrary/SMB1/SMB1Helper.cs @@ -46,7 +46,8 @@ namespace SMBLibrary.SMB1 int year = ((value & 0xFE00) >> 9) + 1980; int month = ((value & 0x01E0) >> 5); int day = (value & 0x001F); - return new DateTime(year, month, day); + // SMB_DATE & SMB_TIME are represented in the local time zone of the server + return new DateTime(year, month, day, 0, 0, 0, DateTimeKind.Local); } public static void WriteSMBDate(byte[] buffer, int offset, DateTime date) diff --git a/SMBLibrary/SMB1/UTimeHelper.cs b/SMBLibrary/SMB1/UTimeHelper.cs index 21356a7..8be6475 100644 --- a/SMBLibrary/SMB1/UTimeHelper.cs +++ b/SMBLibrary/SMB1/UTimeHelper.cs @@ -16,7 +16,7 @@ namespace SMBLibrary.SMB1 /// public class UTimeHelper { - public static readonly DateTime MinUTimeValue = new DateTime(1970, 1, 1); + public static readonly DateTime MinUTimeValue = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Local); public static DateTime ReadUTime(byte[] buffer, int offset) {