svn commit: r51167 - in head/share: security/advisories security/patches/EN-17:09 xml

Gordon Tetlow <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.doc
Message-ID <[email protected]>
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 [email protected] for use in the future.
++to [email protected] 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" >[email protected]
+ 		mv [email protected] $@
+ 
++# This file can be tailored by setting BACKWARD, PACKRATDATA, etc.
++tzdata.zi:	$(TZDATA_ZI_DEPS)
++		LC_ALL=C $(AWK) -f zishrink.awk $(TDATA) $(PACKRATDATA) >[email protected]
++		mv [email protected] $@
++
+ 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 >[email protected]
++		$(zic) -d tzs.dir tzdata.zi
++		$(AWK) '/^L/{print "Link\t" $$2 "\t" $$3}' \
++		   tzdata.zi | LC_ALL=C sort >[email protected]
+ 		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 >>[email protected]
+ 		sed 's,^TZ=".*tzs\.dir/,TZ=",' [email protected] >[email protected]
+@@ -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 [email protected]
+ 		mv [email protected] $@
+ 
+-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 ***
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-doc-all
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.