OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
Re: The Windows "April Fools 2001" bug
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: The Windows "April Fools 2001" bug


  • To: NTBUGTRAQLISTSERV.NTBUGTRAQ.COM
  • Subject: Re: The Windows "April Fools 2001" bug
  • From: Russ <Russ.CooperRC.ON.CA>
  • Date: Fri, 8 Jan 1999 09:12:35 -0500
  • Approved-By: Russ.CooperRC.ON.CA
  • Reply-To: Russ <Russ.CooperRC.ON.CA>
  • Sender: Windows NT BugTraq Mailing List <NTBUGTRAQLISTSERV.NTBUGTRAQ.COM>

Some information provided by Robert Proffitt
<Robert_ProffittEMAIL.MSN.COM>.

MS includes 2 utilities in the NT Resource Kit, both designed to (at
least in part) address Daylight Savings Time issues.

TZEdit.exe
Timezone.exe

TZEdit.exe allows you to edit all Time Zones, and even create new ones.
TZEdit's approach to DST is to specify start and end dates in the
format;

<1st/2nd/3rd/4th/last>/<day> of <month> at <time>

This makes sense and follows the process normally used for DST.
TZEdit.exe modifies "some file" that contains all of the Time Zone
information (I couldn't find it in the registry). If you modify a Time
Zone with TZEdit, you'd have to then change the Time Zone in the Control
Panel/Date&Time applet for it to be applied (and if you modify your
current Time Zone, you need to change zones and change back again for
the changes to be applied).

Timezone.exe allows you to specify exact dates for start and end of DST.
This utility would be useful if your DST was not based on, e.g., 1st
Sunday of April, but instead based on 5th of April every year.
Timezone.exe makes its changes directly in the registry.

What's interesting is that both utilities ultimately affect the same
registry entry. They even appear to affect the same bits in the entry,
which means that somehow the registry entry is being interpreted
differently without any apparent way to do that??

The registry entry;

\HKEY_LOCAL_MACHINE
 \SYSTEM
  \CurrentControlSet
   \Control
    \TimeZoneInformation

contains 16-byte REG_BINARY values called "DaylightStart" and
"StandardStart". From what I can tell;

Byte #03= Month (TZEdit.exe and Timezone.exe)
Byte #05= Day-in-Month (Timezone.exe)
        = 1st/2nd/3rd/4th/last (1/2/3/4/5 - TZEdit.exe)
Byte #07= Time (TZEdit.exe and Timezone.exe)
Byte #15= Day (0=Sunday - TZEdit.exe)

Timezone.exe was not actually shipped with the NT Resource Kit, and so
its available from MS' FTP site (presumably for people who already own
the ResKit...;-]).

From Robert, here's the URLs for the support pages and where to download
it:
http://support.microsoft.com/support/kb/articles/q194/3/64.asp?FR=0
ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt40/i386/

I would point out that using Timezone.exe means you will have to run it
every year! Since it records the start and end dates for DST as exact
dates, as opposed to relative dates, you'd have to change them over and
over again.

TZEdit does a better job, but it can't overcome the problems described
by Richard Smith. Timezone.exe may be able to overcome them, but does so
at the expense of having to run it yearly (yeah, like we'd
remember...;-]).

Hopefully MS will be able to provide a better explanation as to what's
happening.

Cheers,
Russ - NTBugtraq moderator