FreeBSD Errata Notices
2007-Feb-28 18:49 UTC
[FreeBSD-Announce] FreeBSD Errata Notice FreeBSD-EN-07:04.zoneinfo
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ============================================================================FreeBSD-EN-07:04.zoneinfo Errata Notice The FreeBSD Project Topic: Zoneinfo file update Category: core Module: share_zoneinfo Announced: 2007-02-28 Affects: FreeBSD 6.1-RELEASE Corrected: 2007-02-28 18:23:09 UTC (RELENG_6_1, 6.1-RELEASE-p15) For general information regarding FreeBSD Errata Notices and Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit <URL:http://security.freebsd.org/>. I. Background The tzsetup(8) program allows the user to specify the default local timezone. Based on the user's choice, tzsetup(8) copies one of the files from /usr/share/zoneinfo to /etc/localtime. This file actually controls the conversion. II. Problem Description In 2005 several governments, among them the United States of America and Canada, decided to change when Daylight Savings Time begins and ends. The change takes effect in 2007. Because of that change the data in the zoneinfo files needs to be updated, and if the computer's local time zone is affected tzsetup(8) needs to be run so /etc/localtime gets updated. FreeBSD 6.1-RELEASE shipped with the correct zoneinfo files for the United States time zones affected by the change made in 2005, but the zoneinfo files for several other countries (e.g. Canada) do not contain current information. III. Impact If the /usr/share/zoneinfo files as well as /etc/localtime are not updated on a computer that has its time zone set to one of the regions affected by the change made in 2005 it will display the wrong time between March 15th and April 1st, then again between October 28th and November 4th. All things on that computer that rely on the system time (e.g. cron jobs, timestamps entered in log files, etc) will be affected. IV. Workaround At least in theory the system time could be manually adjusted by an hour on the affected dates. However the system will still incorrectly say whether or not Daylight Savings Time is in effect (e.g. it will still say the time is "EST" instead of "EDT" for the Eastern US). Doing this is NOT recommended because the kernel stores timestamp information in the filesystem and other places using its internal representation of time (based on UTC). Since the following is such a frequently asked question we will mention the answer here. Using an NTP server as the source of your system's time will NOT automatically take care of the change in Daylight Savings Time. This patch should still be applied if you are in a region that is affected. V. Solution Following the instructions in this Errata Notice will update all of the zoneinfo files to be the same as what was released with FreeBSD 6.2-RELEASE. Perform one of the following: 1) Upgrade your affected system to 6-STABLE or to the RELENG_6_1 security branch dated after the correction date. 2) To patch your present system: The following patches have been verified to apply to FreeBSD 6.1 systems. a) Download the relevant patch from the location below, and verify the detached PGP signature using your PGP utility. # fetch http://security.FreeBSD.org/patches/EN-07:04/zoneinfo.patch # fetch http://security.FreeBSD.org/patches/EN-07:04/zoneinfo.patch.asc b) Execute the following commands as root: # cd /usr/src # patch < /path/to/patch # cd /usr/src/share/misc # make obj && make depend && make && make install # cd /usr/src/share/zoneinfo # make obj && make depend && make && make install # tzsetup VI. Correction details The following list contains the revision numbers of each file that was corrected in FreeBSD. Branch Revision Path - ------------------------------------------------------------------------- RELENG_6_1 src/UPDATING 1.416.2.22.2.17 src/sys/conf/newvers.sh 1.69.2.11.2.17 src/share/misc/iso3166 1.13.12.1 src/share/zoneinfo/Makefile 1.20.6.1 src/share/zoneinfo/africa 1.14.14.2.2.1 src/share/zoneinfo/antarctica 1.1.2.10.12.2.2.1 src/share/zoneinfo/asia 1.25.2.2.2.1 src/share/zoneinfo/australasia 1.25.10.2.2.1 src/share/zoneinfo/backward 1.1.2.11.2.2.2.1 src/share/zoneinfo/etcetera 1.1.2.5.14.1.2.1 src/share/zoneinfo/europe 1.29.2.2.2.1 src/share/zoneinfo/factory 1.5.38.1 src/share/zoneinfo/leapseconds 1.13.2.1.2.1 src/share/zoneinfo/northamerica 1.25.2.2.2.1 src/share/zoneinfo/southamerica 1.24.2.2.2.1 src/share/zoneinfo/systemv 1.1.2.2.14.1.2.1 src/share/zoneinfo/yearistype.sh 1.1.2.5.14.1.2.1 src/share/zoneinfo/zone.tab 1.17.2.1.2.1 - ------------------------------------------------------------------------- The latest revision of this Errata Notice is available at http://security.FreeBSD.org/advisories/FreeBSD-EN-07:04.zoneinfo.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (FreeBSD) iD8DBQFF5ct/FdaIBMps37IRAiXgAJ4ldnfI9FL27J9n4/nHM9D0K1Qf6gCghXiL 9VMtdP/Us5QtJ7n4psLVIlg=AiEF -----END PGP SIGNATURE-----