[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: BBWin V.12 filesystem epoch time and local time conflict
- To: <hobbit (at) hswn.dk>, <bbwin-users (at) lists.sourceforge.net>
- Subject: RE: BBWin V.12 filesystem epoch time and local time conflict
- From: "McGraw, Robert P" <rmcgraw (at) purdue.edu>
- Date: Tue, 24 Jun 2008 11:44:39 -0400
- Thread-index: AcjVW9M58ljevx0JSumJZZeAGJCDxgAtGi6w
- Thread-topic: BBWin V.12 filesystem epoch time and local time conflict
A little more digging and I see
> -----Original Message-----
> From: McGraw, Robert P
> Sent: Tuesday, June 24, 2008 10:40 AM
> To: 'hobbit (at) hswn.dk'; 'bbwin-users (at) lists.sourceforge.net'
> Subject: BBWin V.12 filesystem epoch time and local time conflict
>
> I have the [file:] set up in central mode on our BBWin V.12 client and it
> returns the following client data to the Hobbit server.
>
> [file:c:\Alligate\AAATEST]
> type:0x00020 (file)
> mode:777 (not implemented)
> linkcount:1
> owner:0 (not implemented)
> group:0 (not implemented)
> size:0
> atime:1214222069 (2008/06/23-11:54:29)
> ctime:1213796626 (2008/06/18-13:43:46)
> mtime:1214222069 (2008/06/23-11:54:29)
>
> On my hobbit server hobbit-clients.cfg I have
>
> FILE c:\Alligate\AAATEST red MTIME<88200
>
> The YYYY/MM/DD-HH:MM:SS atime, ctime and mtime are local time.
>
> During testing I noticed that the red icon would come on before I had
> expected.
>
> I decided to do a little checking and using a web epoch time calculator.
>
> If I enter 2008/06/23-11:54:29 it returns the epoch time of 1214236469,
> which
> does not match mtime epoch time above.
>
> If I enter the epoch mtime 1214222069 I get Mon Jun 23 2008 07:54:29
> GMT-0400 (EDT) which does not match the date.
>
> If I enter epoch time 1214236469 I get Mon Jun 23 2008 11:54:29 GMT-0400
> (EDT)
>
> It seems that the YYYY/MM/DD-HH:MM:SS time is reported in local time and
> the
> epoch time is reported in GMT time which throws things off by four hours.
>
>
> The following is the code in filesystem
>
> 325 reportData << format("type:0x%05x ") %
> handle_file_info.dwFileAttributes;
> 326 if (handle_file_info.dwFileAttributes &
> FILE_ATTRIBUTE_DIRECTORY)
> 327 reportData << "(dir)" << endl;
> 328 else
> 329 reportData << "(file)" << endl;
> 330 reportData << "mode:777 (not implemented)" << endl;
> 331 reportData << format("linkcount:%u") %
> handle_file_info.nNumberOfLinks
> << endl;
> 332 reportData << "owner:0 (not implemented)" << endl;
> 333 reportData << "group:0 (not implemented)" << endl;
> 334 reportData << format("size:%lu") % fsize << endl;
> 335 string output;
> 336 GetTimeString(handle_file_info.ftLastAccessTime, output);
> 337 reportData << "atime:" << output << endl;
> 338 GetTimeString(handle_file_info.ftCreationTime, output);
> 339 reportData << "ctime:" << output << endl;
> 340 GetTimeString(handle_file_info.ftLastWriteTime, output);
> 341 reportData << "mtime:" << output << endl;
> 342 fclose(f);
> 343 return true;
GetTimeString is a function in the filesystem code which follows.
bool AgentFileSystem::GetTimeString(const FILETIME & filetime,
string & output) {
255 __int64 ftime = (filetime.dwHighDateTime * MAXDWORD) +
filetime.dwLowDateTime;
256 SYSTEMTIME fsystime;
257 FILETIME floctime;
258 time_t epoch;
259
260 if (::FileTimeToLocalFileTime(&filetime, &floctime) == 0) {
261 return false;
262 }
263 if (::FileTimeToSystemTime(&floctime, &fsystime) == 0) {
264 return false;
265 }
266 utils::SystemTimeToTime_t(&fsystime, &epoch);
267 stringstream reportData;
268 reportData << format("%llu (%02d/%02d/%d-%02d:%02d:%02d)")
269 % (unsigned __int64)epoch
270 % fsystime.wYear
271 % fsystime.wMonth
272 % fsystime.wDay
273 % fsystime.wHour
274 % fsystime.wMinute
275 % fsystime.wSecond;
276 output = reportData.str();
277 return true;
278 }
It seems to me that after line 266 there needs to be a couple lines that
converts the GMT epoch to local epoch.
>
>
> The function GetTimeString seems to be the code that is returning the time
> information. I have not been able to find this code in the BBWin svn so I
> am
> not sure if this is a local function or a system function.
>
> I am not a Window type guy and no very little about such things. Can a
> super
> duper window type person peruse this and see what they can find.
>
> Tanks
>
>
>
> Thanks
>
> Robert
>
>
>
>
>
> --------------------------------------------------------------------
> Robert P. McGraw, Jr.
> Manager, Computer System EMAIL: rmcgraw (at) purdue.edu
> Purdue University ROOM: MATH-807
> Department of Mathematics PHONE: (765) 494-6055
> 150 N. University Street
> West Lafayette, IN 47907-2067