svn commit: r51167 - in head/share: security/advisories security/patches/EN-17:09 xml
Gordon Tetlow
gordon at FreeBSD.org
Thu Nov 2 15:56:10 UTC 2017
Author: gordon (src,ports committer)
Date: Thu Nov 2 15:56:08 2017
New Revision: 51167
URL: https://svnweb.freebsd.org/changeset/doc/51167
Log:
Add EN-17:09.
Added:
head/share/security/advisories/FreeBSD-EN-17:09.tzdata.asc (contents, props changed)
head/share/security/patches/EN-17:09/
head/share/security/patches/EN-17:09/tzdata-10.3.patch (contents, props changed)
head/share/security/patches/EN-17:09/tzdata-10.3.patch.asc (contents, props changed)
head/share/security/patches/EN-17:09/tzdata-10.4.patch (contents, props changed)
head/share/security/patches/EN-17:09/tzdata-10.4.patch.asc (contents, props changed)
head/share/security/patches/EN-17:09/tzdata-11.0.patch (contents, props changed)
head/share/security/patches/EN-17:09/tzdata-11.0.patch.asc (contents, props changed)
head/share/security/patches/EN-17:09/tzdata-11.1.patch (contents, props changed)
head/share/security/patches/EN-17:09/tzdata-11.1.patch.asc (contents, props changed)
Modified:
head/share/xml/notices.xml
Added: head/share/security/advisories/FreeBSD-EN-17:09.tzdata.asc
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/share/security/advisories/FreeBSD-EN-17:09.tzdata.asc Thu Nov 2 15:56:08 2017 (r51167)
@@ -0,0 +1,175 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA512
+
+=============================================================================
+FreeBSD-EN-17:09.tzdata Errata Notice
+ The FreeBSD Project
+
+Topic: Timezone database information update
+
+Category: contrib
+Module: zoneinfo
+Announced: 2017-11-02
+Credits: Philip Paeps
+Affects: All supported versions of FreeBSD
+Corrected: 2017-10-30 15:56:17 UTC (stable/11, 11.1-STABLE)
+ 2017-11-02 15:40:19 UTC (releng/11.1, 11.1-RELEASE-p3)
+ 2017-11-02 15:39:49 UTC (releng/11.0, 11.0-RELEASE-p14)
+ 2017-10-30 15:57:48 UTC (stable/10, 10.4-STABLE)
+ 2017-11-02 15:38:54 UTC (releng/10.4, 10.4-RELEASE-p2)
+ 2017-11-02 15:38:24 UTC (releng/10.3, 10.3-RELEASE-p23)
+
+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:https://security.FreeBSD.org/>.
+
+I. Background
+
+The tzsetup(8) program allows the user to specify the default local
+timezone. Based on the selected timezone, tzsetup(8) copies one of the
+files from /usr/share/zoneinfo to /etc/localtime. This file actually
+controls the conversion.
+
+II. Problem Description
+
+Several changes in Daylight Savings Time happened after previous
+FreeBSD releases were released that would affect many people who
+live in different countries. Because of these changes, the data in
+the zoneinfo files need to be updated, and if the local timezone on
+the running system is affected, tzsetup(8) needs to be run so the
+/etc/localtime is updated.
+
+III. Impact
+
+An incorrect time will be displayed on a system configured to use one
+of the affected timezones if the /usr/share/zoneinfo and /etc/localtime
+files are not updated, and all applications on the system that rely on
+the system time, such as cron(8) and syslog(8), will be affected.
+
+IV. Workaround
+
+The system administrator can install an updated timezone database from
+the misc/zoneinfo port and run tzsetup(8) to get the timezone database
+corrected.
+
+Applications that store and display times in Coordinated Universal Time
+(UTC) are not affected.
+
+V. Solution
+
+Please note that some third party software, for instance PHP, Ruby,
+Java and Perl, may be using different zoneinfo data source, in such
+cases these software has to be updated separately. For software
+packages that is installed via package collection, they can be
+upgraded by doing a `pkg upgrade'.
+
+Following the instructions in this Errata Notice will update all of
+the zoneinfo files to be the same as what was released with FreeBSD
+release.
+
+Perform one of the following:
+
+1) Upgrade your system to a supported FreeBSD stable or release / security
+branch (releng) dated after the correction date. Restart all the affected
+applications and daemons, or reboot the system.
+
+2) To update your system via a binary patch:
+
+Systems running a RELEASE version of FreeBSD on the i386 or amd64
+platforms can be updated via the freebsd-update(8) utility:
+
+# freebsd-update fetch
+# freebsd-update install
+
+Restart all the affected applications and daemons, or reboot the system.
+
+3) To update your system via a source code patch:
+
+The following patches have been verified to apply to the applicable
+FreeBSD release branches.
+
+a) Download the relevant patch from the location below, and verify the
+detached PGP signature using your PGP utility.
+
+[FreeBSD 11.1]
+# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-11.1.patch
+# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-11.1.patch.asc
+# gpg --verify tzdata-11.1.patch.asc
+
+[FreeBSD 11.0]
+# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-11.0.patch
+# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-11.0.patch.asc
+# gpg --verify tzdata-11.0.patch.asc
+
+[FreeBSD 10.4]
+# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-10.4.patch
+# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-10.4.patch.asc
+# gpg --verify tzdata-10.4.patch.asc
+
+[FreeBSD 10.3]
+# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-10.3.patch
+# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-10.3.patch.asc
+# gpg --verify tzdata-10.3.patch.asc
+
+b) Apply the patch. Execute the following commands as root:
+
+# cd /usr/src
+# patch < /path/to/patch
+
+c) Recompile the operating system using buildworld and installworld as
+described in <URL:https://www.FreeBSD.org/handbook/makeworld.html>.
+
+Restart all the affected applications and daemons, or reboot the system.
+
+VI. Correction details
+
+The following list contains the correction revision numbers for each
+affected branch.
+
+Branch/path Revision
+- -------------------------------------------------------------------------
+stable/10/ r325160
+releng/10.3/ r325322
+releng/10.4/ r325323
+stable/11/ r325159
+releng/11.0/ r325324
+releng/11.1/ r325325
+- -------------------------------------------------------------------------
+
+To see which files were modified by a particular revision, run the
+following command, replacing NNNNNN with the revision number, on a
+machine with Subversion installed:
+
+# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
+
+Or visit the following URL, replacing NNNNNN with the revision number:
+
+<URL:https://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
+
+VII. References
+
+<other info on the problem>
+
+<URL:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=XXXXXX>
+
+The latest revision of this advisory is available at
+<URL:https://security.FreeBSD.org/advisories/FreeBSD-EN-17:09.tzdata.asc>
+-----BEGIN PGP SIGNATURE-----
+
+iQKTBAEBCgB9FiEEHPf/b631yp++G4yy7Wfs1l3PaucFAln7PU1fFIAAAAAALgAo
+aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDFD
+RjdGRjZGQURGNUNBOUZCRTFCOENCMkVENjdFQ0Q2NURDRjZBRTcACgkQ7Wfs1l3P
+aueuIBAA3RuatfFdMtCSZNQ4Dnzis2V7fNQxXDtBz6yKs71TBuNBTlN7I2HjhwSz
+/Xi81FZib24J9u95/dk3u5GsMy1YlMh7AX3ktwVkwU1PdbjkCsCSKyIg5VPmvKkP
+BS73ksLc82CoEMH74EUoSd0Bp8HRhzXugoO1K8cgtcuXiuOiEfAhrQ6/V8LHwxaX
+ISoQfZ2e7Nni0NmevF/18ftQm9xa8dW0957UGBd+W+mg3xsNWlpQa04pSBxoms5N
+OVuW5iii7bbtD8rH3jcsqYyeXWyJhd04WoW921EcSspel9tbXByZDqzepkz09skO
+xfCKoE7CoJY7DhJcvPjNnu8rTODofXZ8ac3mf60rgkMOwnupo/uR5JrXAry6PZHI
+VEv8SyJ2j/hAJ7A1L3Rgd6A9GJ2zbXBRKvDmcz8aodmQBZ34dxwqGpAEudMDX8tK
+rbTachnq5WNXKypm3XYql4wNbBvO0f5ooV962HKwflCFG/v5Lm3Zqx+FbpvIoSBq
+AwoEvssX4krcBF0buNd3TjKVKJ+6O3G4SKjWlrgGMqUEKFWDbuC41z7N5Cse6dWs
+3JVnPsP0EfucAPybiFOrSmJ29mfR9rtQjJeTm498Z3VeQ67pQt+VztKCIA1FU/NO
+8elPk05f+cbjRhQgSiFTPuE0M2/0qE9Bj70x2kN7wDOCynEnIek=
+=Ri9G
+-----END PGP SIGNATURE-----
Added: head/share/security/patches/EN-17:09/tzdata-10.3.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/share/security/patches/EN-17:09/tzdata-10.3.patch Thu Nov 2 15:56:08 2017 (r51167)
@@ -0,0 +1,8914 @@
+--- contrib/tzdata/CONTRIBUTING.orig
++++ contrib/tzdata/CONTRIBUTING
+@@ -5,23 +5,29 @@
+ warning, the data entries do not cover all of civil time before
+ 1970, and undoubtedly errors remain in the code and data. Feel
+ free to fill gaps or fix mistakes, and please email improvements
+-to tz at iana.org for use in the future.
++to tz at iana.org for use in the future. In your email, please give
++reliable sources that reviewers can check.
+
++-----
++
++Developers can contribute technical changes to the source code and
++data as follows.
++
+ To email small changes, please run a POSIX shell command like
+ 'diff -u old/europe new/europe >myfix.patch', and attach
+ myfix.patch to the email.
+
+-For more-elaborate changes, please read the Theory file and browse
+-the mailing list archives <http://mm.icann.org/pipermail/tz/> for
+-examples of patches that tend to work well. Ideally, additions to
++For more-elaborate changes, please read the theory.html file and browse
++the mailing list archives <https://mm.icann.org/pipermail/tz/> for
++examples of patches that tend to work well. Additions to
+ data should contain commentary citing reliable sources as
+-justification.
++justification. Citations should use https: URLs if available.
+
+ Please submit changes against either the latest release in
+-<ftp://ftp.iana.org/tz/> or the master branch of the experimental
+-Git repository. If you use Git the following workflow may be helpful:
++<https://www.iana.org/time-zones> or the master branch of the development
++repository. If you use Git the following workflow may be helpful:
+
+- * Copy the experimental repository.
++ * Copy the development repository.
+
+ git clone https://github.com/eggert/tz.git
+ cd tz
+--- contrib/tzdata/LICENSE.orig
++++ contrib/tzdata/LICENSE
+@@ -1,4 +1,5 @@
+-With a few exceptions, all files in the tz code and data (including
+-this one) are in the public domain. The exceptions are date.c,
+-newstrftime.3, and strftime.c, which contain material derived from BSD
+-and which use the BSD 3-clause license.
++Unless specified below, all files in the tz code and data (including
++this LICENSE file) are in the public domain.
++
++If the files date.c, newstrftime.3, and strftime.c are present, they
++contain material derived from BSD and use the BSD 3-clause license.
+--- contrib/tzdata/Makefile.orig
++++ contrib/tzdata/Makefile
+@@ -49,6 +49,7 @@
+ # "Compiled" time zone information is placed in the "TZDIR" directory
+ # (and subdirectories).
+ # Use an absolute path name for TZDIR unless you're just testing the software.
++# TZDIR_BASENAME should not contain "/" and should not be ".", ".." or empty.
+
+ TZDIR_BASENAME= zoneinfo
+ TZDIR= $(TOPDIR)/etc/$(TZDIR_BASENAME)
+@@ -72,11 +73,11 @@
+
+ LIBDIR= $(TOPDIR)/lib
+
+-# If you always want time values interpreted as "seconds since the epoch
+-# (not counting leap seconds)", use
++# If you want only POSIX time, with time values interpreted as
++# seconds since the epoch (not counting leap seconds), use
+ # REDO= posix_only
+-# below. If you always want right time values interpreted as "seconds since
+-# the epoch" (counting leap seconds)", use
++# below. If you want only "right" time, with values interpreted
++# as seconds since the epoch (counting leap seconds), use
+ # REDO= right_only
+ # below. If you want both sets of data available, with leap seconds not
+ # counted normally, use
+@@ -85,10 +86,31 @@
+ # normally, use
+ # REDO= right_posix
+ # below. POSIX mandates that leap seconds not be counted; for compatibility
+-# with it, use "posix_only" or "posix_right".
++# with it, use "posix_only" or "posix_right". Use POSIX time on systems with
++# leap smearing; this can work better than unsmeared "right" time with
++# applications that are not leap second aware, and is closer to unsmeared
++# "right" time than unsmeared POSIX time is (e.g., 0.5 vs 1.0 s max error).
+
+ REDO= posix_right
+
++# To install data in text form that has all the information of the binary data,
++# (optionally incorporating leap second information), use
++# TZDATA_TEXT= tzdata.zi leapseconds
++# To install text data without leap second information (e.g., because
++# REDO='posix_only'), use
++# TZDATA_TEXT= tzdata.zi
++# To avoid installing text data, use
++# TZDATA_TEXT=
++
++TZDATA_TEXT= leapseconds tzdata.zi
++
++# For backward-compatibility links for old zone names, use
++# BACKWARD= backward pacificnew
++# To omit these links, use
++# BACKWARD=
++
++BACKWARD= backward pacificnew
++
+ # If you want out-of-scope and often-wrong data from the file 'backzone', use
+ # PACKRATDATA= backzone
+ # To omit this data, use
+@@ -96,6 +118,11 @@
+
+ PACKRATDATA=
+
++# The name of a locale using the UTF-8 encoding, used during self-tests.
++# The tests are skipped if the name does not appear to work on this system.
++
++UTF8_LOCALE= en_US.utf8
++
+ # Since "." may not be in PATH...
+
+ YEARISTYPE= ./yearistype
+@@ -103,50 +130,53 @@
+ # Non-default libraries needed to link.
+ LDLIBS=
+
+-# Add the following to the end of the "CFLAGS=" line as needed.
++# Add the following to the end of the "CFLAGS=" line as needed to override
++# defaults specified in the source code. "-DFOO" is equivalent to "-DFOO=1".
+ # -DBIG_BANG=-9999999LL if the Big Bang occurred at time -9999999 (see zic.c)
++# -DDEPRECATE_TWO_DIGIT_YEARS for optional runtime warnings about strftime
++# formats that generate only the last two digits of year numbers
++# -DEPOCH_LOCAL if the 'time' function returns local time not UT
++# -DEPOCH_OFFSET=N if the 'time' function returns a value N greater
++# than what POSIX specifies, assuming local time is UT.
++# For example, N is 252460800 on AmigaOS.
+ # -DHAVE_DECL_ASCTIME_R=0 if <time.h> does not declare asctime_r
++# -DHAVE_DECL_ENVIRON if <unistd.h> declares 'environ'
+ # -DHAVE_DIRECT_H if mkdir needs <direct.h> (MS-Windows)
+-# -DHAVE_DOS_FILE_NAMES if file names have drive specifiers etc. (MS-DOS)
+-# -DHAVE_GETTEXT=1 if 'gettext' works (e.g., GNU/Linux, FreeBSD, Solaris)
+-# -DHAVE_INCOMPATIBLE_CTIME_R=1 if your system's time.h declares
++# -DHAVE_GENERIC=0 if _Generic does not work
++# -DHAVE_GETTEXT if 'gettext' works (e.g., GNU/Linux, FreeBSD, Solaris)
++# -DHAVE_INCOMPATIBLE_CTIME_R if your system's time.h declares
+ # ctime_r and asctime_r incompatibly with the POSIX standard
+ # (Solaris when _POSIX_PTHREAD_SEMANTICS is not defined).
+-# -DHAVE_INTTYPES_H=1 if you have a pre-C99 compiler with "inttypes.h"
++# -DHAVE_INTTYPES_H if you have a non-C99 compiler with <inttypes.h>
+ # -DHAVE_LINK=0 if your system lacks a link function
+ # -DHAVE_LOCALTIME_R=0 if your system lacks a localtime_r function
+ # -DHAVE_LOCALTIME_RZ=0 if you do not want zdump to use localtime_rz
+-# This defaults to 1 if a working localtime_rz seems to be available.
+ # localtime_rz can make zdump significantly faster, but is nonstandard.
+ # -DHAVE_POSIX_DECLS=0 if your system's include files do not declare
+ # functions like 'link' or variables like 'tzname' required by POSIX
+-# -DHAVE_STDINT_H=1 if you have a pre-C99 compiler with "stdint.h"
+-# -DHAVE_STRFTIME_L=1 if <time.h> declares locale_t and strftime_l
+-# This defaults to 0 if _POSIX_VERSION < 200809, 1 otherwise.
++# -DHAVE_SNPRINTF=0 if your system lacks the snprintf function
++# -DHAVE_STDBOOL_H if you have a non-C99 compiler with <stdbool.h>
++# -DHAVE_STDINT_H if you have a non-C99 compiler with <stdint.h>
++# -DHAVE_STRFTIME_L if <time.h> declares locale_t and strftime_l
+ # -DHAVE_STRDUP=0 if your system lacks the strdup function
+ # -DHAVE_SYMLINK=0 if your system lacks the symlink function
+-# -DHAVE_SYS_STAT_H=0 if your compiler lacks a "sys/stat.h"
+-# -DHAVE_SYS_WAIT_H=0 if your compiler lacks a "sys/wait.h"
++# -DHAVE_SYS_STAT_H=0 if your compiler lacks a <sys/stat.h>
++# -DHAVE_SYS_WAIT_H=0 if your compiler lacks a <sys/wait.h>
+ # -DHAVE_TZSET=0 if your system lacks a tzset function
+-# -DHAVE_UNISTD_H=0 if your compiler lacks a "unistd.h" (Microsoft C++ 7?)
+-# -DEPOCH_LOCAL=1 if the 'time' function returns local time not UT
+-# -DEPOCH_OFFSET=N if the 'time' function returns a value N greater
+-# than what POSIX specifies, assuming local time is UT.
+-# For example, N is 252460800 on AmigaOS.
+-# -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU=1
+-# if you do not want run time warnings about formats that may cause
+-# year 2000 grief
+-# -Dssize_t=long on ancient hosts that lack ssize_t
+-# -DTHREAD_SAFE=1 to make localtime.c thread-safe, as POSIX requires;
++# -DHAVE_UNISTD_H=0 if your compiler lacks a <unistd.h>
++# -Dlocale_t=XXX if your system uses XXX instead of locale_t
++# -Dssize_t=long on hosts like MS-Windows that lack ssize_t
++# -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires;
+ # not needed by the main-program tz code, which is single-threaded.
+ # Append other compiler flags as needed, e.g., -pthread on GNU/Linux.
+ # -Dtime_tz=\"T\" to use T as the time_t type, rather than the system time_t
++# This is intended for internal use only; it mangles external names.
+ # -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz"
+ # -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory;
+ # the default is system-supplied, typically "/usr/lib/locale"
+ # -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified
+ # DST transitions if the time zone files cannot be accessed
+-# -DUNINIT_TRAP=1 if reading uninitialized storage can cause problems
++# -DUNINIT_TRAP if reading uninitialized storage can cause problems
+ # other than simply getting garbage data
+ # -DUSE_LTZ=0 to build zdump with the system time zone library
+ # Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below.
+@@ -154,27 +184,28 @@
+ # (or some other number) to set the maximum time zone abbreviation length
+ # that zic will accept without a warning (the default is 6)
+ # $(GCC_DEBUG_FLAGS) if you are using recent GCC and want lots of checking
+-GCC_DEBUG_FLAGS = -Dlint -g3 -O3 -fno-common -fstrict-aliasing \
+- -Wall -Wextra \
+- -Wbad-function-cast -Wcast-align -Wdate-time \
+- -Wdeclaration-after-statement \
+- -Wdouble-promotion \
+- -Wformat=2 -Winit-self -Wjump-misses-init \
+- -Wlogical-op -Wmissing-prototypes -Wnested-externs \
+- -Wold-style-definition -Woverlength-strings -Wpointer-arith \
+- -Wshadow -Wstrict-prototypes -Wsuggest-attribute=const \
+- -Wsuggest-attribute=format -Wsuggest-attribute=noreturn \
+- -Wsuggest-attribute=pure -Wtrampolines \
+- -Wunused -Wwrite-strings \
+- -Wno-address -Wno-format-nonliteral -Wno-sign-compare \
+- -Wno-type-limits -Wno-unused-parameter
++# Select instrumentation via "make GCC_INSTRUMENT='whatever'".
++GCC_INSTRUMENT = \
++ -fsanitize=undefined -fsanitize-address-use-after-scope \
++ -fsanitize-undefined-trap-on-error -fstack-protector
++GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
++ $(GCC_INSTRUMENT) \
++ -Wall -Wextra \
++ -Walloc-size-larger-than=100000 -Warray-bounds=2 \
++ -Wbad-function-cast -Wcast-align -Wdate-time \
++ -Wdeclaration-after-statement -Wdouble-promotion \
++ -Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation \
++ -Winit-self -Wjump-misses-init -Wlogical-op \
++ -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \
++ -Wold-style-definition -Woverlength-strings -Wpointer-arith \
++ -Wshadow -Wshift-overflow=2 -Wstrict-prototypes -Wstringop-overflow=5 \
++ -Wsuggest-attribute=const -Wsuggest-attribute=format \
++ -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \
++ -Wtrampolines -Wundef -Wuninitialized -Wunused \
++ -Wvariadic-macros -Wvla -Wwrite-strings \
++ -Wno-address -Wno-format-nonliteral -Wno-sign-compare \
++ -Wno-type-limits -Wno-unused-parameter
+ #
+-# If you want to use System V compatibility code, add
+-# -DUSG_COMPAT
+-# to the end of the "CFLAGS=" line. This arrange for "timezone" and "daylight"
+-# variables to be kept up-to-date by the time conversion functions. Neither
+-# "timezone" nor "daylight" is described in X3J11's work.
+-#
+ # If your system has a "GMT offset" field in its "struct tm"s
+ # (or if you decide to add such a field in your system's "time.h" file),
+ # add the name to a define such as
+@@ -186,6 +217,31 @@
+ # and define NO_TM_ZONE to suppress any guessing. These two fields are not
+ # required by POSIX, but are widely available on GNU/Linux and BSD systems.
+ #
++# The next batch of options control support for external variables
++# exported by tzcode. In practice these variables are less useful
++# than TM_GMTOFF and TM_ZONE. However, most of them are standardized.
++# #
++# # To omit or support the external variable "tzname", add one of:
++# # -DHAVE_TZNAME=0
++# # -DHAVE_TZNAME=1
++# # to the "CFLAGS=" line. "tzname" is required by POSIX 1988 and later.
++# # If not defined, the code attempts to guess HAVE_TZNAME from other macros.
++# # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause
++# # crashes when combined with some platforms' standard libraries,
++# # presumably due to memory allocation issues.
++# #
++# # To omit or support the external variables "timezone" and "daylight", add
++# # -DUSG_COMPAT=0
++# # -DUSG_COMPAT=1
++# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by
++# # Unix Systems Group code and are required by POSIX 2008 (with XSI) and later.
++# # If not defined, the code attempts to guess USG_COMPAT from other macros.
++# #
++# # To support the external variable "altzone", add
++# # -DALTZONE
++# # to the end of the "CFLAGS=" line; although "altzone" appeared in
++# # System V Release 3.1 it has not been standardized.
++#
+ # If you want functions that were inspired by early versions of X3J11's work,
+ # add
+ # -DSTD_INSPIRED
+@@ -223,11 +279,6 @@
+ # -DALL_STATE
+ # to the end of the "CFLAGS=" line. Storage is obtained by calling malloc.
+ #
+-# If you want an "altzone" variable (a la System V Release 3.1), add
+-# -DALTZONE
+-# to the end of the "CFLAGS=" line.
+-# This variable is not described in X3J11's work.
+-#
+ # NIST-PCTS:151-2, Version 1.4, (1993-12-03) is a test suite put
+ # out by the National Institute of Standards and Technology
+ # which claims to test C and Posix conformance. If you want to pass PCTS, add
+@@ -237,8 +288,8 @@
+ # If you want strict compliance with XPG4 as of 1994-04-09, add
+ # -DXPG4_1994_04_09
+ # to the end of the "CFLAGS=" line. This causes "strftime" to always return
+-# 53 as a week number (rather than 52 or 53) for those days in January that
+-# before the first Monday in January when a "%V" format is used and January 1
++# 53 as a week number (rather than 52 or 53) for January days before
++# January's first Monday when a "%V" format is used and January 1
+ # falls on a Friday, Saturday, or Sunday.
+
+ CFLAGS=
+@@ -262,7 +313,7 @@
+
+ # How to use zic to install tz binary files.
+
+-ZIC_INSTALL= $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS)
++ZIC_INSTALL= $(ZIC) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS)
+
+ # The name of a Posix-compliant 'awk' on your system.
+ AWK= awk
+@@ -286,6 +337,7 @@
+ # The name, arguments and environment of a program to validate your web pages.
+ # See <http://openjade.sourceforge.net/doc/> for a validator, and
+ # <https://validator.w3.org/source/> for a validation library.
++# Set VALIDATE=':' if you do not have such a program.
+ VALIDATE = nsgmls
+ VALIDATE_FLAGS = -s -B -wall -wno-unused-param
+ VALIDATE_ENV = \
+@@ -352,7 +404,7 @@
+ RANLIB= :
+
+ TZCOBJS= zic.o
+-TZDOBJS= zdump.o localtime.o asctime.o
++TZDOBJS= zdump.o localtime.o asctime.o strftime.o
+ DATEOBJS= date.o localtime.o strftime.o asctime.o
+ LIBSRCS= localtime.c asctime.c difftime.c
+ LIBOBJS= localtime.o asctime.o difftime.o
+@@ -367,20 +419,22 @@
+ time2posix.3.txt \
+ tzfile.5.txt tzselect.8.txt zic.8.txt zdump.8.txt \
+ date.1.txt
+-COMMON= CONTRIBUTING LICENSE Makefile NEWS README Theory version
++COMMON= calendars CONTRIBUTING LICENSE Makefile \
++ NEWS README theory.html version
+ WEB_PAGES= tz-art.htm tz-how-to.html tz-link.htm
+ DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES)
+ PRIMARY_YDATA= africa antarctica asia australasia \
+ europe northamerica southamerica
+-YDATA= $(PRIMARY_YDATA) pacificnew etcetera backward
++YDATA= $(PRIMARY_YDATA) etcetera $(BACKWARD)
+ NDATA= systemv factory
+ TDATA= $(YDATA) $(NDATA)
+ ZONETABLES= zone1970.tab zone.tab
+-TABDATA= iso3166.tab leapseconds $(ZONETABLES)
++TABDATA= iso3166.tab $(TZDATA_TEXT) $(ZONETABLES)
+ LEAP_DEPS= leapseconds.awk leap-seconds.list
+-DATA= $(YDATA) $(NDATA) backzone $(TABDATA) \
+- leap-seconds.list yearistype.sh
+-AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk
++TZDATA_ZI_DEPS= zishrink.awk $(TDATA) $(PACKRATDATA)
++DATA= $(YDATA) $(NDATA) backzone iso3166.tab leap-seconds.list \
++ leapseconds yearistype.sh $(ZONETABLES)
++AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk zishrink.awk
+ MISC= $(AWK_SCRIPTS) zoneinfo2tdf.pl
+ TZS_YEAR= 2050
+ TZS= to$(TZS_YEAR).tzs
+@@ -387,13 +441,13 @@
+ TZS_NEW= to$(TZS_YEAR)new.tzs
+ TZS_DEPS= $(PRIMARY_YDATA) asctime.c localtime.c \
+ private.h tzfile.h zdump.c zic.c
+-ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) $(TZS)
++ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) $(TZS) tzdata.zi
+
+ # Consult these files when deciding whether to rebuild the 'version' file.
+ # This list is not the same as the output of 'git ls-files', since
+ # .gitignore is not distributed.
+ VERSION_DEPS= \
+- CONTRIBUTING LICENSE Makefile NEWS README Theory \
++ calendars CONTRIBUTING LICENSE Makefile NEWS README \
+ africa antarctica asctime.c asia australasia \
+ backward backzone \
+ checklinks.awk checktab.awk \
+@@ -402,7 +456,7 @@
+ leap-seconds.list leapseconds.awk localtime.c \
+ newctime.3 newstrftime.3 newtzset.3 northamerica \
+ pacificnew private.h \
+- southamerica strftime.c systemv \
++ southamerica strftime.c systemv theory.html \
+ time2posix.3 tz-art.htm tz-how-to.html tz-link.htm \
+ tzfile.5 tzfile.h tzselect.8 tzselect.ksh \
+ workman.sh yearistype.sh \
+@@ -424,7 +478,7 @@
+ $(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \
+ $(DESTDIR)$(MANDIR)/man8
+ $(ZIC_INSTALL) -l $(LOCALTIME) -p $(POSIXRULES)
+- cp -f iso3166.tab $(ZONETABLES) $(DESTDIR)$(TZDIR)/.
++ cp -f $(TABDATA) $(DESTDIR)$(TZDIR)/.
+ cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/.
+ cp libtz.a $(DESTDIR)$(LIBDIR)/.
+ $(RANLIB) $(DESTDIR)$(LIBDIR)/libtz.a
+@@ -445,6 +499,11 @@
+ printf '%s\n' "$$V" >$@.out
+ mv $@.out $@
+
++# This file can be tailored by setting BACKWARD, PACKRATDATA, etc.
++tzdata.zi: $(TZDATA_ZI_DEPS)
++ LC_ALL=C $(AWK) -f zishrink.awk $(TDATA) $(PACKRATDATA) >$@.out
++ mv $@.out $@
++
+ version.h: version
+ VERSION=`cat version` && printf '%s\n' \
+ 'static char const PKGVERSION[]="($(PACKAGE)) ";' \
+@@ -470,6 +529,7 @@
+ # Arguments to pass to submakes of install_data.
+ # They can be overridden by later submake arguments.
+ INSTALLARGS = \
++ BACKWARD=$(BACKWARD) \
+ DESTDIR=$(DESTDIR) \
+ LEAPSECONDS='$(LEAPSECONDS)' \
+ PACKRATDATA='$(PACKRATDATA)' \
+@@ -478,10 +538,8 @@
+ ZIC='$(ZIC)'
+
+ # 'make install_data' installs one set of tz binary files.
+-# It can be tailored by setting LEAPSECONDS, PACKRATDATA, etc.
+-install_data: zic leapseconds yearistype $(PACKRATDATA) $(TDATA)
+- $(ZIC_INSTALL) $(TDATA)
+- $(AWK) '/^Rule/' $(TDATA) | $(ZIC_INSTALL) - $(PACKRATDATA)
++install_data: zic leapseconds yearistype tzdata.zi
++ $(ZIC_INSTALL) tzdata.zi
+
+ posix_only:
+ $(MAKE) $(INSTALLARGS) LEAPSECONDS= install_data
+@@ -518,14 +576,14 @@
+
+ zones: $(REDO)
+
+-$(TZS_NEW): $(TDATA) zdump zic
++$(TZS_NEW): tzdata.zi zdump zic
+ mkdir -p tzs.dir
+- $(zic) -d tzs.dir $(TDATA)
+- $(AWK) '/^Link/{print $$1 "\t" $$2 "\t" $$3}' \
+- $(TDATA) | LC_ALL=C sort >$@.out
++ $(zic) -d tzs.dir tzdata.zi
++ $(AWK) '/^L/{print "Link\t" $$2 "\t" $$3}' \
++ tzdata.zi | LC_ALL=C sort >$@.out
+ wd=`pwd` && \
+ zones=`$(AWK) -v wd="$$wd" \
+- '/^Zone/{print wd "/tzs.dir/" $$2}' $(TDATA) \
++ '/^Z/{print wd "/tzs.dir/" $$2}' tzdata.zi \
+ | LC_ALL=C sort` && \
+ ./zdump -i -c $(TZS_YEAR) $$zones >>$@.out
+ sed 's,^TZ=".*tzs\.dir/,TZ=",' $@.out >$@.sed.out
+@@ -542,7 +600,8 @@
+ cp $(TZS_NEW) $(TZS)
+
+ libtz.a: $(LIBOBJS)
+- $(AR) ru $@ $(LIBOBJS)
++ rm -f $@
++ $(AR) -rc $@ $(LIBOBJS)
+ $(RANLIB) $@
+
+ date: $(DATEOBJS)
+@@ -560,18 +619,24 @@
+ chmod +x $@.out
+ mv $@.out $@
+
+-check: check_character_set check_white_space check_links check_sorted \
+- check_tables check_tzs check_web
++check: check_character_set check_white_space check_links \
++ check_name_lengths check_sorted \
++ check_tables check_web check_zishrink check_tzs
+
+ check_character_set: $(ENCHILADA)
+- LC_ALL=en_US.utf8 && export LC_ALL && \
++ test ! '$(UTF8_LOCALE)' || \
++ ! printf 'A\304\200B\n' | \
++ LC_ALL='$(UTF8_LOCALE)' grep -q '^A.B$$' >/dev/null 2>&1 || { \
++ LC_ALL='$(UTF8_LOCALE)' && export LC_ALL && \
+ sharp='#' && \
+ ! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \
+ $(MISC) $(SOURCES) $(WEB_PAGES) \
+- CONTRIBUTING LICENSE Makefile README version && \
++ CONTRIBUTING LICENSE Makefile README \
++ version tzdata.zi && \
+ ! grep -Env $(SAFE_SHARP_LINE) $(TDATA) backzone \
+ leapseconds yearistype.sh zone.tab && \
+- ! grep -Env $(OK_LINE) $(ENCHILADA)
++ ! grep -Env $(OK_LINE) $(ENCHILADA); \
++ }
+
+ check_white_space: $(ENCHILADA)
+ patfmt=' \t|[\f\r\v]' && pat=`printf "$$patfmt\\n"` && \
+@@ -578,6 +643,13 @@
+ ! grep -En "$$pat" $(ENCHILADA)
+ ! grep -n '[[:space:]]$$' $(ENCHILADA)
+
++PRECEDES_FILE_NAME = ^(Zone|Link[[:space:]]+[^[:space:]]+)[[:space:]]+
++FILE_NAME_COMPONENT_TOO_LONG = \
++ $(PRECEDES_FILE_NAME)[^[:space:]]*[^/[:space:]]{15}
++
++check_name_lengths: $(TDATA) backzone
++ ! grep -En '$(FILE_NAME_COMPONENT_TOO_LONG)' $(TDATA) backzone
++
+ CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; }
+
+ check_sorted: backward backzone iso3166.tab zone.tab zone1970.tab
+@@ -592,6 +664,7 @@
+
+ check_links: checklinks.awk $(TDATA)
+ $(AWK) -f checklinks.awk $(TDATA)
++ $(AWK) -f checklinks.awk tzdata.zi
+
+ check_tables: checktab.awk $(PRIMARY_YDATA) $(ZONETABLES)
+ for tab in $(ZONETABLES); do \
+@@ -602,14 +675,32 @@
+ check_tzs: $(TZS) $(TZS_NEW)
+ diff -u $(TZS) $(TZS_NEW)
+
+-check_web: $(WEB_PAGES)
+- $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) $(WEB_PAGES)
++# This checks only the HTML 4.01 strict page.
++# To check the the other pages, use <https://validator.w3.org/>.
++check_web: tz-how-to.html
++ $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) tz-how-to.html
+
++# Check that tzdata.zi generates the same binary data that its sources do.
++check_zishrink: tzdata.zi zic leapseconds $(PACKRATDATA) $(TDATA)
++ for type in posix right; do \
++ mkdir -p time_t.dir/$$type time_t.dir/$$type-shrunk && \
++ case $$type in \
++ right) leap='-L leapseconds';; \
++ *) leap=;; \
++ esac && \
++ $(ZIC) $$leap -d time_t.dir/$$type $(TDATA) && \
++ $(AWK) '/^Rule/' $(TDATA) | \
++ $(ZIC) $$leap -d time_t.dir/$$type - $(PACKRATDATA) && \
++ $(ZIC) $$leap -d time_t.dir/$$type-shrunk tzdata.zi && \
++ diff -r time_t.dir/$$type time_t.dir/$$type-shrunk || exit; \
++ done
++ rm -fr time_t.dir
++
+ clean_misc:
+ rm -f core *.o *.out \
+ date tzselect version.h zdump zic yearistype libtz.a
+ clean: clean_misc
+- rm -fr *.dir tzdb-*/ $(TZS_NEW)
++ rm -fr *.dir tzdata.zi tzdb-*/ $(TZS_NEW)
+
+ maintainer-clean: clean
+ @echo 'This command is intended for maintainers to use; it'
+@@ -663,6 +754,7 @@
+ touch -cmr `ls -t $$file workman.sh | sed 1q` $$file.txt || \
+ exit; \
+ done
++ touch -cmr `ls -t $(TZDATA_ZI_DEPS) | sed 1q` tzdata.zi
+ touch -cmr `ls -t $(TZS_DEPS) | sed 1q` $(TZS)
+ touch -cmr `ls -t $(VERSION_DEPS) | sed 1q` version
+ touch $@
+@@ -674,7 +766,7 @@
+ $(MAKE) maintainer-clean
+ $(MAKE) "CFLAGS=$(GCC_DEBUG_FLAGS)" ALL
+ mkdir -p public.dir
+- for i in $(TDATA) ; do \
++ for i in $(TDATA) tzdata.zi; do \
+ $(zic) -v -d public.dir $$i 2>&1 || exit; \
+ done
+ $(zic) -v -d public.dir $(TDATA)
+@@ -768,8 +860,8 @@
+ $(MAKE) clean ; \
+ done
+
+-zonenames: $(TDATA)
+- @$(AWK) '/^Zone/ { print $$2 } /^Link/ { print $$3 }' $(TDATA)
++zonenames: tzdata.zi
++ @$(AWK) '/^Z/ { print $$2 } /^L/ { print $$3 }' tzdata.zi
+
+ asctime.o: private.h tzfile.h
+ date.o: private.h
+@@ -785,6 +877,7 @@
+ .PHONY: check check_character_set check_links
+ .PHONY: check_public check_sorted check_tables
+ .PHONY: check_time_t_alternatives check_tzs check_web check_white_space
++.PHONY: check_zishrink
+ .PHONY: clean clean_misc force_tzs
+ .PHONY: install install_data maintainer-clean names
+ .PHONY: posix_only posix_packrat posix_right
+--- contrib/tzdata/NEWS.orig
++++ contrib/tzdata/NEWS
+@@ -1,5 +1,344 @@
+ News for the tz database
+
++Release 2017c - 2017-10-20 14:49:34 -0700
++
++ Briefly:
++ Northern Cyprus switches from +03 to +02/+03 on 2017-10-29.
++ Fiji ends DST 2018-01-14, not 2018-01-21.
++ Namibia switches from +01/+02 to +02 on 2018-04-01.
++ Sudan switches from +03 to +02 on 2017-11-01.
++ Tonga likely switches from +13/+14 to +13 on 2017-11-05.
++ Turks & Caicos switches from -04 to -05/-04 on 2018-11-04.
++ A new file tzdata.zi now holds a small text copy of all data.
++ The zic input format has been regularized slightly.
++
++ Changes to future time stamps
++
++ Northern Cyprus has decided to resume EU rules starting
++ 2017-10-29, thus reinstituting winter time.
++
++ Fiji ends DST 2018-01-14 instead of the 2018-01-21 previously
++ predicted. (Thanks to Dominic Fok.) Adjust future predictions
++ accordingly.
++
++ Namibia will switch from +01 with DST to +02 all year on
++ 2017-09-03 at 02:00. This affects UT offsets starting 2018-04-01
++ at 02:00. (Thanks to Steffen Thorsen.)
++
++ Sudan will switch from +03 to +02 on 2017-11-01. (Thanks to Ahmed
++ Atyya and Yahia Abdalla.) South Sudan is not switching, so
++ Africa/Juba is no longer a link to Africa/Khartoum.
++
++ Tonga has likely ended its experiment with DST, and will not
++ adjust its clocks on 2017-11-05. Although Tonga has not announced
++ whether it will continue to observe DST, the IATA is assuming that
++ it will not. (Thanks to David Wade.)
++
++ Turks & Caicos will switch from -04 all year to -05 with US DST on
++ 2018-03-11 at 03:00. This affects UT offsets starting 2018-11-04
++ at 02:00. (Thanks to Steffen Thorsen.)
++
++ Changes to past time stamps
++
++ Namibia switched from +02 to +01 on 1994-03-21, not 1994-04-03.
++ (Thanks to Arthur David Olson.)
++
++ Detroit did not observe DST in 1967.
++
++ Use railway time for Asia/Kolkata before 1941, by switching to
++ Madras local time (UT +052110) in 1870, then to IST (UT +0530) in
++ 1906. Also, treat 1941-2's +0630 as DST, like 1942-5.
++
++ Europe/Dublin's 1946 and 1947 fallback transitions occurred at
++ 02:00 standard time, not 02:00 DST. (Thanks to Michael Deckers.)
++
++ Pacific/Apia and Pacific/Pago_Pago switched from Antipodean to
++ American time in 1892, not 1879. (Thanks to Michael Deckers.)
++
++ Adjust the 1867 transition in Alaska to better reflect the
++ historical record, by changing it to occur on 1867-10-18 at 15:30
++ Sitka time rather than at the start of 1867-10-17 local time.
++ Although strictly speaking this is accurate only for Sitka,
++ the rest of Alaska's blanks need to be filled in somehow.
++
++ Fix off-by-one errors in UT offsets for Adak and Nome before 1867.
++ (Thanks to Michael Deckers.)
++
++ Add 7 s to the UT offset in Asia/Yangon before 1920.
++
++ Changes to zone names
++
++ Remove Canada/East-Saskatchewan from the 'backward' file, as it
++ exceeded the 14-character limit and was an unused misnomer anyway.
++
++ Changes to build procedure
++
++ To support applications that prefer to read time zone data in text
++ form, two zic input files tzdata.zi and leapseconds are now
++ installed by default. The commands 'zic tzdata.zi' and 'zic -L
++ leapseconds tzdata.zi' can reproduce the tzdata binary files
++ without and with leap seconds, respectively. To prevent these two
++ new files from being installed, use 'make TZDATA_TEXT=', and to
++ suppress leap seconds from the tzdata text installation, use 'make
++ TZDATA_TEXT=tzdata.zi'.
++
++ 'make BACKWARD=' now suppresses backward-compatibility names
++ like 'US/Pacific' that are defined in the 'backward' and
++ 'pacificnew' files.
++
++ 'make check' now works on systems that lack a UTF-8 locale,
++ or that lack the nsgmls program. Set UTF8_LOCALE to configure
++ the name of a UTF-8 locale, if you have one.
++
++ Y2K runtime checks are no longer enabled by default. Add
++ -DDEPRECATE_TWO_DIGIT_YEARS to CFLAGS to enable them, instead of
++ adding -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU
++ to disable them. (New name suggested by Brian Inglis.)
++
++ The build procedure for zdump now works on AIX 7.1.
++ (Problem reported by Kees Dekker.)
++
++ Changes to code
++
++ zic and the reference runtime now reject multiple leap seconds
++ within 28 days of each other, or leap seconds before the Epoch.
++ As a result, support for double leap seconds, which was
++ obsolescent and undocumented, has been removed. Double leap
++ seconds were an error in the C89 standard; they have never existed
++ in civil timekeeping. (Thanks to Robert Elz and Bradley White for
++ noticing glitches in the code that uncovered this problem.)
++
++ zic now warns about use of the obsolescent and undocumented -y
++ option, and about use of the obsolescent TYPE field of Rule lines.
++
++ zic now allows unambiguous abbreviations like "Sa" and "Su" for
++ weekdays; formerly it rejected them due to a bug. Conversely, zic
++ no longer considers non-prefixes to be abbreviations; for example,
++ it no longer accepts "lF" as an abbreviation for "lastFriday".
++ Also, zic warns about the undocumented usage with a "last-"
++ prefix, e.g., "last-Fri".
++
++ Similarly, zic now accepts the unambiguous abbreviation "L" for
++ "Link" in ordinary context and for "Leap" in leap-second context.
++ Conversely, zic no longer accepts non-prefixes such as "La" as
++ abbreviations for words like "Leap".
++
++ zic no longer accepts leap second lines in ordinary input, or
++ ordinary lines in leap second input. Formerly, zic sometimes
++ warned about this undocumented usage and handled it incorrectly.
++
++ The new macro HAVE_TZNAME governs whether the tzname external
++ variable is exported, instead of USG_COMPAT. USG_COMPAT now
++ governs only the external variables "timezone" and "daylight".
++ This change is needed because the three variables are not in the
++ same category: although POSIX requires tzname, it specifies the
++ other two variables as optional. Also, USG_COMPAT is now 1 or 0:
++ if not defined, the code attempts to guess it from other macros.
++
++ localtime.c and difftime.c no longer require stdio.h, and .c files
++ other than zic.c no longer require sys/wait.h.
++
++ zdump.c no longer assumes snprintf. (Reported by Jonathan Leffler.)
++
++ Calculation of time_t extrema works around a bug in GCC 4.8.4
++ (Reported by Stan Shebs and Joseph Myers.)
++
++ zic.c no longer mistranslates formats of line numbers in non-English
++ locales. (Problem reported by Benno Schulenberg.)
++
++ Several minor changes have been made to the code to make it a
++ bit easier to port to MS-Windows and Solaris. (Thanks to Kees
++ Dekker for reporting the problems.)
++
++ Changes to documentation and commentary
++
++ The two new files 'theory.html' and 'calendars' contain the
++ contents of the removed file 'Theory'. The goal is to document
++ tzdb theory more accessibly.
++
++ The zic man page now documents abbreviation rules.
++
++ tz-link.htm now covers how to apply tzdata changes to clients.
++ (Thanks to Jorge Fábregas for the AIX link.) It also mentions MySQL.
++
++ The leap-seconds.list URL has been updated to something that is
++ more reliable for tzdb. (Thanks to Tim Parenti and Brian Inglis.)
++
++Release 2017b - 2017-03-17 07:30:38 -0700
++
++ Briefly: Haiti has resumed DST.
++
++ Changes to past and future time stamps
++
++ Haiti resumed observance of DST in 2017. (Thanks to Steffen Thorsen.)
++
++ Changes to past time stamps
++
++ Liberia changed from -004430 to +00 on 1972-01-07, not 1972-05-01.
++
++ Use "MMT" to abbreviate Liberia's time zone before 1972, as "-004430"
++ is one byte over the POSIX limit. (Problem reported by Derick Rethans.)
++
++ Changes to code
++
++ The reference localtime implementation now falls back on the
++ current US daylight-saving transition rules rather than the
++ 1987-2006 rules. This fallback occurs only when (1) the TZ
++ environment variable's value has a name like "AST4ADT" that asks
++ for daylight saving time but does not specify the rules, (2) there
++ is no file by that name, and (3) the TZDEFRULES file cannot be
++ loaded. (Thanks to Tom Lane.)
++
++
++Release 2017a - 2017-02-28 00:05:36 -0800
++
++ Briefly: Southern Chile moves from -04/-03 to -03, and Mongolia
++ discontinues DST.
++
++ Changes to future time stamps
++
++ Mongolia no longer observes DST. (Thanks to Ganbold Tsagaankhuu.)
++
++ Chile's Region of Magallanes moves from -04/-03 to -03 year-round.
++ Its clocks diverge from America/Santiago starting 2017-05-13 at
++ 23:00, hiving off a new zone America/Punta_Arenas. Although the
++ Chilean government says this change expires in May 2019, for now
++ assume it's permanent. (Thanks to Juan Correa and Deborah
++ Goldsmith.) This also affects Antarctica/Palmer.
++
++ Changes to past time stamps
++
++ Fix many entries for historical time stamps for Europe/Madrid
++ before 1979, to agree with tables compiled by Pere Planesas of the
++ National Astronomical Observatory of Spain. As a side effect,
++ this changes some time stamps for Africa/Ceuta before 1929, which
++ are probably guesswork anyway. (Thanks to Steve Allen and
++ Pierpaolo Bernardi for the heads-ups, and to Michael Deckers for
++ correcting the 1901 transition.)
++
++ Ecuador observed DST from 1992-11-28 to 1993-02-05.
++ (Thanks to Alois Treindl.)
++
++ Asia/Atyrau and Asia/Oral were at +03 (not +04) before 1930-06-21.
++ (Thanks to Stepan Golosunov.)
++
++ Changes to past and future time zone abbreviations
++
++ Switch to numeric time zone abbreviations for South America, as
++ part of the ongoing project of removing invented abbreviations.
++ This avoids the need to invent an abbreviation for the new Chilean
++ new zone. Similarly, switch from invented to numeric time zone
++ abbreviations for Afghanistan, American Samoa, the Azores,
++ Bangladesh, Bhutan, the British Indian Ocean Territory, Brunei,
++ Cape Verde, Chatham Is, Christmas I, Cocos (Keeling) Is, Cook Is,
++ Dubai, East Timor, Eucla, Fiji, French Polynesia, Greenland,
++ Indochina, Iran, Iraq, Kiribati, Lord Howe, Macquarie, Malaysia,
++ the Maldives, Marshall Is, Mauritius, Micronesia, Mongolia,
++ Myanmar, Nauru, Nepal, New Caledonia, Niue, Norfolk I, Palau,
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-doc-all
mailing list