diff --git a/website/data/security/errata.toml b/website/data/security/errata.toml index 657fa4133e..abe9329081 100644 --- a/website/data/security/errata.toml +++ b/website/data/security/errata.toml @@ -1,799 +1,827 @@ # Sort errata notices by year, month and day # $FreeBSD$ +[[notices]] +name = "FreeBSD-EN-22:27.loader" +date = "2022-11-01" + +[[notices]] +name = "FreeBSD-EN-22:26.cam" +date = "2022-11-01" + +[[notices]] +name = "FreeBSD-EN-22:25.tcp" +date = "2022-11-01" + +[[notices]] +name = "FreeBSD-EN-22:24.zfs" +date = "2022-11-01" + +[[notices]] +name = "FreeBSD-EN-22:23.vm" +date = "2022-11-01" + +[[notices]] +name = "FreeBSD-EN-22:22.tzdata" +date = "2022-11-01" + +[[notices]] +name = "FreeBSD-EN-22:21.zfs" +date = "2022-11-01" + [[notices]] name = "FreeBSD-EN-22:20.tzdata" date = "2022-08-30" [[notices]] name = "FreeBSD-EN-22:19.pam_exec" date = "2022-08-09" [[notices]] name = "FreeBSD-EN-22:18.wifi" date = "2022-08-09" [[notices]] name = "FreeBSD-EN-22:17.cam" date = "2022-08-09" [[notices]] name = "FreeBSD-EN-22:16.kqueue" date = "2022-08-09" [[notices]] name = "FreeBSD-EN-22:15.pf" date = "2022-04-06" [[notices]] name = "FreeBSD-EN-22:14.tzdata" date = "2022-03-22" [[notices]] name = "FreeBSD-EN-22:13.zfs" date = "2022-03-21" [[notices]] name = "FreeBSD-EN-22:12.zfs" date = "2022-03-15" [[notices]] name = "FreeBSD-EN-22:11.zfs" date = "2022-03-15" [[notices]] name = "FreeBSD-EN-22:10.zfs" date = "2022-03-15" [[notices]] name = "FreeBSD-EN-22:09.freebsd-update" date = "2022-03-15" [[notices]] name = "FreeBSD-EN-22:08.i386" date = "2022-02-01" [[notices]] name = "FreeBSD-EN-22:07.la57" date = "2022-02-01" [[notices]] name = "FreeBSD-EN-22:06.libalias" date = "2022-01-11" [[notices]] name = "FreeBSD-EN-22:05.tail" date = "2022-01-11" [[notices]] name = "FreeBSD-EN-22:04.pcid" date = "2022-01-11" [[notices]] name = "FreeBSD-EN-22:03.hyperv" date = "2022-01-11" [[notices]] name = "FreeBSD-EN-22:02.xsave" date = "2022-01-11" [[notices]] name = "FreeBSD-EN-22:01.fsck_ffs" date = "2022-01-11" [[notices]] name = "FreeBSD-EN-21:29.tzdata" date = "2021-11-03" [[notices]] name = "FreeBSD-EN-21:28.vmci" date = "2021-11-03" [[notices]] name = "FreeBSD-EN-21:27.caroot" date = "2021-11-03" [[notices]] name = "FreeBSD-EN-21:26.libevent" date = "2021-11-03" [[notices]] name = "FreeBSD-EN-21:25.bhyve" date = "2021-08-24" [[notices]] name = "FreeBSD-EN-21:24.libcrypto" date = "2021-08-24" [[notices]] name = "FreeBSD-EN-21:23.virtio_blk" date = "2021-08-24" [[notices]] name = "FreeBSD-EN-21:22.linux_futex" date = "2021-06-29" [[notices]] name = "FreeBSD-EN-21:21.ipfw" date = "2021-06-29" [[notices]] name = "FreeBSD-EN-21:20.vlan" date = "2021-06-29" [[notices]] name = "FreeBSD-EN-21:19.libcasper" date = "2021-06-29" [[notices]] name = "FreeBSD-EN-21:18.libc++" date = "2021-06-29" [[notices]] name = "FreeBSD-EN-21:17.libradius" date = "2021-06-01" [[notices]] name = "FreeBSD-EN-21:16.bc" date = "2021-05-26" [[notices]] name = "FreeBSD-EN-21:15.virtio" date = "2021-05-26" [[notices]] name = "FreeBSD-EN-21:14.pms" date = "2021-05-26" [[notices]] name = "FreeBSD-EN-21:13.mpt" date = "2021-05-26" [[notices]] name = "FreeBSD-EN-21:12.divert" date = "2021-05-26" [[notices]] name = "FreeBSD-EN-21:11.aesni" date = "2021-05-26" [[notices]] name = "FreeBSD-EN-21:10.lldb" date = "2021-04-06" [[notices]] name = "FreeBSD-EN-21:09.pf" date = "2021-04-06" [[notices]] name = "FreeBSD-EN-21:08.freebsd-update" date = "2021-02-24" [[notices]] name = "FreeBSD-EN-21:07.caroot" date = "2021-02-24" [[notices]] name = "FreeBSD-EN-21:06.microcode" date = "2021-02-24" [[notices]] name = "FreeBSD-EN-21:05.libatomic" date = "2021-01-29" [[notices]] name = "FreeBSD-EN-21:04.zfs" date = "2021-01-29" [[notices]] name = "FreeBSD-EN-21:03.vnet" date = "2021-01-29" [[notices]] name = "FreeBSD-EN-21:02.extattr" date = "2021-01-29" [[notices]] name = "FreeBSD-EN-21:01.tzdata" date = "2021-01-29" [[notices]] name = "FreeBSD-EN-20:22.callout" date = "2020-12-01" [[notices]] name = "FreeBSD-EN-20:21.ipfw" date = "2020-12-01" [[notices]] name = "FreeBSD-EN-20:20.tzdata" date = "2020-12-01" [[notices]] name = "FreeBSD-EN-20:19.audit" date = "2020-12-01" [[notices]] name = "FreeBSD-EN-20:18.getfsstat" date = "2020-09-02" [[notices]] name = "FreeBSD-EN-20:17.linuxthread" date = "2020-09-02" [[notices]] name = "FreeBSD-EN-20:16.vmx" date = "2020-08-05" [[notices]] name = "FreeBSD-EN-20:15.mps" date = "2020-07-08" [[notices]] name = "FreeBSD-EN-20:14.linuxkpi" date = "2020-07-08" [[notices]] name = "FreeBSD-EN-20:13.bhyve" date = "2020-07-08" [[notices]] name = "FreeBSD-EN-20:12.iflib" date = "2020-06-09" [[notices]] name = "FreeBSD-EN-20:11.ena" date = "2020-06-09" [[notices]] name = "FreeBSD-EN-20:10.build" date = "2020-05-12" [[notices]] name = "FreeBSD-EN-20:09.igb" date = "2020-05-12" [[notices]] name = "FreeBSD-EN-20:08.tzdata" date = "2020-05-12" [[notices]] name = "FreeBSD-EN-20:07.quotad" date = "2020-04-21" [[notices]] name = "FreeBSD-EN-20:06.ipv6" date = "2020-03-19" [[notices]] name = "FreeBSD-EN-20:05.mlx5en" date = "2020-03-19" [[notices]] name = "FreeBSD-EN-20:04.pfctl" date = "2020-03-19" [[notices]] name = "FreeBSD-EN-20:03.sshd" date = "2020-03-19" [[notices]] name = "FreeBSD-EN-20:02.nmount" date = "2020-01-28" [[notices]] name = "FreeBSD-EN-20:01.ssp" date = "2020-01-28" [[notices]] name = "FreeBSD-EN-19:19.loader" date = "2019-11-12" [[notices]] name = "FreeBSD-EN-19:18.tzdata" date = "2019-10-23" [[notices]] name = "FreeBSD-EN-19:17.ipfw" date = "2019-08-20" [[notices]] name = "FreeBSD-EN-19:16.bhyve" date = "2019-08-20" [[notices]] name = "FreeBSD-EN-19:15.libunwind" date = "2019-08-06" [[notices]] name = "FreeBSD-EN-19:14.epoch" date = "2019-08-06" [[notices]] name = "FreeBSD-EN-19:13.mds" date = "2019-07-24" [[notices]] name = "FreeBSD-EN-19:12.tzdata" date = "2019-07-02" [[notices]] name = "FreeBSD-EN-19:11.net" date = "2019-06-19" [[notices]] name = "FreeBSD-EN-19:10.scp" date = "2019-05-14" [[notices]] name = "FreeBSD-EN-19:09.xinstall" date = "2019-05-14" [[notices]] name = "FreeBSD-EN-19:08.tzdata" date = "2019-05-14" [[notices]] name = "FreeBSD-EN-19:07.lle" date = "2019-02-05" [[notices]] name = "FreeBSD-EN-19:06.dtrace" date = "2019-02-05" [[notices]] name = "FreeBSD-EN-19:05.kqueue" date = "2019-01-09" [[notices]] name = "FreeBSD-EN-19:04.tzdata" date = "2019-01-09" [[notices]] name = "FreeBSD-EN-19:03.sqlite" date = "2019-01-09" [[notices]] name = "FreeBSD-EN-19:02.tcp" date = "2019-01-09" [[notices]] name = "FreeBSD-EN-19:01.cc_cubic" date = "2019-01-09" [[notices]] name = "FreeBSD-EN-18:18.zfs" date = "2018-12-19" [[notices]] name = "FreeBSD-EN-18:17.vm" date = "2018-12-19" [[notices]] name = "FreeBSD-EN-18:16.ptrace" date = "2018-12-19" [[notices]] name = "FreeBSD-EN-18:15.loader" date = "2018-11-27" [[notices]] name = "FreeBSD-EN-18:14.tzdata" date = "2018-11-27" [[notices]] name = "FreeBSD-EN-18:13.icmp" date = "2018-11-27" [[notices]] name = "FreeBSD-EN-18:12.mem" date = "2018-09-27" [[notices]] name = "FreeBSD-EN-18:11.listen" date = "2018-09-27" [[notices]] name = "FreeBSD-EN-18:10.syscall" date = "2018-09-27" [[notices]] name = "FreeBSD-EN-18:09.ip" date = "2018-09-27" [[notices]] name = "FreeBSD-EN-18:08.lazyfpu" date = "2018-09-12" [[notices]] name = "FreeBSD-EN-18:07.pmap" date = "2018-06-21" [[notices]] name = "FreeBSD-EN-18:06.tzdata" date = "2018-05-08" [[notices]] name = "FreeBSD-EN-18:05.mem" date = "2018-05-08" [[notices]] name = "FreeBSD-EN-18:04.mem" date = "2018-04-04" [[notices]] name = "FreeBSD-EN-18:03.tzdata" date = "2018-04-04" [[notices]] name = "FreeBSD-EN-18:02.file" date = "2018-03-07" [[notices]] name = "FreeBSD-EN-18:01.tzdata" date = "2018-03-07" [[notices]] name = "FreeBSD-EN-17:09.tzdata" date = "2017-11-02" [[notices]] name = "FreeBSD-EN-17:08.pf" date = "2017-08-10" [[notices]] name = "FreeBSD-EN-17:07.vnet" date = "2017-08-10" [[notices]] name = "FreeBSD-EN-17:06.hyperv" date = "2017-07-12" [[notices]] name = "FreeBSD-EN-17:05.xen" date = "2017-04-12" [[notices]] name = "FreeBSD-EN-17:04.mandoc" date = "2017-02-23" [[notices]] name = "FreeBSD-EN-17:03.hyperv" date = "2017-02-23" [[notices]] name = "FreeBSD-EN-17:02.yp" date = "2017-02-23" [[notices]] name = "FreeBSD-EN-17:01.pcie" date = "2017-02-23" [[notices]] name = "FreeBSD-EN-16:21.localedef" date = "2016-12-06" [[notices]] name = "FreeBSD-EN-16:20.tzdata" date = "2016-12-06" [[notices]] name = "FreeBSD-EN-16:19.tzcode" date = "2016-12-06" [[notices]] name = "FreeBSD-EN-16:18.loader" date = "2016-10-25" [[notices]] name = "FreeBSD-EN-16:17.vm" date = "2016-10-25" [[notices]] name = "FreeBSD-EN-16:16.hv_storvsc" date = "2016-08-12" [[notices]] name = "FreeBSD-EN-16:15.vmbus" date = "2016-08-12" [[notices]] name = "FreeBSD-EN-16:14.hv_storvsc" date = "2016-08-12" [[notices]] name = "FreeBSD-EN-16:13.vmbus" date = "2016-08-12" [[notices]] name = "FreeBSD-EN-16:12.hv_storvsc" date = "2016-08-12" [[notices]] name = "FreeBSD-EN-16:11.vmbus" date = "2016-08-12" [[notices]] name = "FreeBSD-EN-16:10.dhclient" date = "2016-08-12" [[notices]] name = "FreeBSD-EN-16:09.freebsd-update" date = "2016-07-25" [[notices]] name = "FreeBSD-EN-16:08.zfs" date = "2016-05-04" [[notices]] name = "FreeBSD-EN-16:07.ipi" date = "2016-05-04" [[notices]] name = "FreeBSD-EN-16:06.libc" date = "2016-05-04" [[notices]] name = "FreeBSD-EN-16:05.hv_netvsc" date = "2016-03-16" [[notices]] name = "FreeBSD-EN-16:04.hyperv" date = "2016-03-16" [[notices]] name = "FreeBSD-EN-16:03.yplib" date = "2016-01-14" [[notices]] name = "FreeBSD-EN-16:02.pf" date = "2016-01-14" [[notices]] name = "FreeBSD-EN-16:01.filemon" date = "2016-01-14" [[notices]] name = "FreeBSD-EN-15:20.vm" date = "2015-11-04" [[notices]] name = "FreeBSD-EN-15:19.kqueue" date = "2015-11-04" [[notices]] name = "FreeBSD-EN-15:18.pkg" date = "2015-09-16" [[notices]] name = "FreeBSD-EN-15:17.libc" date = "2015-09-16" [[notices]] name = "FreeBSD-EN-15:16.pw" date = "2015-09-16" [[notices]] name = "FreeBSD-EN-15:15.pkg" date = "2015-08-25" [[notices]] name = "FreeBSD-EN-15:14.ixgbe" date = "2015-08-25" [[notices]] name = "FreeBSD-EN-15:13.vidcontrol" date = "2015-08-18" [[notices]] name = "FreeBSD-EN-15:12.netstat" date = "2015-08-18" [[notices]] name = "FreeBSD-EN-15:11.toolchain" date = "2015-08-18" [[notices]] name = "FreeBSD-EN-15:10.iconv" date = "2015-06-30" [[notices]] name = "FreeBSD-EN-15:09.xlocale" date = "2015-06-30" [[notices]] name = "FreeBSD-EN-15:08.sendmail" date = "2015-06-18" [[notices]] name = "FreeBSD-EN-15:07.zfs" date = "2015-06-09" [[notices]] name = "FreeBSD-EN-15:06.file" date = "2015-06-09" [[notices]] name = "FreeBSD-EN-15:05.ufs" date = "2015-05-13" [[notices]] name = "FreeBSD-EN-15:04.freebsd-update" date = "2015-05-13" [[notices]] name = "FreeBSD-EN-15:03.freebsd-update" date = "2015-02-25" [[notices]] name = "FreeBSD-EN-15:02.openssl" date = "2015-02-25" [[notices]] name = "FreeBSD-EN-15:01.vt" date = "2015-02-25" [[notices]] name = "FreeBSD-EN-14:13.freebsd-update" date = "2014-12-23" [[notices]] name = "FreeBSD-EN-14:12.zfs" date = "2014-11-04" [[notices]] name = "FreeBSD-EN-14:11.crypt" date = "2014-10-22" [[notices]] name = "FreeBSD-EN-14:10.tzdata" date = "2014-10-22" [[notices]] name = "FreeBSD-EN-14:09.jail" date = "2014-07-08" [[notices]] name = "FreeBSD-EN-14:08.heimdal" date = "2014-06-24" [[notices]] name = "FreeBSD-EN-14:07.pmap" date = "2014-06-24" [[notices]] name = "FreeBSD-EN-14:06.exec" date = "2014-06-03" [[notices]] name = "FreeBSD-EN-14:05.ciss" date = "2014-05-13" [[notices]] name = "FreeBSD-EN-14:04.kldxref" date = "2014-05-13" [[notices]] name = "FreeBSD-EN-14:03.pkg" date = "2014-05-13" [[notices]] name = "FreeBSD-EN-14:02.mmap" date = "2014-01-14" [[notices]] name = "FreeBSD-EN-14:01.random" date = "2014-01-14" [[notices]] name = "FreeBSD-EN-13:05.freebsd-update" date = "2013-11-28" [[notices]] name = "FreeBSD-EN-13:04.freebsd-update" date = "2013-10-26" [[notices]] name = "FreeBSD-EN-13:03.mfi" date = "2013-08-22" [[notices]] name = "FreeBSD-EN-13:01.fxp" date = "2013-06-28" [[notices]] name = "FreeBSD-EN-13:02.vtnet" date = "2013-06-28" [[notices]] name = "FreeBSD-EN-12:02.ipv6refcount" date = "2012-06-12" [[notices]] name = "FreeBSD-EN-12:01.freebsd-update" date = "2012-01-04" [[notices]] name = "FreeBSD-EN-10:02.sched_ule" date = "2010-02-27" [[notices]] name = "FreeBSD-EN-10:01.freebsd" date = "2010-01-06" [[notices]] name = "FreeBSD-EN-09:05.null" date = "2009-10-02" [[notices]] name = "FreeBSD-EN-09:04.fork" date = "2009-06-24" [[notices]] name = "FreeBSD-EN-09:03.fxp" date = "2009-06-24" [[notices]] name = "FreeBSD-EN-09:02.bce" date = "2009-06-24" [[notices]] name = "FreeBSD-EN-09:01.kenv" date = "2009-03-23" [[notices]] name = "FreeBSD-EN-08:02.tcp" date = "2008-06-19" [[notices]] name = "FreeBSD-EN-08:01.libpthread" date = "2008-04-17" [[notices]] name = "FreeBSD-EN-07:05.freebsd-update" date = "2007-03-15" [[notices]] name = "FreeBSD-EN-07:04.zoneinfo" date = "2007-02-28" [[notices]] name = "FreeBSD-EN-07:03.rc.d_jail" date = "2007-02-28" [[notices]] name = "FreeBSD-EN-07:02.net" date = "2007-02-28" [[notices]] name = "FreeBSD-EN-07:01.nfs" date = "2007-02-14" [[notices]] name = "FreeBSD-EN-06:02.net" date = "2006-08-28" [[notices]] name = "FreeBSD-EN-06:01.jail" date = "2006-07-07" [[notices]] name = "FreeBSD-EN-05:04.nfs" date = "2005-12-19" [[notices]] name = "FreeBSD-EN-05:03.ipi" date = "2005-01-16" [[notices]] name = "FreeBSD-EN-05:02.sk" date = "2005-01-06" [[notices]] name = "FreeBSD-EN-05:01.nfs" date = "2005-01-05" [[notices]] name = "FreeBSD-EN-04:01.twe" date = "2004-06-28" diff --git a/website/static/security/advisories/FreeBSD-EN-22:21.zfs.asc b/website/static/security/advisories/FreeBSD-EN-22:21.zfs.asc new file mode 100644 index 0000000000..658e035d7b --- /dev/null +++ b/website/static/security/advisories/FreeBSD-EN-22:21.zfs.asc @@ -0,0 +1,135 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +============================================================================= +FreeBSD-EN-22:21.zfs Errata Notice + The FreeBSD Project +Topic: ZFS B-Tree use-after-free +Category: contrib +Module: zfs +Announced: 2022-11-01 +Credits: Richard Yao and Coverty Static Analysis +Affects: FreeBSD 13.1 +Corrected: 2022-10-04 15:52:45 UTC (stable/13, 13.1-STABLE) + 2022-11-01 18:03:25 UTC (releng/13.1, 13.1-RELEASE-p3) + +For general information regarding FreeBSD Errata Notices and Security +Advisories, including descriptions of the fields above, security +branches, and the following sections, please visit +. + +I. Background + +ZFS is one of several filesystems available on FreeBSD. ZFS supports +many advanced features, including checksumming, transparent compression, +and snapshots. + +II. Problem Description + +The B-Tree implementation in ZFS contains a heap use-after-free bug. When +removing entries, the node memory is freed before it is removed from the tree, +and the remove operation itself requires modifying the memory containing the +node. This creates a race window when one thread is removing data from the +B-Tree and another is performing an allocation. In the case the removing +thread loses the race, it will corrupt the B-Tree. + +III. Impact + +The use-after-free can cause system instability or data corruption. + +Systems with debug kernels may sometimes detect this issue after a kernel +memory corruption has happened. When they do, they will trigger a kernel +panic to protect the system from further damage. The following is printed +to dmesg at the time of the panic: + +panic: VERIFY3(zfs_btree_find(tree, value, &where) != NULL) failed... + +IV. Workaround + +No workaround is available. + +V. Solution + +Upgrade your system to a supported FreeBSD stable or release / security +branch (releng) dated after the correction date, and then reboot. + +Perform one of the following: + +1) To update your system via a binary patch: + +Systems running a RELEASE version of FreeBSD on the amd64, i386, or +(on FreeBSD 13 and later) arm64 platforms can be updated via the +freebsd-update(8) utility: + +# freebsd-update fetch +# freebsd-update install +# shutdown -r now + +2) 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. + +# fetch https://security.FreeBSD.org/patches/EN-22:21/zfs.patch +# fetch https://security.FreeBSD.org/patches/EN-22:21/zfs.patch.asc +# gpg --verify zfs.patch.asc + +b) Apply the patch. Execute the following commands as root: + +# cd /usr/src +# patch < /path/to/patch + +c) Recompile your kernel as described in + and reboot the +system. + +VI. Correction details + +This issue is corrected by the corresponding Git commit hash or Subversion +revision number in the following stable and release branches: + +Branch/path Hash Revision +- ------------------------------------------------------------------------- +stable/13/ f193a24ec570 stable/13-n252634 +releng/13.1/ 8838c650cb59 releng/13.1-n250167 +- ------------------------------------------------------------------------- + +Run the following command to see which files were modified by a +particular commit: + +# git show --stat + +Or visit the following URL, replacing NNNNNN with the hash: + + + +To determine the commit count in a working tree (for comparison against +nNNNNNN in the table above), run: + +# git rev-list --count --first-parent HEAD + +VII. References + + + +The latest revision of this advisory is available at + +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhlpgACgkQ05eS9J6n +5cJtMQ//aZXPrFWqJxVIn87FtHClwKykAaWWcN+iuT4wTVss0OTbaFc1k+UBPf+9 +wdjmt6Io9xUK4FT5TcMIyzF6I7XaxG/up8572NPUQp+eOa4AI8862QLLF7pi26RT +Fyb+Ywjsw1d30NXcTE4+K5UMUgISFVFkor9d07wWd7sQwU/o4bzHBWFSFSI18l70 +zsjyN3wrLQaSHmBb6kZ7OrycBc52Rw00segXCJGxLEpiViPSC5HY6DJYdWyn0bNM +1xvG3DkYQDBWGNQgWB6ldOM5nmOqY6zSPFTK9byqOwz6CHmfRYqmLpx3czuAO3U6 +PpsTYG7PKpFBviP99jg6XsEYigoMHaHIcBzUSP+DYYO9JlyrzRmbQ6MIkRN+YD59 +1CK0n7+WuQpjBXgFmIEKtM2xJ4sh+aQxdV4SwIEmMTAaNs4PFivNzEgwpj4Txh+q +aUbY6l9O2H8ERvFokF94/ea5ahOhVaTgaipN2O92rvldiy3zTqv5DP3hX4tU1oaG +n0s57pn/uF+aYVMtzk1opNpZdqH8AkKX1Q7Opha/IEvnk48Njgbwtf9HVEeo65Ec +njvc63PZel0cbzk6ZA4BS7BX3UtSHURmFOjiRUV1DI9yUsLXuEbM0LtH3Zpgyzr0 +7U+YHLB4z3LxdK9ZuWo2uSCF/5iVyyjGSdOGuu2ISJis+vp9PCg= +=9c/T +-----END PGP SIGNATURE----- diff --git a/website/static/security/advisories/FreeBSD-EN-22:22.tzdata.asc b/website/static/security/advisories/FreeBSD-EN-22:22.tzdata.asc new file mode 100644 index 0000000000..45991ec800 --- /dev/null +++ b/website/static/security/advisories/FreeBSD-EN-22:22.tzdata.asc @@ -0,0 +1,180 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +============================================================================= +FreeBSD-EN-22:22.tzdata Errata Notice + The FreeBSD Project + +Topic: Timezone database information update + +Category: contrib +Module: zoneinfo +Announced: 2022-11-01 +Affects: All supported versions of FreeBSD. +Corrected: 2022-11-01 01:06:25 UTC (stable/13, 13.1-STABLE) + 2022-11-01 18:03:24 UTC (releng/13.1, 13.1-RELEASE-p3) + 2022-11-01 01:07:17 UTC (stable/12, 12.4-STABLE) + 2022-11-01 20:35:42 UTC (releng/12.3, 12.3-RELEASE-p8) + +For general information regarding FreeBSD Errata Notices and Security +Advisories, including descriptions of the fields above, security +branches, and the following sections, please visit +. + +I. Background + +The IANA Time Zone Database (often called tz or zoneinfo) contains code and +data that represent the history of local time for many representative +locations around the globe. It is updated periodically to reflect changes +made by political bodies to time zone boundaries, UTC offsets, and +daylight-saving rules. + +FreeBSD releases install the IANA Time Zone Database in /usr/share/zoneinfo. +The tzsetup(8) utility allows the user to specify the default local time +zone. Based on the selected time zone, tzsetup(8) copies one of the files +from /usr/share/zoneinfo to /etc/localtime. A time zone may also be selected +for an individual process by setting its TZ environment variable to a desired +time zone name. + +II. Problem Description + +Several changes to future and past timestamps have been recorded in the IANA +Time Zone Database after previous FreeBSD releases were released. This +affects many users in different parts of the world. Because of these +changes, the data in the zoneinfo files need to be updated. If the local +timezone on the running system is affected, tzsetup(8) needs to be run to +update /etc/localtime. + +III. Impact + +An incorrect time will be displayed on a system configured to use one of the +affected time zones 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 version of the IANA Time Zone +Database from the misc/zoneinfo port and run tzsetup(8). + +Applications that store and display times in Coordinated Universal Time (UTC) +are not affected. + +V. Solution + +Upgrade your system to a supported FreeBSD stable or release / security +branch (releng) dated after the correction date. + +Please note that some third party software, for instance PHP, Ruby, Java, +Perl and Python, may be using different zoneinfo data sources, in such cases +this software must be updated separately. Software packages that are +installed via binary packages can be upgraded by executing 'pkg upgrade'. + +Following the instructions in this Errata Notice will only update the IANA +Time Zone Database installed in /usr/share/zoneinfo. + +Perform one of the following: + +1) To update your system via a binary patch: + +Systems running a RELEASE version of FreeBSD on the amd64, i386, or +(on FreeBSD 13 and later) arm64 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. + +2) 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 13.1] +# fetch https://security.FreeBSD.org/patches/EN-22:22/tzdata-2022f.13.patch +# fetch https://security.FreeBSD.org/patches/EN-22:22/tzdata-2022f.13.patch.asc +# gpg --verify tzdata-2022f.13.patch.asc + +[FreeBSD 12.3] +# fetch https://security.FreeBSD.org/patches/EN-22:22/tzdata-2022f.12.patch +# fetch https://security.FreeBSD.org/patches/EN-22:22/tzdata-2022f.12.patch.asc +# gpg --verify tzdata-2022f.12.patch.asc + +b) Apply the patch. Execute the following commands as root: + +# cd /usr/src +# patch -E < /path/to/patch + +c) Recompile the operating system using buildworld and installworld as +described in . + +Restart all the affected applications and daemons, or reboot the system. + +VI. Correction details + +This issue is corrected by the corresponding Git commit hash or Subversion +revision number in the following stable and release branches: + +Branch/path Hash Revision +- ------------------------------------------------------------------------- +stable/13/ 46d324ec6502 stable/13-n252892 +releng/13.1/ 0bcdf24a7cf3 releng/13.1-n250165 +stable/12/ r372688 +releng/12.3/ r372694 +- ------------------------------------------------------------------------- + +For FreeBSD 13 and later: + +Run the following command to see which files were modified by a +particular commit: + +# git show --stat + +Or visit the following URL, replacing NNNNNN with the hash: + + + +To determine the commit count in a working tree (for comparison against +nNNNNNN in the table above), run: + +# git rev-list --count --first-parent HEAD + +For FreeBSD 12 and earlier: + +Run the following command to see which files were modified by a particular +revision, replacing NNNNNN with the revision number: + +# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base + +Or visit the following URL, replacing NNNNNN with the revision number: + + + +VII. References + + + + + +The latest revision of this advisory is available at + +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhl5cACgkQ05eS9J6n +5cLCHg/5AX0d3XNjxGdEhrn8d9xFEtnV75WJKJ+o+jHUCfYNnTD1EJY3Q9EbIoWT ++52Qgcr8HVTZKxKaMoEaR8iDMNwzYbQ1PZrRlXbE8Iant4ULw4cgctIaxtNtUMSM +wRJatQ1LjXp9VjdLv8BCn1jXoVFstUjonLskQ8tNOUrvF1APGgXZRC/B+kt/gs1L +9b2Qs5vZ4e1ycfFiQyw1+ACpQjFB/s4XaN1BQx5JdFBpK8uhg4/LaxMIKA5Fmixh +xNb+VJ6kCxi0swTzsqKnU67OM5k4Dl+loz82d5X3imB4EZmJ6Pv7e9XX2EfGpQXz +5ABxbEzAqN7GCRmCV86dZYThLJiw+vCJnAyX5hXsFup09UpInN7xzrlJ7BiRZ254 +CBtPmj0d6tedkUahG0/GxgU8zl8L3MU/Mwbvg8wHcejciTrjcj94TZBRUxq88E+8 +DHEMsumzSAmD73CWrpUG6KsdtmA55opKodqeCwSG7zmzibaMKYabPJ/4Yq7kZNnq +58uiMLwk2CYwZfbqEHdbUP96G7BxINY1rMHq72kbZ02PzYkFA2vDFM84EqZq1F9B ++ET3Nkucx0FIVhd/zU5cYKuvC7+REXpIxy0SagVumBMgNiREeRwgVC7mghCuM3Vy +DC40UWQBY4SHzU+LpKiagArRJZVPMMA2zbSyp7BkS546oAaHn1Y= +=TNmt +-----END PGP SIGNATURE----- diff --git a/website/static/security/advisories/FreeBSD-EN-22:23.vm.asc b/website/static/security/advisories/FreeBSD-EN-22:23.vm.asc new file mode 100644 index 0000000000..dfdb6cd733 --- /dev/null +++ b/website/static/security/advisories/FreeBSD-EN-22:23.vm.asc @@ -0,0 +1,130 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +============================================================================= +FreeBSD-EN-22:23.vm Errata Notice + The FreeBSD Project + +Topic: Memory pages become unreclaimable + +Category: core +Module: vm +Announced: 2022-11-01 +Affects: FreeBSD 13.1 +Corrected: 2022-10-12 13:49:25 UTC (stable/13, 13.1-STABLE) + 2022-11-01 13:28:11 UTC (releng/13.1, 13.1-RELEASE-p3) + +For general information regarding FreeBSD Errata Notices and Security +Advisories, including descriptions of the fields above, security +branches, and the following sections, please visit +. + +I. Background + +The FreeBSD kernel's VM subsystem manages system memory. Among other +responsibilities, it provides a page allocator and maintains a pool of +free pages. When this pool is depleted, the VM reclaims allocated pages +from a set of page queues. + +II. Problem Description + +In certain workloads, allocated pages are not enqueued as they should +be, causing them to become unreclaimable when free memory is scarce. In +some situations the memory may become available again following restarts +of services (e.g., database servers) which are triggering the bug. + +III. Impact + +System memory could become inaccessible to the page daemon, resulting +in less memory available for caching. In some cases this can result in +out-of-memory process kills. + +IV. Workaround + +No workaround is available. + +V. Solution + +Upgrade your system to a supported FreeBSD stable or release / security +branch (releng) dated after the correction date and reboot. + +Perform one of the following: + +1) To update your system via a binary patch: + +Systems running a RELEASE version of FreeBSD on the amd64, i386, or +(on FreeBSD 13 and later) arm64 platforms can be updated via the +freebsd-update(8) utility: + +# freebsd-update fetch +# freebsd-update install +# shutdown -r +5min "Installing errata update" + +2) 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. + +# fetch https://security.FreeBSD.org/patches/EN-22:23/vm.patch +# fetch https://security.FreeBSD.org/patches/EN-22:23/vm.patch.asc +# gpg --verify vm.patch.asc + +b) Apply the patch. Execute the following commands as root: + +# cd /usr/src +# patch < /path/to/patch + +c) Recompile your kernel as described in + and reboot the +system. + +VI. Correction details + +This issue is corrected by the corresponding Git commit hash or Subversion +revision number in the following stable and release branches: + +Branch/path Hash Revision +- ------------------------------------------------------------------------- +stable/13/ 6094749a1a5d stable/13-n252707 +releng/13.1/ 4867d7d34dfd releng/13.1-n250160 +- ------------------------------------------------------------------------- + +Run the following command to see which files were modified by a +particular commit: + +# git show --stat + +Or visit the following URL, replacing NNNNNN with the hash: + + + +To determine the commit count in a working tree (for comparison against +nNNNNNN in the table above), run: + +# git rev-list --count --first-parent HEAD + +VII. References + + + +The latest revision of this advisory is available at + +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhlqQACgkQ05eS9J6n +5cKKfg//f+YhLk47E5Bk/KZ07ONQ7xN0W9YZyz1P4iLc85LIaszC8+L8auwM+uR4 +ufvo4ToDzbDq0v+2mHUdgQ7CVylOzAb114z8ZFADHhlBJeft5pdzm+/R3wfqADbm +VL2I6uqjsQiH41umNgZQtyQh15LBWUlvrDd7r5dGVMzU0+VXNTngP58Jn7kqiUPg +jwUQk6l/PPRLRGqX5RJHoz8traCLsd7i+58/FPyaofrtrwl97uxtcbBEcPvcXsrL +yTnTcyPHnR8lqgmNXExcOPxfMBFz0sXgfDIXebnEP+inMx4gF2U3CBJuTCww8NWV +M4R7bj1HjWw8WZV1dZUFB73qx4r51iKanYQsqFVEWl7KnhQL6zG8nCt4iPR0wiKJ +x7qIRGtXCgzZieg0fQnsNjSdjjiIQmLCOq6BTmG1X5tcLF7hAM8D42RFGSbvLhNU +cGP/1Gd1iK72VqBRCSHKhZi79//YA8lI+f3b7ORMB9Q5cmy9l0A0nMO2EpBdc7x/ +0VGSXMaVaegaKGb3vXteVvmqtHAWg2NiBMgUHb3oMEXdbjsymmgkCsTciuiYDLxQ +Y/XdbtMHZi7VpZNS3Qt6wIpAEhSDxYsgf2+7/22Ni09Awn5H2/F3DCeo0dU8hWR1 +gksYdLbwRI+By8hguqALkpC1lP/M8Hc/HBrEiG6OqY+OvZr43OA= +=n7Mz +-----END PGP SIGNATURE----- diff --git a/website/static/security/advisories/FreeBSD-EN-22:24.zfs.asc b/website/static/security/advisories/FreeBSD-EN-22:24.zfs.asc new file mode 100644 index 0000000000..b8a30a101f --- /dev/null +++ b/website/static/security/advisories/FreeBSD-EN-22:24.zfs.asc @@ -0,0 +1,130 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +============================================================================= +FreeBSD-EN-22:24.zfs Errata Notice + The FreeBSD Project + +Topic: ZFS snapshot directories not accessible over NFS + +Category: core +Module: zfs +Announced: 2022-11-01 +Affects: FreeBSD 13.1 +Corrected: 2022-10-27 12:00:01 UTC (stable/13, 13.1-STABLE) + 2022-11-01 13:28:11 UTC (releng/13.1, 13.1-RELEASE-p3) + +For general information regarding FreeBSD Errata Notices and Security +Advisories, including descriptions of the fields above, security +branches, and the following sections, please visit +. + +I. Background + +ZFS is one of several filesystems available on FreeBSD. ZFS supports +many advanced features, including checksumming, transparent compression, +and snapshots. + +Snapshots of a ZFS dataset can be accessed through a hidden directory, +.zfs/snapshots, located in the root of the mounted dataset. + +II. Problem Description + +A kernel regression caused all dataset snapshot directories to become +inaccessible over NFS. Any attempt to access individual snapshots would +return an error message mentioning a stale file handle. + +III. Impact + +Workflows which rely on ZFS snapshots being accessible over NFS are +broken. + +IV. Workaround + +No workaround is available. + +V. Solution + +Upgrade your system to a supported FreeBSD stable or release / security +branch (releng) dated after the correction date and reboot. + +Perform one of the following: + +1) To update your system via a binary patch: + +Systems running a RELEASE version of FreeBSD on the amd64, i386, or +(on FreeBSD 13 and later) arm64 platforms can be updated via the +freebsd-update(8) utility: + +# freebsd-update fetch +# freebsd-update install +# shutdown -r +5min "Installing errata update" + +2) 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. + +# fetch https://security.FreeBSD.org/patches/EN-22:24/zfs.patch +# fetch https://security.FreeBSD.org/patches/EN-22:24/zfs.patch.asc +# gpg --verify zfs.patch.asc + +b) Apply the patch. Execute the following commands as root: + +# cd /usr/src +# patch < /path/to/patch + +c) Recompile your kernel as described in + and reboot the +system. + +VI. Correction details + +This issue is corrected by the corresponding Git commit hash or Subversion +revision number in the following stable and release branches: + +Branch/path Hash Revision +- ------------------------------------------------------------------------- +stable/13/ 562c9ac58c76 stable/13-n252848 +releng/13.1/ 7ab877cb3f9d releng/13.1-n250159 +- ------------------------------------------------------------------------- + +Run the following command to see which files were modified by a +particular commit: + +# git show --stat + +Or visit the following URL, replacing NNNNNN with the hash: + + + +To determine the commit count in a working tree (for comparison against +nNNNNNN in the table above), run: + +# git rev-list --count --first-parent HEAD + +VII. References + + + +The latest revision of this advisory is available at + +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhlqQACgkQ05eS9J6n +5cJZcg/+MejjhAq/rpPema1jiqGkD8eTRTw+zmufvqBKwnLdZycwndza2su7xpD+ +30dbVVcY5Suhr5mElt5C6mdU+YCrqLG9o1zAI9QX7hx3PsnqIMBzudgK9TkjtK2n +WiG36PvA+rSIdjE8jw2quv9LMLycRiSevQGWDiD4rGm7JLdet2XH4ioHy1v3rPWe +kB4365zSmPGi4fLalpEFYD6pid2kbS0gUZvhxrEAoy11WFwT+upjdlfD0aJDsoTo +8wvZ1hvoHGYjsmYXLSKmJXO+6J0pTnI5QuohySi0RYUEFtws1IlD+JIxWUdP8ejh +ODPX2mDpP3ySl26HbTzCViJkd3z87F9hV8jaxo57azrD9kYpsWLq/UtsB2Fr2hcA +tYFCvqQ7fftx6Pf5xLOQvQTqwlFpx6M+EoWUV8RKa11jdMv6ndbMuZoY0j99iuYD +qEqi4T08b10SeI7aueOJZGuEYAab5ZcULgA1OOmmetIyAZccGcbvDqUajNabS+QC +QKgHNi94ZVJbEyFTQ9cnZBFn1/Bet9pC9Yj/5qtVsN9a5cKD0t1TEeXWZtZ+Qkm8 +V73qmq3qty2QfPqw7spVykIUzHlOyongMGNQx0sPHDDy5UucFtv6Itj6o/nlhuo1 +veecgamjvnPzROzCTe/UVbp7tliv6fpTHDc/T+ewQwF03xJoA1Q= +=8q+F +-----END PGP SIGNATURE----- diff --git a/website/static/security/advisories/FreeBSD-EN-22:25.tcp.asc b/website/static/security/advisories/FreeBSD-EN-22:25.tcp.asc new file mode 100644 index 0000000000..34870f06c0 --- /dev/null +++ b/website/static/security/advisories/FreeBSD-EN-22:25.tcp.asc @@ -0,0 +1,140 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +============================================================================= +FreeBSD-EN-22:25.tcp Errata Notice + The FreeBSD Project + +Topic: Possible data corruption with TCP SACK retransmissions + +Category: core +Module: tcp +Announced: 2022-08-28 +Credits: Richard Scheffenegger +Affects: FreeBSD 13.1 +Corrected: 2022-09-14 01:28:03 UTC (stable/13, 13.1-STABLE) + 2022-11-01 13:28:11 UTC (releng/13.1, 13.1-RELEASE-p3) + +For general information regarding FreeBSD Errata Notices and Security +Advisories, including descriptions of the fields above, security +branches, and the following sections, please visit +. + +I. Background + +TCP supports an enhancement that allows faster recovery and retransmission of +data when loss is discovered called Selected Acknowledgements (SACK). + +SACK allows a TCP sender to communicate more information about which segments +are lost. During a SACK episode a TCP sender will reduce its rate to avoid +causing congestion on the network. + +II. Problem Description + +A change made to make TCP more resilient and effective when handling loss +recovery by SACK, could lead to connection interruption when incoming ACKs +suddenly no longer contain SACK blocks. + +III. Impact + +This can lead to correct data being placed at the wrong offset in the +stream in a non-deterministic manner. This can result in termination of +the TCP connection by the application or in the worst case silent data +corruption. + +IV. Workaround + +Disable SACK globally by setting the net.inet.tcp.sack.enable sysctl to 0: + + # sysctl net.inet.tcp.sack.enable=0 + +Note that this will only affect new connections. Thus, either persist the +setting in /etc/sysctl.conf and reboot, or ensure that any critical connections +are restarted after modifying the sysctl setting. + +V. Solution + +Upgrade your system to a supported FreeBSD stable or release / security +branch (releng) dated after the correction date. + +A reboot is required for these changes to be applied. + +Perform one of the following: + +1) To update your system via a binary patch: + +Systems running a RELEASE version of FreeBSD on the amd64, i386, or +(on FreeBSD 13 and later) arm64 platforms can be updated via the +freebsd-update(8) utility: + +# freebsd-update fetch +# freebsd-update install + +A reboot is required for these changes to be applied. + +2) 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. + +# fetch https://security.FreeBSD.org/patches/EN-22:25/tcp.patch +# fetch https://security.FreeBSD.org/patches/EN-22:25/tcp.patch.asc +# gpg --verify tcp.patch.asc + +b) Apply the patch. Execute the following commands as root: + +# cd /usr/src +# patch < /path/to/patch + +c) Recompile your kernel as described in + and reboot the +system. + +VI. Correction details + +This issue is corrected by the corresponding Git commit hash or Subversion +revision number in the following stable and release branches: + +Branch/path Hash Revision +- ------------------------------------------------------------------------- +stable/13/ 2b8ee332b938 stable/13-n252399 +releng/13.1/ dd35207e2025 releng/13.1-n250162 +- ------------------------------------------------------------------------- + +Run the following command to see which files were modified by a +particular commit: + +# git show --stat + +Or visit the following URL, replacing NNNNNN with the hash: + + + +To determine the commit count in a working tree (for comparison against +nNNNNNN in the table above), run: + +# git rev-list --count --first-parent HEAD + +VII. References + +The latest revision of this advisory is available at + +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhmIQACgkQ05eS9J6n +5cLiKA/+NSB8VRq7tjXC0+MFQAPEL9YUtQYyRfn8u3YywHli/6RTeTQPKfd6BnvK +T1clrnVFgp97QG948WAQ7ehct1GRAlrOagVHP0DnQqqQnTmoIVO0vyMVlQ1ONcAY +GO3VxZfEUJhbtcSLIdT03RG3Y+lK7R4Bs6mplkBUpVGOtrhtdmNBULgC8N1HiwHg +wJJpr/9/EMPqGXVtm1MzvgeKH4SIfNsDoiS4W90g1CepsPWylY+vsVjPhXR74gxz +peNHKFQM7SpTm1hc9YqwjyU5qFExq/O+je273sykyld6ZcJCpKe50+dE8D+gHpu6 +6CwiLb+uDQcF3RN9ofunRDvpYdtl1muT2/zQQ6yJ6DWJzvWpav+PTA4gEeDj8b+b +eu8wR7IoSPAHxqnGrvmB1EVn1tvFLF/mtcsrE1fdGviNf5LI/P5OYgZ6pkHaEJoN +NNnhPWZlteFsXYvD+Rz6rlhM86wE2/5Zj88oR36K6xUtbUimmES4NOU82q9MFMPU +nzOqflNf194o71ZbjdJK1gIemijRP90helrhGNHMBVdRM6UD/MywL349jIDzwp7Y +V3Jlpd+yU6K5Yuw5+nG7Z6oEJTwQI7vKNkEg6xnjpaaH47NaijGZDFb3SXvvCW4e +f/x3Y7sMPIRJIaKxKIbcRodeGChkkMZDEQ69OyuxBeP6Xo6OKOg= +=GANq +-----END PGP SIGNATURE----- diff --git a/website/static/security/advisories/FreeBSD-EN-22:26.cam.asc b/website/static/security/advisories/FreeBSD-EN-22:26.cam.asc new file mode 100644 index 0000000000..00c02d7e79 --- /dev/null +++ b/website/static/security/advisories/FreeBSD-EN-22:26.cam.asc @@ -0,0 +1,128 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +============================================================================= +FreeBSD-EN-22:26.cam Errata Notice + The FreeBSD Project + +Topic: CAM ioctl(2) compatibility breakage + +Category: core +Module: cam +Announced: 2022-11-01 +Affects: FreeBSD 13.1 +Corrected: 2022-10-13 00:44:16 UTC (stable/13, 13.1-STABLE) + 2022-11-01 13:28:11 UTC (releng/13.1, 13.1-RELEASE-p3) + +For general information regarding FreeBSD Errata Notices and Security +Advisories, including descriptions of the fields above, security +branches, and the following sections, please visit +. + +I. Background + +CAM (Common Access Method) is a FreeBSD kernel subsystem which handles +various aspects of storage management. Various CAM components expose +an ioctl(2) interface to userspace. + +II. Problem Description + +A backwards-incompatible change to the CAM ioctl interface was made. +Partial compatibility support for the old version of the interface was +provided, but it was incomplete. In particular, CAM periph drivers +did not handle the old version of the CAMGETPASSTHRU ioctl. + +III. Impact + +Software applications which make use of the CAM ioctl(2) interface +may fail to work following an upgrade to FreeBSD 13.1. + +IV. Workaround + +Affected applications can be recompiled on FreeBSD 13.1. + +V. Solution + +Upgrade your system to a supported FreeBSD stable or release / security +branch (releng) dated after the correction date and reboot. + +Perform one of the following: + +1) To update your system via a binary patch: + +Systems running a RELEASE version of FreeBSD on the amd64, i386, or +(on FreeBSD 13 and later) arm64 platforms can be updated via the +freebsd-update(8) utility: + +# freebsd-update fetch +# freebsd-update install +# shutdown -r +5min "Installing errata update" + +2) 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. + +# fetch https://security.FreeBSD.org/patches/EN-22:26/cam.patch +# fetch https://security.FreeBSD.org/patches/EN-22:26/cam.patch.asc +# gpg --verify cam.patch.asc + +b) Apply the patch. Execute the following commands as root: + +# cd /usr/src +# patch < /path/to/patch + +c) Recompile your kernel as described in + and reboot the +system. + +VI. Correction details + +This issue is corrected by the corresponding Git commit hash or Subversion +revision number in the following stable and release branches: + +Branch/path Hash Revision +- ------------------------------------------------------------------------- +stable/13/ 16d4c1de7b40 stable/13-n252721 +releng/13.1/ fff5c5fe911e releng/13.1-n250161 +- ------------------------------------------------------------------------- + +Run the following command to see which files were modified by a +particular commit: + +# git show --stat + +Or visit the following URL, replacing NNNNNN with the hash: + + + +To determine the commit count in a working tree (for comparison against +nNNNNNN in the table above), run: + +# git rev-list --count --first-parent HEAD + +VII. References + + + +The latest revision of this advisory is available at + +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhmLEACgkQ05eS9J6n +5cJRzQ//XtqKLesa2RAQiFgGcWeBjbmSqz+0zriFkfZxHyp4VgORXVwOrqUJrO6M +SX4TnZ5a+ElbZd1yulSB7JgHSV7ZWh/ltSTUIIGAg+514YtfwhrzJ8ID3Kt01lA2 +KGJMaKZOlyLihbaeIyJm1IvgjFi24QxDRLA479PhtZjjMlrVhm49PLum2TDR7qwr +j44pisNGqhxgA6C6YZW4XaNDJ4kISOFjYPmlKLC6qi7i8vsPXJNzgrZq6zJscomh +fvk7Th3/1p65+KNSK26aJbmxqvgJDRJHyCXseAYylxyISvuoVmvWrgDFYmwCgfy0 +/VNsnxDRPvx+tpGvLyWBGcb5slUg/+j8JxK1pgV5xRUQ30CGP42jQWGMmIna3Lud +pv6Q1jhvcZWKC7kuZIdyzj/UgeQPwGw8qLax4DSSvysMU7YDkBwE3l4909eZElkG +okitdWuWeHnz//CC6dtJE2mGmgoIFUr/uKro2TMV5a6/97A/1CFULydc8dd4objV +YHaXEda1scMzq8GevfDFhji2gqg7tZ4eB7M0VVSgMBjcHkbIldpgtm1wKRNDBXPP +rbvi0aKr1GcrBp19Jeuaz6rxGEzvsxEhBC5lW8hIBiYQEaMK6OJrzkJEiUGQCHPl +JrynKvzC6dHnFKFhVfZaG1SZ2wS7hXnV0Y1LnNjPwK9zrJJJcgc= +=KqXj +-----END PGP SIGNATURE----- diff --git a/website/static/security/advisories/FreeBSD-EN-22:27.loader.asc b/website/static/security/advisories/FreeBSD-EN-22:27.loader.asc new file mode 100644 index 0000000000..bfbb585e38 --- /dev/null +++ b/website/static/security/advisories/FreeBSD-EN-22:27.loader.asc @@ -0,0 +1,127 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +============================================================================= +FreeBSD-EN-22:27.loader Errata Notice + The FreeBSD Project + +Topic: UEFI loader failing to boot older amd64 kernels + +Category: core +Module: loader +Announced: 2022-11-01 +Affects: FreeBSD 13.1 +Corrected: 2022-10-14 03:06:13 UTC (stable/13, 13.1-STABLE) + 2022-11-01 18:03:25 UTC (releng/13.1, 13.1-RELEASE-p3) + +For general information regarding FreeBSD Errata Notices and Security +Advisories, including descriptions of the fields above, security +branches, and the following sections, please visit +. + +I. Background + +The UEFI loader is the first stage of the FreeBSD boot process on UEFI systems. +Loader is responsible for loading the boot configuration, kernel and modules, +and handing control off to the kernel. + +II. Problem Description + +As of FreeBSD 13.1, the UEFI loader on amd64 systems will detect if the kernel +it loaded is capable of being relocated to a different physical address than the +historical load address. This detection relied on an ELF symbol lookup that was +not correctly filtering symbols based on their type, which caused a false +positive result for older amd64 kernels. + +III. Impact + +The UEFI loader would relocate the kernel to a different physical address than +expected, and the resulting kernel would fail to boot. + +IV. Workaround + +This problem can be worked around by entering the loader prompt and issuing the +command: `copy_staging enable`. Non-amd64 systems are not affected. + +V. Solution + +Upgrade your system to a supported FreeBSD stable or release / security +branch (releng) dated after the correction date. The UEFI system partition will +need to be updated with the new loader.efi. + +Perform one of the following: + +1) To update your system via a binary patch: + +Systems running a RELEASE version of FreeBSD on the amd64, i386, or +(on FreeBSD 13 and later) arm64 platforms can be updated via the +freebsd-update(8) utility: + +# freebsd-update fetch +# freebsd-update install + +2) 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. + +# fetch https://security.FreeBSD.org/patches/EN-22:27/loader.patch +# fetch https://security.FreeBSD.org/patches/EN-22:27/loader.patch.asc +# gpg --verify loader.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 . + +VI. Correction details + +This issue is corrected by the corresponding Git commit hash or Subversion +revision number in the following stable and release branches: + +Branch/path Hash Revision +- ------------------------------------------------------------------------- +stable/13/ 2b31059ea701 stable/13-n252746 +releng/13.1/ 1ee7e4ba70e1 releng/13.1-n250166 +- ------------------------------------------------------------------------- + +Run the following command to see which files were modified by a +particular commit: + +# git show --stat + +Or visit the following URL, replacing NNNNNN with the hash: + + + +To determine the commit count in a working tree (for comparison against +nNNNNNN in the table above), run: + +# git rev-list --count --first-parent HEAD + +VII. References + +The latest revision of this advisory is available at + +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhmMsACgkQ05eS9J6n +5cIuFQ/+LdOLKHA1cCH70lEAIwbDjP3S+WPRcv/jdXl8h8447ZzKMcavy8/sTPRF +k91YVngHozGASdFfF4RrYf0kx1/hNhNMOaBQbZKdsEniKAOroiT+gjLCid5ZDoMJ +AQ8P3FohL+53Au8u96F4Shoq8y6zNx61twbZU4dh2rQh3pXjqcEa9fs21dcopmwQ +ssozddGqZeFhqYzvq47ZnBeny/M2vHtxkckbNZd616zCKTUuOGsdNb0kDqcxybZj +tQYQ9dZGbb96LFf2U/3lyhkrk9HK3zl/vdtbJYPvmN/6paCQYzjAxNgbYHJy3ABY +52+BbIeVqjHUffve+Jj0F3RWUGYmXeQ3nNPHCVQR801y0p39bH0nQAN03asHPzMb +wzIzDHXNMcs2qps3ZEBRarOgUOTVzaa90oZXQibp5xqqHyprf4LLOtjXFHSBui7f +AaK7NtEdlM8SbQ2+rSYPj4BTkn2b7wSBUcMA5dJMyqXmFUWx/K8OSnUwz+3ZCCPX +gx6zJxkfCmU9/DI/fN3w6SZvBDATleH6KJEsp8lCIw73ODhpYZgLNdMp8QqPRBoz +mT/j5zYDmONswHlgJ1Er9hivTGsW3H/vftn5Ct2kJgOkViFspUaVTcLgxhc5xKAC +PE2/JaHgfndyi8MdJY0WIylnVzquid+RkOPYaSAMaGA37Ios/XI= +=yeiP +-----END PGP SIGNATURE----- diff --git a/website/static/security/patches/EN-22:21/zfs.patch b/website/static/security/patches/EN-22:21/zfs.patch new file mode 100644 index 0000000000..aabee47126 --- /dev/null +++ b/website/static/security/patches/EN-22:21/zfs.patch @@ -0,0 +1,23 @@ +--- sys/contrib/openzfs/module/zfs/btree.c.orig ++++ sys/contrib/openzfs/module/zfs/btree.c +@@ -1536,8 +1536,8 @@ + zfs_btree_poison_node_at(tree, keep_hdr, keep_hdr->bth_count); + + new_rm_hdr->bth_count = 0; +- zfs_btree_node_destroy(tree, new_rm_hdr); + zfs_btree_remove_from_node(tree, parent, new_rm_hdr); ++ zfs_btree_node_destroy(tree, new_rm_hdr); + } + + /* Remove the element at the specific location. */ +@@ -1766,9 +1766,9 @@ + zfs_btree_poison_node_at(tree, keep_hdr, keep_hdr->bth_count); + + rm_hdr->bth_count = 0; +- zfs_btree_node_destroy(tree, rm_hdr); + /* Remove the emptied node from the parent. */ + zfs_btree_remove_from_node(tree, parent, rm_hdr); ++ zfs_btree_node_destroy(tree, rm_hdr); + zfs_btree_verify(tree); + } + diff --git a/website/static/security/patches/EN-22:21/zfs.patch.asc b/website/static/security/patches/EN-22:21/zfs.patch.asc new file mode 100644 index 0000000000..f15009a7ba --- /dev/null +++ b/website/static/security/patches/EN-22:21/zfs.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhlqMACgkQ05eS9J6n +5cKMQRAAkwNbBk58ANnvWoo/0xlOo4ajObfbvOYeCp3j75BebJw2e55iGI+euuk5 +d5d2r+Ls23sEDqC1QCo9v0IxOR6aoAp/nRCU/BIIuH9yf2xI7mOhmJlpDNckvXJW +A5oXdJI01TIPzTL04Q6bbqeVxdPisK0+SinodWKqglsXbkK11GsgexYU5A9vl7TW +0PP9/X+gdGhcd6Zx+qGBkrMGiRbHoSgwd50ozgBNypM+Z7ZAZQEvTL4zi6k6y4p8 +Qvt8e+IHwDTrdSEictX+0F8L7qWwxvMbOUPD1ykv2t/7uJML3BMj8gnpFrhMctQx +QouyrUlol+vtpg/gHUnqi0Xvb7QqlGPzwedvThyNnOAPoXyBKJ5ZGkCrONp/0pKq +HLiFAVruaCPGbr/SRUXBEaw67svAqF0C87AY7fVm0wiC4BXw5kUEdkvdxaRPG05I +YB/SXfkjPaLoV1jrvnj3EulQnjo4p3vnSX9o+RlTwmQI1+y9HS1cv88KGYdIP7NT +S2aPOAMLRDJ2QMJSwS7kCStrq5vWSXCZ6Hx5FcSeilgJDdQ/s/2bGeliX4iUVCPe +B+MimYVbsn8PqRW/BmxTfloGSpg/nQdkac4y2LhVKj5YiC6cKI/AoLKCtZlej9Vo +rrtqxH0LhsJLuepuEtpf2/rBImbxk85HA7nApRy/sutF40RCXpA= +=oNcG +-----END PGP SIGNATURE----- diff --git a/website/static/security/patches/EN-22:22/tzdata-2022f.12.patch b/website/static/security/patches/EN-22:22/tzdata-2022f.12.patch new file mode 100644 index 0000000000..38ca0d92e0 --- /dev/null +++ b/website/static/security/patches/EN-22:22/tzdata-2022f.12.patch @@ -0,0 +1,3183 @@ +--- ObsoleteFiles.inc.orig ++++ ObsoleteFiles.inc +@@ -11539,6 +11539,7 @@ + OLD_FILES+=usr/share/zoneinfo/SystemV/AST4ADT + OLD_FILES+=usr/share/zoneinfo/SystemV/CST6 + OLD_FILES+=usr/share/zoneinfo/SystemV/AST4 ++OLD_DIRS+=usr/share/zoneinfo/SystemV + OLD_FILES+=usr/share/doc/ntp/accopt.htm + OLD_FILES+=usr/share/doc/ntp/assoc.htm + OLD_FILES+=usr/share/doc/ntp/audio.htm +--- contrib/tzdata/Makefile.orig ++++ contrib/tzdata/Makefile +@@ -210,7 +210,8 @@ + # -DHAVE_DECL_ENVIRON if declares 'environ' + # -DHAVE_DIRECT_H if mkdir needs (MS-Windows) + # -DHAVE_GENERIC=0 if _Generic does not work +-# -DHAVE_GETTEXT if 'gettext' works (e.g., GNU/Linux, FreeBSD, Solaris) ++# -DHAVE_GETRANDOM if getgrandom works (e.g., GNU/Linux)* ++# -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). +@@ -222,16 +223,17 @@ + # -DHAVE_MALLOC_ERRNO=0 if malloc etc. do not set errno on failure. + # -DHAVE_POSIX_DECLS=0 if your system's include files do not declare + # functions like 'link' or variables like 'tzname' required by POSIX ++# -DHAVE_SETENV=0 if your system lacks the setenv function + # -DHAVE_SNPRINTF=0 if your system lacks the snprintf function +-# -DHAVE_STDBOOL_H if you have a non-C99 compiler with +-# -DHAVE_STDINT_H if you have a non-C99 compiler with ++# -DHAVE_STDINT_H if you have a non-C99 compiler with * + # -DHAVE_STRFTIME_L if declares locale_t and strftime_l + # -DHAVE_STRDUP=0 if your system lacks the strdup function + # -DHAVE_STRTOLL=0 if your system lacks the strtoll function + # -DHAVE_SYMLINK=0 if your system lacks the symlink function +-# -DHAVE_SYS_STAT_H=0 if your compiler lacks a ++# -DHAVE_SYS_STAT_H=0 if your compiler lacks a * + # -DHAVE_TZSET=0 if your system lacks a tzset function +-# -DHAVE_UNISTD_H=0 if your compiler lacks a ++# -DHAVE_UNISTD_H=0 if your compiler lacks a * ++# -DHAVE_UTMPX_H=0 if your compiler lacks a * + # -Dlocale_t=XXX if your system uses XXX instead of locale_t + # -DRESERVE_STD_EXT_IDS if your platform reserves standard identifiers + # with external linkage, e.g., applications cannot define 'localtime'. +@@ -254,14 +256,17 @@ + # Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below. + # -DZIC_BLOAT_DEFAULT=\"fat\" to default zic's -b option to "fat", and + # similarly for "slim". Fat TZif files work around incompatibilities +-# and bugs in some TZif readers, notably readers that mishandle 64-bit +-# data in TZif files. Slim TZif files are more efficient and do not +-# work around these incompatibilities and bugs. If not given, the +-# default is "slim". ++# and bugs in some TZif readers, notably older ones that ++# ignore or otherwise mishandle 64-bit data in TZif files; ++# however, fat TZif files may trigger bugs in newer TZif readers. ++# Slim TZif files are more efficient, and are the default. + # -DZIC_MAX_ABBR_LEN_WO_WARN=3 + # (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 ++# ++# * Options marked "*" can be omitted if your compiler is C23 compatible. ++# + # Select instrumentation via "make GCC_INSTRUMENT='whatever'". + GCC_INSTRUMENT = \ + -fsanitize=undefined -fsanitize-address-use-after-scope \ +@@ -397,8 +402,9 @@ + + # To shrink the size of installed TZif files, + # append "-r @N" to omit data before N-seconds-after-the-Epoch. +-# To grow the files and work around older application bugs, append "-b fat"; +-# see ZIC_BLOAT_DEFAULT above. ++# To grow the files and work around bugs in older applications, ++# possibly at the expense of introducing bugs in newer ones, ++# append "-b fat"; see ZIC_BLOAT_DEFAULT above. + # See the zic man page for more about -b and -r. + ZFLAGS= + +@@ -818,13 +824,19 @@ + 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 +- $(AWK) '/^Link/ {print $$3}' backward | LC_ALL=C sort -cu ++ $(AWK) '/^Link/ {printf "%.5d %s\n", g, $$3} /^$$/ {g++}' \ ++ backward | LC_ALL=C sort -cu + $(AWK) '/^Zone/ {print $$2}' backzone | LC_ALL=C sort -cu + touch $@ + + check_links: checklinks.awk $(TDATA_TO_CHECK) tzdata.zi +- $(AWK) -f checklinks.awk $(TDATA_TO_CHECK) +- $(AWK) -f checklinks.awk tzdata.zi ++ $(AWK) \ ++ -v DATAFORM=$(DATAFORM) \ ++ -v backcheck=backward \ ++ -f checklinks.awk $(TDATA_TO_CHECK) ++ $(AWK) \ ++ -v DATAFORM=$(DATAFORM) \ ++ -f checklinks.awk tzdata.zi + touch $@ + + check_tables: checktab.awk $(YDATA) backward $(ZONETABLES) +--- contrib/tzdata/NEWS.orig ++++ contrib/tzdata/NEWS +@@ -1,5 +1,149 @@ + News for the tz database + ++Release 2022f - 2022-10-28 18:04:57 -0700 ++ ++ Briefly: ++ Mexico will no longer observe DST except near the US border. ++ Chihuahua moves to year-round -06 on 2022-10-30. ++ Fiji no longer observes DST. ++ Move links to 'backward'. ++ In vanguard form, GMT is now a Zone and Etc/GMT a link. ++ zic now supports links to links, and vanguard form uses this. ++ Simplify four Ontario zones. ++ Fix a Y2438 bug when reading TZif data. ++ Enable 64-bit time_t on 32-bit glibc platforms. ++ Omit large-file support when no longer needed. ++ In C code, use some C23 features if available. ++ Remove no-longer-needed workaround for Qt bug 53071. ++ ++ Changes to future timestamps. ++ ++ Mexico will no longer observe DST after 2022, except for areas ++ near the US border that continue to observe US DST rules. ++ On 2022-10-30 at 02:00 the Mexican state of Chihuahua moves ++ from -07 (-06 with DST) to year-round -06, thus not changing ++ its clocks that day. The new law states that Chihuahua ++ near the US border no longer observes US DST. ++ ++ Fiji will not observe DST in 2022/3. (Thanks to Shalvin Narayan.) ++ For now, assume DST is suspended indefinitely. ++ ++ Changes to data ++ ++ Move links to 'backward' to ease and simplify link maintenance. ++ This affects generated data only if you use 'make BACKWARD='. ++ ++ GMT is now a Zone and Etc/GMT a link instead of vice versa, ++ as GMT is needed for leap second support whereas Etc/GMT is not. ++ However, this change exposes a bug in TZUpdater 2.3.2 so it is ++ present only in vanguard form for now. ++ ++ Vanguard form now uses links to links, as zic now supports this. ++ ++ Changes to past timestamps ++ ++ Simplify four Ontario zones, as most of the post-1970 differences ++ seem to have been imaginary. (Problem reported by Chris Walton.) ++ Move America/Nipigon, America/Rainy_River, and America/Thunder_Bay ++ to 'backzone'; backward-compatibility links still work, albeit ++ with some different timestamps before November 2005. ++ ++ Changes to code ++ ++ zic now supports links to links regardless of input line order. ++ For example, if Australia/Sydney is a Zone, the lines ++ Link Australia/Canberra Australia/ACT ++ Link Australia/Sydney Australia/Canberra ++ now work correctly, even though the shell commands ++ ln Australia/Canberra Australia/ACT ++ ln Australia/Sydney Australia/Canberra ++ would fail because the first command attempts to use a link ++ Australia/Canberra that does not exist until after the second ++ command is executed. Previously, zic had unspecified behavior if ++ a Link line's target was another link, and zic often misbehaved if ++ a Link line's target was a later Link line. ++ ++ Fix line number in zic's diagnostic for a link to a link. ++ ++ Fix a bug that caused localtime to mishandle timestamps starting ++ in the year 2438 when reading data generated by 'zic -b fat' when ++ distant-future DST transitions occur at times given in standard ++ time or in UT, not the usual case of local time. This occurs when ++ the corresponding .zi Rule lines specify DST transitions with TO ++ columns of 'max' and AT columns that end in 's' or 'u'. The ++ number 2438 comes from the 32-bit limit in the year 2038, plus the ++ 400-year Gregorian cycle. (Problem reported by Bradley White.) ++ ++ On glibc 2.34 and later, which optionally supports 64-bit time_t ++ on platforms like x86 where time_t was traditionally 32 bits, ++ default time_t to 64 instead of 32 bits. This lets functions like ++ localtime support timestamps after the year 2038, and fixes ++ year-2038 problems in zic when accessing files dated after 2038. ++ To continue to limit time_t to 32 bits on these platforms, use ++ "make CFLAGS='-D_TIME_BITS=32'". ++ ++ In C code, do not enable large-file support on platforms like AIX ++ and macOS that no longer need it now that tzcode does not use ++ off_t or related functions like 'stat'. Large-file support is ++ still enabled by default on GNU/Linux, as it is needed for 64-bit ++ time_t support. ++ ++ In C code, prefer C23 keywords to pre-C23 macros for alignof, ++ bool, false, and true. Also, use the following C23 features if ++ available: __has_include, unreachable. ++ ++ zic no longer works around Qt bug 53071, as the relevant Qt ++ releases have been out of support since 2019. This change affects ++ only fat TZif files, as thin files never had the workaround. ++ ++ zdump no longer modifies the environ vector when compiled on ++ platforms lacking tm_zone or when compiled with -DUSE_LTZ=0. ++ This avoid undefined behavior on POSIX platforms. ++ ++ ++Release 2022e - 2022-10-11 11:13:02 -0700 ++ ++ Briefly: ++ Jordan and Syria switch from +02/+03 with DST to year-round +03. ++ ++ Changes to future timestamps ++ ++ Jordan and Syria are abandoning the DST regime and are changing to ++ permanent +03, so they will not fall back from +03 to +02 on ++ 2022-10-28. (Thanks to Steffen Thorsen and Issam Al-Zuwairi.) ++ ++ Changes to past timestamps ++ ++ On 1922-01-01 Tijuana adopted standard time at 00:00, not 01:00. ++ ++ Changes to past time zone abbreviations and DST flags ++ ++ The temporary advancement of clocks in central Mexico in summer ++ 1931 is now treated as daylight saving time, instead of as two ++ changes to standard time. ++ ++ ++Release 2022d - 2022-09-23 12:02:57 -0700 ++ ++ Briefly: ++ Palestine transitions are now Saturdays at 02:00. ++ Simplify three Ukraine zones into one. ++ ++ Changes to future timestamps ++ ++ Palestine now springs forward and falls back at 02:00 on the ++ first Saturday on or after March 24 and October 24, respectively. ++ This means 2022 falls back 10-29 at 02:00, not 10-28 at 01:00. ++ (Thanks to Heba Hamad.) ++ ++ Changes to past timestamps ++ ++ Simplify three Ukraine zones to one, since the post-1970 ++ differences seem to have been imaginary. Move Europe/Uzhgorod and ++ Europe/Zaporozhye to 'backzone'; backward-compatibility links ++ still work, albeit with different timestamps before October 1991. ++ ++ + Release 2022c - 2022-08-15 17:47:18 -0700 + + Briefly: +--- contrib/tzdata/africa.orig ++++ contrib/tzdata/africa +@@ -97,22 +97,6 @@ + 0:00 Algeria WE%sT 1981 May + 1:00 - CET + +-# Angola +-# Benin +-# See Africa/Lagos. +- +-# Botswana +-# See Africa/Maputo. +- +-# Burkina Faso +-# See Africa/Abidjan. +- +-# Burundi +-# See Africa/Maputo. +- +-# Cameroon +-# See Africa/Lagos. +- + # Cape Verde / Cabo Verde + # + # From Paul Eggert (2018-02-16): +@@ -127,9 +111,6 @@ + -2:00 - -02 1975 Nov 25 2:00 + -1:00 - -01 + +-# Central African Republic +-# See Africa/Lagos. +- + # Chad + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena +@@ -137,33 +118,29 @@ + 1:00 1:00 WAST 1980 Mar 8 + 1:00 - WAT + +-# Comoros +-# See Africa/Nairobi. +- +-# Democratic Republic of the Congo +-# See Africa/Lagos for the western part and Africa/Maputo for the eastern. ++# Burkina Faso ++# Côte d'Ivoire (Ivory Coast) ++# The Gambia ++# Ghana ++# Guinea ++# Iceland ++# Mali ++# Mauritania ++# St Helena ++# Senegal ++# Sierra Leone ++# Togo + +-# Republic of the Congo +-# See Africa/Lagos. ++# The other parts of the St Helena territory are similar: ++# Tristan da Cunha: on GMT, say Whitman and the CIA ++# Ascension: on GMT, say the USNO (1995-12-21) and the CIA ++# Gough (scientific station since 1955; sealers wintered previously): ++# on GMT, says the CIA ++# Inaccessible, Nightingale: uninhabited + +-# Côte d'Ivoire / Ivory Coast + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Africa/Abidjan -0:16:08 - LMT 1912 + 0:00 - GMT +-Link Africa/Abidjan Africa/Accra # Ghana +-Link Africa/Abidjan Africa/Bamako # Mali +-Link Africa/Abidjan Africa/Banjul # The Gambia +-Link Africa/Abidjan Africa/Conakry # Guinea +-Link Africa/Abidjan Africa/Dakar # Senegal +-Link Africa/Abidjan Africa/Freetown # Sierra Leone +-Link Africa/Abidjan Africa/Lome # Togo +-Link Africa/Abidjan Africa/Nouakchott # Mauritania +-Link Africa/Abidjan Africa/Ouagadougou # Burkina Faso +-Link Africa/Abidjan Atlantic/Reykjavik # Iceland +-Link Africa/Abidjan Atlantic/St_Helena # St Helena +- +-# Djibouti +-# See Africa/Nairobi. + + ############################################################################### + +@@ -359,33 +336,6 @@ + Zone Africa/Cairo 2:05:09 - LMT 1900 Oct + 2:00 Egypt EE%sT + +-# Equatorial Guinea +-# See Africa/Lagos. +- +-# Eritrea +-# See Africa/Nairobi. +- +-# Eswatini (formerly Swaziland) +-# See Africa/Johannesburg. +- +-# Ethiopia +-# See Africa/Nairobi. +-# +-# Unfortunately tzdb records only Western clock time in use in Ethiopia, +-# as the tzdb format is not up to properly recording a common Ethiopian +-# timekeeping practice that is based on solar time. See: +-# Mortada D. If you have a meeting in Ethiopia, you'd better double +-# check the time. PRI's The World. 2015-01-30 15:15 -05. +-# https://www.pri.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-better-double-check-time +- +-# Gabon +-# See Africa/Lagos. +- +-# The Gambia +-# Ghana +-# Guinea +-# See Africa/Abidjan. +- + # Guinea-Bissau + # + # From Paul Eggert (2018-02-16): +@@ -398,7 +348,16 @@ + -1:00 - -01 1975 + 0:00 - GMT + ++# Comoros ++# Djibouti ++# Eritrea ++# Ethiopia + # Kenya ++# Madagascar ++# Mayotte ++# Somalia ++# Tanzania ++# Uganda + + # From P Chan (2020-10-24): + # +@@ -441,6 +400,14 @@ + # The 1908-05-01 announcement does not give an effective date, + # so just say "1908 May". + ++# From Paul Eggert (2018-09-11): ++# Unfortunately tzdb records only Western clock time in use in Ethiopia, ++# as the tzdb format is not up to properly recording a common Ethiopian ++# timekeeping practice that is based on solar time. See: ++# Mortada D. If you have a meeting in Ethiopia, you'd better double ++# check the time. PRI's The World. 2015-01-30 15:15 -05. ++# https://www.pri.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-better-double-check-time ++ + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Africa/Nairobi 2:27:16 - LMT 1908 May + 2:30 - +0230 1928 Jun 30 24:00 +@@ -448,18 +415,6 @@ + 2:30 - +0230 1936 Dec 31 24:00 + 2:45 - +0245 1942 Jul 31 24:00 + 3:00 - EAT +-Link Africa/Nairobi Africa/Addis_Ababa # Ethiopia +-Link Africa/Nairobi Africa/Asmara # Eritrea +-Link Africa/Nairobi Africa/Dar_es_Salaam # Tanzania +-Link Africa/Nairobi Africa/Djibouti +-Link Africa/Nairobi Africa/Kampala # Uganda +-Link Africa/Nairobi Africa/Mogadishu # Somalia +-Link Africa/Nairobi Indian/Antananarivo # Madagascar +-Link Africa/Nairobi Indian/Comoro +-Link Africa/Nairobi Indian/Mayotte +- +-# Lesotho +-# See Africa/Johannesburg. + + # Liberia + # +@@ -540,16 +495,6 @@ + 1:00 Libya CE%sT 2013 Oct 25 2:00 + 2:00 - EET + +-# Madagascar +-# See Africa/Nairobi. +- +-# Malawi +-# See Africa/Maputo. +- +-# Mali +-# Mauritania +-# See Africa/Abidjan. +- + # Mauritius + + # From Steffen Thorsen (2008-06-25): +@@ -643,12 +588,6 @@ + # Agalega Is, Rodriguez + # no information; probably like Indian/Mauritius + +-# Mayotte +-# See Africa/Nairobi. +- +-# Morocco +-# See Africa/Ceuta for Spanish Morocco. +- + # From Alex Krivenyshev (2008-05-09): + # Here is an article that Morocco plan to introduce Daylight Saving Time between + # 1 June, 2008 and 27 September, 2008. +@@ -1137,7 +1076,14 @@ + 0:00 Morocco +00/+01 2018 Oct 28 3:00 + 1:00 Morocco +01/+00 + ++# Botswana ++# Burundi ++# Democratic Republic of the Congo (eastern) ++# Malawi + # Mozambique ++# Rwanda ++# Zambia ++# Zimbabwe + # + # Shanks gives 1903-03-01 for the transition to CAT. + # Perhaps the 1911-05-26 Portuguese decree +@@ -1147,14 +1093,6 @@ + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Africa/Maputo 2:10:20 - LMT 1903 Mar + 2:00 - CAT +-Link Africa/Maputo Africa/Blantyre # Malawi +-Link Africa/Maputo Africa/Bujumbura # Burundi +-Link Africa/Maputo Africa/Gaborone # Botswana +-Link Africa/Maputo Africa/Harare # Zimbabwe +-Link Africa/Maputo Africa/Kigali # Rwanda +-Link Africa/Maputo Africa/Lubumbashi # E Dem. Rep. of Congo +-Link Africa/Maputo Africa/Lusaka # Zambia +- + + # Namibia + +@@ -1233,9 +1171,16 @@ + # 2:00 - CAT + # End of rearguard section. + +-# Niger +-# See Africa/Lagos. + ++# Angola ++# Benin ++# Cameroon ++# Central African Republic ++# Democratic Republic of the Congo (western) ++# Republic of the Congo ++# Equatorial Guinea ++# Gabon ++# Niger + # Nigeria + + # From P Chan (2020-12-03): +@@ -1301,32 +1246,6 @@ + 0:13:35 - LMT 1914 Jan 1 + 0:30 - +0030 1919 Sep 1 + 1:00 - WAT +-Link Africa/Lagos Africa/Bangui # Central African Republic +-Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo +-Link Africa/Lagos Africa/Douala # Cameroon +-Link Africa/Lagos Africa/Kinshasa # Dem. Rep. of the Congo (west) +-Link Africa/Lagos Africa/Libreville # Gabon +-Link Africa/Lagos Africa/Luanda # Angola +-Link Africa/Lagos Africa/Malabo # Equatorial Guinea +-Link Africa/Lagos Africa/Niamey # Niger +-Link Africa/Lagos Africa/Porto-Novo # Benin +- +-# Réunion +-# See Asia/Dubai. +-# +-# The Crozet Islands also observe Réunion time; see the 'antarctica' file. +- +-# Rwanda +-# See Africa/Maputo. +- +-# St Helena +-# See Africa/Abidjan. +-# The other parts of the St Helena territory are similar: +-# Tristan da Cunha: on GMT, say Whitman and the CIA +-# Ascension: on GMT, say the USNO (1995-12-21) and the CIA +-# Gough (scientific station since 1955; sealers wintered previously): +-# on GMT, says the CIA +-# Inaccessible, Nightingale: uninhabited + + # São Tomé and Príncipe + +@@ -1355,19 +1274,10 @@ + 1:00 - WAT 2019 Jan 1 02:00 + 0:00 - GMT + +-# Senegal +-# See Africa/Abidjan. +- +-# Seychelles +-# See Asia/Dubai. +- +-# Sierra Leone +-# See Africa/Abidjan. +- +-# Somalia +-# See Africa/Nairobi. +- ++# Eswatini (Swaziland) ++# Lesotho + # South Africa ++ + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule SA 1942 1943 - Sep Sun>=15 2:00 1:00 - + Rule SA 1943 1944 - Mar Sun>=15 2:00 0 - +@@ -1375,8 +1285,6 @@ + Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8 + 1:30 - SAST 1903 Mar + 2:00 SA SAST +-Link Africa/Johannesburg Africa/Maseru # Lesotho +-Link Africa/Johannesburg Africa/Mbabane # Eswatini + # + # Marion and Prince Edward Is + # scientific station since 1947 +@@ -1425,12 +1333,6 @@ + 3:00 - EAT 2021 Feb 1 00:00 + 2:00 - CAT + +-# Tanzania +-# See Africa/Nairobi. +- +-# Togo +-# See Africa/Abidjan. +- + # Tunisia + + # From Gwillim Law (2005-04-30): +@@ -1528,10 +1430,3 @@ + Zone Africa/Tunis 0:40:44 - LMT 1881 May 12 + 0:09:21 - PMT 1911 Mar 11 # Paris Mean Time + 1:00 Tunisia CE%sT +- +-# Uganda +-# See Africa/Nairobi. +- +-# Zambia +-# Zimbabwe +-# See Africa/Maputo. +--- contrib/tzdata/antarctica.orig ++++ contrib/tzdata/antarctica +@@ -306,4 +306,4 @@ + # we have to go around and set them back 5 minutes or so. + # Maybe if we let them run fast all of the time, we'd get to leave here sooner!! + # +-# See 'australasia' for Antarctica/McMurdo. ++# See Pacific/Auckland. +--- contrib/tzdata/asia.orig ++++ contrib/tzdata/asia +@@ -149,9 +149,6 @@ + 4:00 EUAsia +04/+05 1997 + 4:00 Azer +04/+05 + +-# Bahrain +-# See Asia/Qatar. +- + # Bangladesh + # From Alexander Krivenyshev (2009-05-13): + # According to newspaper Asian Tribune (May 6, 2009) Bangladesh may introduce +@@ -254,10 +251,8 @@ + 5:00 - +05 1996 + 6:00 - +06 + +-# Brunei +-# See Asia/Kuching. +- +-# Burma / Myanmar ++# Cocos (Keeling) Islands ++# Myanmar (Burma) + + # Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon. + +@@ -273,11 +268,6 @@ + 6:30 - +0630 1942 May + 9:00 - +09 1945 May 3 + 6:30 - +0630 +-Link Asia/Yangon Indian/Cocos +- +-# Cambodia +-# See Asia/Bangkok. +- + + # China + +@@ -665,10 +655,9 @@ + 8:00 PRC C%sT + # Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi + # / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.) ++# Vostok base in Antarctica matches this since 1970. + Zone Asia/Urumqi 5:50:20 - LMT 1928 + 6:00 - +06 +-Link Asia/Urumqi Antarctica/Vostok +- + + # Hong Kong + +@@ -1172,10 +1161,6 @@ + 3:00 - +03 2017 Oct 29 1:00u + 2:00 EUAsia EE%sT + +-# Classically, Cyprus belongs to Asia; e.g. see Herodotus, Histories, I.72. +-# However, for various reasons many users expect to find it under Europe. +-Link Asia/Nicosia Europe/Nicosia +- + # Georgia + # From Paul Eggert (1994-11-19): + # Today's _Economist_ (p 60) reports that Georgia moved its clocks forward +@@ -2231,6 +2216,17 @@ + # From the Arabic version, it seems to say it would be at midnight + # (assume 24:00) on the last Thursday in February, starting from 2022. + ++# From Issam Al-Zuwairi (2022-10-05): ++# The Council of Ministers in Jordan decided Wednesday 5th October 2022, ++# that daylight saving time (DST) will be throughout the year.... ++# ++# From Brian Inglis (2022-10-06): ++# https://petra.gov.jo/Include/InnerPage.jsp?ID=45567&lang=en&name=en_news ++# ++# From Paul Eggert (2022-10-05): ++# Like Syria, model this as a transition from EEST +03 (DST) to plain +03 ++# (non-DST) at the point where DST would otherwise have ended. ++ + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule Jordan 1973 only - Jun 6 0:00 1:00 S + Rule Jordan 1973 1975 - Oct 1 0:00 0 - +@@ -2262,11 +2258,12 @@ + Rule Jordan 2006 2011 - Oct lastFri 0:00s 0 - + Rule Jordan 2013 only - Dec 20 0:00 0 - + Rule Jordan 2014 2021 - Mar lastThu 24:00 1:00 S +-Rule Jordan 2014 max - Oct lastFri 0:00s 0 - +-Rule Jordan 2022 max - Feb lastThu 24:00 1:00 S ++Rule Jordan 2014 2022 - Oct lastFri 0:00s 0 - ++Rule Jordan 2022 only - Feb lastThu 24:00 1:00 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Amman 2:23:44 - LMT 1931 +- 2:00 Jordan EE%sT ++ 2:00 Jordan EE%sT 2022 Oct 28 0:00s ++ 3:00 - +03 + + + # Kazakhstan +@@ -2692,14 +2689,6 @@ + 8:30 - KST 2018 May 4 23:30 + 9:00 - KST + +-############################################################################### +- +-# Kuwait +-# See Asia/Riyadh. +- +-# Laos +-# See Asia/Bangkok. +- + + # Lebanon + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S +@@ -2731,7 +2720,9 @@ + Zone Asia/Beirut 2:22:00 - LMT 1880 + 2:00 Lebanon EE%sT + +-# Malaysia ++# Brunei ++# Malaysia (eastern) ++# + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule NBorneo 1935 1941 - Sep 14 0:00 0:20 - + Rule NBorneo 1935 1941 - Dec 14 0:00 0 - +@@ -2748,14 +2739,12 @@ + 8:00 NBorneo +08/+0820 1942 Feb 16 + 9:00 - +09 1945 Sep 12 + 8:00 - +08 +-Link Asia/Kuching Asia/Brunei + + # Maldives + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Indian/Maldives 4:54:00 - LMT 1880 # Malé + 4:54:00 - MMT 1960 # Malé Mean Time + 5:00 - +05 +-Link Indian/Maldives Indian/Kerguelen + + # Mongolia + +@@ -2918,9 +2907,6 @@ + 5:30 - +0530 1986 + 5:45 - +0545 + +-# Oman +-# See Asia/Dubai. +- + # Pakistan + + # From Rives McDow (2002-03-13): +@@ -3375,10 +3361,6 @@ + # The winter time in 2015 started on October 23 at 01:00. + # https://wafa.ps/ar_page.aspx?id=CgpCdYa670694628582aCgpCdY + # http://www.palestinecabinet.gov.ps/portal/meeting/details/27583 +-# +-# From Paul Eggert (2019-04-10): +-# For now, guess spring-ahead transitions are at 00:00 on the Saturday +-# preceding March's last Sunday (i.e., Sat>=24). + + # From P Chan (2021-10-18): + # http://wafa.ps/Pages/Details/34701 +@@ -3395,6 +3377,18 @@ + # From Heba Hamad (2022-03-10): + # summer time will begin in Palestine from Sunday 03-27-2022, 00:00 AM. + ++# From Heba Hamad (2022-08-30): ++# winter time will begin in Palestine from Saturday 10-29, 02:00 AM by ++# 60 minutes backwards. Also the state of Palestine adopted the summer ++# and winter time for the years: 2023,2024,2025,2026 ... ++# https://mm.icann.org/pipermail/tz/attachments/20220830/9f024566/Time-0001.pdf ++# (2022-08-31): ... the Saturday before the last Sunday in March and October ++# at 2:00 AM ,for the years from 2023 to 2026. ++# (2022-09-05): https://mtit.pna.ps/Site/New/1453 ++# ++# From Paul Eggert (2022-08-31): ++# For now, assume that this rule will also be used after 2026. ++ + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule EgyptAsia 1957 only - May 10 0:00 1:00 S + Rule EgyptAsia 1957 1958 - Oct 1 0:00 0 - +@@ -3425,14 +3419,16 @@ + Rule Palestine 2014 only - Oct 24 0:00 0 - + Rule Palestine 2015 only - Mar 28 0:00 1:00 S + Rule Palestine 2015 only - Oct 23 1:00 0 - +-Rule Palestine 2016 2018 - Mar Sat>=24 1:00 1:00 S +-Rule Palestine 2016 2018 - Oct Sat>=24 1:00 0 - ++Rule Palestine 2016 2018 - Mar Sat<=30 1:00 1:00 S ++Rule Palestine 2016 2018 - Oct Sat<=30 1:00 0 - + Rule Palestine 2019 only - Mar 29 0:00 1:00 S +-Rule Palestine 2019 only - Oct Sat>=24 0:00 0 - +-Rule Palestine 2020 2021 - Mar Sat>=24 0:00 1:00 S ++Rule Palestine 2019 only - Oct Sat<=30 0:00 0 - ++Rule Palestine 2020 2021 - Mar Sat<=30 0:00 1:00 S + Rule Palestine 2020 only - Oct 24 1:00 0 - +-Rule Palestine 2021 max - Oct Fri>=23 1:00 0 - +-Rule Palestine 2022 max - Mar Sun>=25 0:00 1:00 S ++Rule Palestine 2021 only - Oct 29 1:00 0 - ++Rule Palestine 2022 only - Mar 27 0:00 1:00 S ++Rule Palestine 2022 max - Oct Sat<=30 2:00 0 - ++Rule Palestine 2023 max - Mar Sat<=30 2:00 1:00 S + + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Gaza 2:17:52 - LMT 1900 Oct +@@ -3521,14 +3517,18 @@ + 9:00 - JST 1944 Nov + 8:00 Phil P%sT + ++# Bahrain + # Qatar + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha + 4:00 - +04 1972 Jun + 3:00 - +03 +-Link Asia/Qatar Asia/Bahrain + ++# Kuwait + # Saudi Arabia ++# Yemen ++# ++# Japan's year-round bases in Antarctica match this since 1970. + # + # From Paul Eggert (2018-08-29): + # Time in Saudi Arabia and other countries in the Arabian peninsula was not +@@ -3573,9 +3573,6 @@ + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14 + 3:00 - +03 +-Link Asia/Riyadh Antarctica/Syowa +-Link Asia/Riyadh Asia/Aden # Yemen +-Link Asia/Riyadh Asia/Kuwait + + # Singapore + # taken from Mok Ly Yng (2003-10-30) +@@ -3590,7 +3587,6 @@ + 9:00 - +09 1945 Sep 12 + 7:30 - +0730 1982 Jan 1 + 8:00 - +08 +-Link Asia/Singapore Asia/Kuala_Lumpur + + # Spratly Is + # no information +@@ -3805,19 +3801,27 @@ + # Our brief summary: + # https://www.timeanddate.com/news/time/syria-dst-2012.html + +-# From Arthur David Olson (2012-03-27): +-# Assume last Friday in March going forward XXX. ++# From Steffen Thorsen (2022-10-05): ++# Syria is adopting year-round DST, starting this autumn.... ++# From https://www.enabbaladi.net/archives/607812 ++# "This [the decision] came after the weekly government meeting today, ++# Tuesday 4 October ..." ++# ++# From Paul Eggert (2022-10-05): ++# Like Jordan, model this as a transition from EEST +03 (DST) to plain +03 ++# (non-DST) at the point where DST would otherwise have ended. + + Rule Syria 2008 only - Apr Fri>=1 0:00 1:00 S + Rule Syria 2008 only - Nov 1 0:00 0 - + Rule Syria 2009 only - Mar lastFri 0:00 1:00 S + Rule Syria 2010 2011 - Apr Fri>=1 0:00 1:00 S +-Rule Syria 2012 max - Mar lastFri 0:00 1:00 S +-Rule Syria 2009 max - Oct lastFri 0:00 0 - ++Rule Syria 2012 2022 - Mar lastFri 0:00 1:00 S ++Rule Syria 2009 2022 - Oct lastFri 0:00 0 - + + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Damascus 2:25:12 - LMT 1920 # Dimashq +- 2:00 Syria EE%sT ++ 2:00 Syria EE%sT 2022 Oct 28 0:00 ++ 3:00 - +03 + + # Tajikistan + # From Shanks & Pottenger. +@@ -3828,14 +3832,15 @@ + 5:00 1:00 +06 1991 Sep 9 2:00s + 5:00 - +05 + ++# Cambodia ++# Christmas I ++# Laos + # Thailand ++# Vietnam (northern) + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Bangkok 6:42:04 - LMT 1880 + 6:42:04 - BMT 1920 Apr # Bangkok Mean Time + 7:00 - +07 +-Link Asia/Bangkok Asia/Phnom_Penh # Cambodia +-Link Asia/Bangkok Asia/Vientiane # Laos +-Link Asia/Bangkok Indian/Christmas + + # Turkmenistan + # From Shanks & Pottenger. +@@ -3846,13 +3851,15 @@ + 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00 + 5:00 - +05 + ++# Oman ++# Réunion ++# Seychelles + # United Arab Emirates ++# ++# The Crozet Is also observe Réunion time; see the 'antarctica' file. + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Dubai 3:41:12 - LMT 1920 + 4:00 - +04 +-Link Asia/Dubai Asia/Muscat # Oman +-Link Asia/Dubai Indian/Mahe +-Link Asia/Dubai Indian/Reunion + + # Uzbekistan + # Byalokoz 1919 says Uzbekistan was 4:27:53. +@@ -3872,7 +3879,7 @@ + 5:00 RussiaAsia +05/+06 1992 + 5:00 - +05 + +-# Vietnam ++# Vietnam (southern) + + # From Paul Eggert (2014-10-04): + # Milne gives 7:16:56 for the meridian of Saigon in 1899, as being +@@ -3946,7 +3953,3 @@ + # For timestamps in north Vietnam back to 1970 (the tzdb cutoff), + # use Asia/Bangkok; see the VN entries in the file zone1970.tab. + # For timestamps before 1970, see Asia/Hanoi in the file 'backzone'. +- +- +-# Yemen +-# See Asia/Riyadh. +--- contrib/tzdata/australasia.orig ++++ contrib/tzdata/australasia +@@ -251,13 +251,6 @@ + 10:00 1:00 AEDT 2011 + 10:00 AT AE%sT + +-# Christmas +-# See Asia/Bangkok. +- +-# Cocos (Keeling) Is +-# See Asia/Yangon. +- +- + # Fiji + + # Milne gives 11:55:44 for Suva. +@@ -393,8 +386,14 @@ + # concerned shifting arrival and departure times, which may look like a simple + # thing but requires some significant logistical adjustments domestically and + # internationally." +-# Assume for now that DST will resume with the recent pre-2020 rules for the +-# 2022/2023 season. ++ ++# From Shalvin Narayan (2022-10-27): ++# Please note that there will not be any daylight savings time change ++# in Fiji for 2022-2023.... ++# https://www.facebook.com/FijianGovernment/posts/pfbid0mmWVTYmTibn66ybpFda75pDcf34SSpoSaskJW5gXwaKo5Sgc7273Q4fXWc6kQV6Hl ++# ++# From Paul Eggert (2022-10-27): ++# For now, assume DST is suspended indefinitely. + + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 - +@@ -409,8 +408,6 @@ + Rule Fiji 2015 2021 - Jan Sun>=12 3:00 0 - + Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 - + Rule Fiji 2020 only - Dec 20 2:00 1:00 - +-Rule Fiji 2022 max - Nov Sun>=8 2:00 1:00 - +-Rule Fiji 2023 max - Jan Sun>=12 3:00 0 - + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva + 12:00 Fiji +12/+13 +@@ -426,7 +423,9 @@ + # Clipperton (near North America) is administered from French Polynesia; + # it is uninhabited. + ++ + # Guam ++# N Mariana Is + + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + # http://guamlegislature.com/Public_Laws_5th/PL05-025.pdf +@@ -466,17 +465,20 @@ + 9:00 - +09 1944 Jul 31 + 10:00 Guam G%sT 2000 Dec 23 + 10:00 - ChST # Chamorro Standard Time +-Link Pacific/Guam Pacific/Saipan # N Mariana Is + +-# Kiribati ++ ++# Kiribati (Gilbert Is) ++# Marshall Is ++# Tuvalu ++# Wake ++# Wallis & Futuna + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki + 12:00 - +12 +-Link Pacific/Tarawa Pacific/Funafuti +-Link Pacific/Tarawa Pacific/Majuro +-Link Pacific/Tarawa Pacific/Wake +-Link Pacific/Tarawa Pacific/Wallis + ++# Kiribati (except Gilbert Is) ++# See Pacific/Tarawa for the Gilbert Is. ++# Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Pacific/Kanton 0 - -00 1937 Aug 31 + -12:00 - -12 1979 Oct + -11:00 - -11 1994 Dec 31 +@@ -486,9 +488,6 @@ + -10:00 - -10 1994 Dec 31 + 14:00 - +14 + +-# N Mariana Is +-# See Pacific/Guam. +- + # Marshall Is + # See Pacific/Tarawa for most locations. + # Zone NAME STDOFF RULES FORMAT [UNTIL] +@@ -538,6 +537,7 @@ + ############################################################################### + + # New Zealand ++# McMurdo Station and Scott Base in Antarctica use Auckland time. + + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule NZ 1927 only - Nov 6 2:00 1:00 S +@@ -573,7 +573,6 @@ + Zone Pacific/Auckland 11:39:04 - LMT 1868 Nov 2 + 11:30 NZ NZ%sT 1946 Jan 1 + 12:00 NZ NZ%sT +-Link Pacific/Auckland Antarctica/McMurdo + + Zone Pacific/Chatham 12:13:48 - LMT 1868 Nov 2 + 12:15 - +1215 1946 Jan 1 +@@ -672,8 +671,6 @@ + Zone Pacific/Port_Moresby 9:48:40 - LMT 1880 + 9:48:32 - PMMT 1895 # Port Moresby Mean Time + 10:00 - +10 +-Link Pacific/Port_Moresby Antarctica/DumontDUrville +-Link Pacific/Port_Moresby Pacific/Chuuk + # + # From Paul Eggert (2014-10-13): + # Base the Bougainville entry on the Arawa-Kieta region, which appears to have +@@ -706,10 +703,10 @@ + -8:00 - -08 + + # American Samoa ++# Midway + Zone Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5 + -11:22:48 - LMT 1911 + -11:00 - SST # S=Samoa +-Link Pacific/Pago_Pago Pacific/Midway # in US minor outlying islands + + # Samoa (formerly and also known as Western Samoa) + +@@ -801,7 +798,6 @@ + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara + 11:00 - +11 +-Link Pacific/Guadalcanal Pacific/Pohnpei + + # Tokelau + # +@@ -841,9 +837,6 @@ + 13:00 - +13 1999 + 13:00 Tonga +13/+14 + +-# Tuvalu +-# See Pacific/Tarawa. +- + + # US minor outlying islands + +@@ -894,15 +887,9 @@ + # Kingman + # uninhabited + +-# Midway +-# See Pacific/Pago_Pago. +- + # Palmyra + # uninhabited since World War II; was probably like Pacific/Kiritimati + +-# Wake +-# See Pacific/Tarawa. +- + + # Vanuatu + +@@ -939,9 +926,6 @@ + Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila + 11:00 Vanuatu +11/+12 + +-# Wallis and Futuna +-# See Pacific/Tarawa. +- + ############################################################################### + + # NOTES +--- contrib/tzdata/backward.orig ++++ contrib/tzdata/backward +@@ -4,7 +4,7 @@ + # 2009-05-17 by Arthur David Olson. + + # This file provides links from old or merged timezone names to current ones. +-# Many names changed in late 1993, and many merged names moved here ++# Many names changed in 1993 and in 1995, and many merged names moved here + # in the period from 2013 through 2022. Several of these names are + # also present in the file 'backzone', which has data important only + # for pre-1970 timestamps and so is out of scope for tzdb proper. +@@ -13,50 +13,24 @@ + # building with 'make BACKWARD=', in practice downstream users + # typically use this file for backward compatibility. + +-# Link TARGET LINK-NAME +-Link Africa/Nairobi Africa/Asmera +-Link Africa/Abidjan Africa/Timbuktu +-Link America/Argentina/Catamarca America/Argentina/ComodRivadavia +-Link America/Adak America/Atka +-Link America/Argentina/Buenos_Aires America/Buenos_Aires +-Link America/Argentina/Catamarca America/Catamarca +-Link America/Panama America/Coral_Harbour +-Link America/Argentina/Cordoba America/Cordoba +-Link America/Tijuana America/Ensenada +-Link America/Indiana/Indianapolis America/Fort_Wayne +-Link America/Nuuk America/Godthab +-Link America/Indiana/Indianapolis America/Indianapolis +-Link America/Argentina/Jujuy America/Jujuy +-Link America/Indiana/Knox America/Knox_IN +-Link America/Kentucky/Louisville America/Louisville +-Link America/Argentina/Mendoza America/Mendoza +-Link America/Toronto America/Montreal +-Link America/Rio_Branco America/Porto_Acre +-Link America/Argentina/Cordoba America/Rosario +-Link America/Tijuana America/Santa_Isabel +-Link America/Denver America/Shiprock +-Link America/Puerto_Rico America/Virgin +-Link Pacific/Auckland Antarctica/South_Pole +-Link Asia/Ashgabat Asia/Ashkhabad +-Link Asia/Kolkata Asia/Calcutta +-Link Asia/Shanghai Asia/Chongqing +-Link Asia/Shanghai Asia/Chungking +-Link Asia/Dhaka Asia/Dacca +-Link Asia/Shanghai Asia/Harbin +-Link Asia/Urumqi Asia/Kashgar +-Link Asia/Kathmandu Asia/Katmandu +-Link Asia/Macau Asia/Macao +-Link Asia/Yangon Asia/Rangoon +-Link Asia/Ho_Chi_Minh Asia/Saigon +-Link Asia/Jerusalem Asia/Tel_Aviv +-Link Asia/Thimphu Asia/Thimbu +-Link Asia/Makassar Asia/Ujung_Pandang +-Link Asia/Ulaanbaatar Asia/Ulan_Bator +-Link Atlantic/Faroe Atlantic/Faeroe +-Link Europe/Berlin Atlantic/Jan_Mayen +-Link Australia/Sydney Australia/ACT +-Link Australia/Sydney Australia/Canberra +-Link Australia/Hobart Australia/Currie ++# This file is divided into sections, one for each major reason for a ++# backward compatibility link. Each section is sorted by link name. ++ ++# A "#= TARGET1" comment labels each link inserted only because some ++# .zi parsers (including tzcode through 2022e) mishandle links to links. ++# The comment says what the target would be if these parsers were fixed ++# so that data could contain links to links. For example, the line ++# "Link Australia/Sydney Australia/ACT #= Australia/Canberra" would be ++# "Link Australia/Canberra Australia/ACT" were it not that data lines ++# refrain from linking to links like Australia/Canberra, which means ++# the Australia/ACT line links instead to Australia/Sydney, ++# Australia/Canberra's target. ++ ++ ++# Pre-1993 naming conventions ++ ++# Link TARGET LINK-NAME #= TARGET1 ++Link Australia/Sydney Australia/ACT #= Australia/Canberra + Link Australia/Lord_Howe Australia/LHI + Link Australia/Sydney Australia/NSW + Link Australia/Darwin Australia/North +@@ -66,7 +40,7 @@ + Link Australia/Melbourne Australia/Victoria + Link Australia/Perth Australia/West + Link Australia/Broken_Hill Australia/Yancowinna +-Link America/Rio_Branco Brazil/Acre ++Link America/Rio_Branco Brazil/Acre #= America/Porto_Acre + Link America/Noronha Brazil/DeNoronha + Link America/Sao_Paulo Brazil/East + Link America/Manaus Brazil/West +@@ -86,18 +60,36 @@ + Link America/Havana Cuba + Link Africa/Cairo Egypt + Link Europe/Dublin Eire ++# Vanguard section, for most .zi parsers. ++#Link GMT Etc/GMT ++#Link GMT Etc/GMT+0 ++#Link GMT Etc/GMT-0 ++#Link GMT Etc/GMT0 ++#Link GMT Etc/Greenwich ++# Rearguard section, for TZUpdater 2.3.2 and earlier. ++Link Etc/GMT Etc/GMT+0 ++Link Etc/GMT Etc/GMT-0 ++Link Etc/GMT Etc/GMT0 ++Link Etc/GMT Etc/Greenwich ++# End of rearguard section. + Link Etc/UTC Etc/UCT +-Link Europe/London Europe/Belfast +-Link Europe/Kyiv Europe/Kiev +-Link Europe/Chisinau Europe/Tiraspol ++Link Etc/UTC Etc/Universal ++Link Etc/UTC Etc/Zulu + Link Europe/London GB + Link Europe/London GB-Eire ++# Vanguard section, for most .zi parsers. ++#Link GMT GMT+0 ++#Link GMT GMT-0 ++#Link GMT GMT0 ++#Link GMT Greenwich ++# Rearguard section, for TZUpdater 2.3.2 and earlier. + Link Etc/GMT GMT+0 + Link Etc/GMT GMT-0 + Link Etc/GMT GMT0 + Link Etc/GMT Greenwich ++# End of rearguard section. + Link Asia/Hong_Kong Hongkong +-Link Africa/Abidjan Iceland ++Link Africa/Abidjan Iceland #= Atlantic/Reykjavik + Link Asia/Tehran Iran + Link Asia/Jerusalem Israel + Link America/Jamaica Jamaica +@@ -109,14 +101,8 @@ + Link America/Mexico_City Mexico/General + Link Pacific/Auckland NZ + Link Pacific/Chatham NZ-CHAT +-Link America/Denver Navajo ++Link America/Denver Navajo #= America/Shiprock + Link Asia/Shanghai PRC +-Link Pacific/Kanton Pacific/Enderbury +-Link Pacific/Honolulu Pacific/Johnston +-Link Pacific/Guadalcanal Pacific/Ponape +-Link Pacific/Pago_Pago Pacific/Samoa +-Link Pacific/Port_Moresby Pacific/Truk +-Link Pacific/Port_Moresby Pacific/Yap + Link Europe/Warsaw Poland + Link Europe/Lisbon Portugal + Link Asia/Taipei ROC +@@ -140,3 +126,192 @@ + Link Etc/UTC Universal + Link Europe/Moscow W-SU + Link Etc/UTC Zulu ++ ++ ++# Two-part names that were renamed mostly to three-part names in 1995 ++ ++# Link TARGET LINK-NAME #= TARGET1 ++Link America/Argentina/Buenos_Aires America/Buenos_Aires ++Link America/Argentina/Catamarca America/Catamarca ++Link America/Argentina/Cordoba America/Cordoba ++Link America/Indiana/Indianapolis America/Indianapolis ++Link America/Argentina/Jujuy America/Jujuy ++Link America/Indiana/Knox America/Knox_IN ++Link America/Kentucky/Louisville America/Louisville ++Link America/Argentina/Mendoza America/Mendoza ++Link America/Puerto_Rico America/Virgin #= America/St_Thomas ++Link Pacific/Pago_Pago Pacific/Samoa ++ ++ ++# Pre-2013 practice, which typically had a Zone per zone.tab line ++ ++# Link TARGET LINK-NAME ++Link Africa/Abidjan Africa/Accra ++Link Africa/Nairobi Africa/Addis_Ababa ++Link Africa/Nairobi Africa/Asmara ++Link Africa/Abidjan Africa/Bamako ++Link Africa/Lagos Africa/Bangui ++Link Africa/Abidjan Africa/Banjul ++Link Africa/Maputo Africa/Blantyre ++Link Africa/Lagos Africa/Brazzaville ++Link Africa/Maputo Africa/Bujumbura ++Link Africa/Abidjan Africa/Conakry ++Link Africa/Abidjan Africa/Dakar ++Link Africa/Nairobi Africa/Dar_es_Salaam ++Link Africa/Nairobi Africa/Djibouti ++Link Africa/Lagos Africa/Douala ++Link Africa/Abidjan Africa/Freetown ++Link Africa/Maputo Africa/Gaborone ++Link Africa/Maputo Africa/Harare ++Link Africa/Nairobi Africa/Kampala ++Link Africa/Maputo Africa/Kigali ++Link Africa/Lagos Africa/Kinshasa ++Link Africa/Lagos Africa/Libreville ++Link Africa/Abidjan Africa/Lome ++Link Africa/Lagos Africa/Luanda ++Link Africa/Maputo Africa/Lubumbashi ++Link Africa/Maputo Africa/Lusaka ++Link Africa/Lagos Africa/Malabo ++Link Africa/Johannesburg Africa/Maseru ++Link Africa/Johannesburg Africa/Mbabane ++Link Africa/Nairobi Africa/Mogadishu ++Link Africa/Lagos Africa/Niamey ++Link Africa/Abidjan Africa/Nouakchott ++Link Africa/Abidjan Africa/Ouagadougou ++Link Africa/Lagos Africa/Porto-Novo ++Link America/Puerto_Rico America/Anguilla ++Link America/Puerto_Rico America/Antigua ++Link America/Puerto_Rico America/Aruba ++Link America/Panama America/Atikokan ++Link America/Puerto_Rico America/Blanc-Sablon ++Link America/Panama America/Cayman ++Link America/Phoenix America/Creston ++Link America/Puerto_Rico America/Curacao ++Link America/Puerto_Rico America/Dominica ++Link America/Puerto_Rico America/Grenada ++Link America/Puerto_Rico America/Guadeloupe ++Link America/Puerto_Rico America/Kralendijk ++Link America/Puerto_Rico America/Lower_Princes ++Link America/Puerto_Rico America/Marigot ++Link America/Puerto_Rico America/Montserrat ++Link America/Toronto America/Nassau ++Link America/Puerto_Rico America/Port_of_Spain ++Link America/Puerto_Rico America/St_Barthelemy ++Link America/Puerto_Rico America/St_Kitts ++Link America/Puerto_Rico America/St_Lucia ++Link America/Puerto_Rico America/St_Thomas ++Link America/Puerto_Rico America/St_Vincent ++Link America/Puerto_Rico America/Tortola ++Link Pacific/Port_Moresby Antarctica/DumontDUrville ++Link Pacific/Auckland Antarctica/McMurdo ++Link Asia/Riyadh Antarctica/Syowa ++Link Asia/Urumqi Antarctica/Vostok ++Link Europe/Berlin Arctic/Longyearbyen ++Link Asia/Riyadh Asia/Aden ++Link Asia/Qatar Asia/Bahrain ++Link Asia/Kuching Asia/Brunei ++Link Asia/Singapore Asia/Kuala_Lumpur ++Link Asia/Riyadh Asia/Kuwait ++Link Asia/Dubai Asia/Muscat ++Link Asia/Bangkok Asia/Phnom_Penh ++Link Asia/Bangkok Asia/Vientiane ++Link Africa/Abidjan Atlantic/Reykjavik ++Link Africa/Abidjan Atlantic/St_Helena ++Link Europe/Brussels Europe/Amsterdam ++Link Europe/Prague Europe/Bratislava ++Link Europe/Zurich Europe/Busingen ++Link Europe/Berlin Europe/Copenhagen ++Link Europe/London Europe/Guernsey ++Link Europe/London Europe/Isle_of_Man ++Link Europe/London Europe/Jersey ++Link Europe/Belgrade Europe/Ljubljana ++Link Europe/Brussels Europe/Luxembourg ++Link Europe/Helsinki Europe/Mariehamn ++Link Europe/Paris Europe/Monaco ++Link Europe/Berlin Europe/Oslo ++Link Europe/Belgrade Europe/Podgorica ++Link Europe/Rome Europe/San_Marino ++Link Europe/Belgrade Europe/Sarajevo ++Link Europe/Belgrade Europe/Skopje ++Link Europe/Berlin Europe/Stockholm ++Link Europe/Zurich Europe/Vaduz ++Link Europe/Rome Europe/Vatican ++Link Europe/Belgrade Europe/Zagreb ++Link Africa/Nairobi Indian/Antananarivo ++Link Asia/Bangkok Indian/Christmas ++Link Asia/Yangon Indian/Cocos ++Link Africa/Nairobi Indian/Comoro ++Link Indian/Maldives Indian/Kerguelen ++Link Asia/Dubai Indian/Mahe ++Link Africa/Nairobi Indian/Mayotte ++Link Asia/Dubai Indian/Reunion ++Link Pacific/Port_Moresby Pacific/Chuuk ++Link Pacific/Tarawa Pacific/Funafuti ++Link Pacific/Tarawa Pacific/Majuro ++Link Pacific/Pago_Pago Pacific/Midway ++Link Pacific/Guadalcanal Pacific/Pohnpei ++Link Pacific/Guam Pacific/Saipan ++Link Pacific/Tarawa Pacific/Wake ++Link Pacific/Tarawa Pacific/Wallis ++ ++ ++# Non-zone.tab locations with timestamps since 1970 that duplicate ++# those of an existing location ++ ++# Link TARGET LINK-NAME ++Link Africa/Abidjan Africa/Timbuktu ++Link America/Argentina/Catamarca America/Argentina/ComodRivadavia ++Link America/Adak America/Atka ++Link America/Panama America/Coral_Harbour ++Link America/Tijuana America/Ensenada ++Link America/Indiana/Indianapolis America/Fort_Wayne ++Link America/Toronto America/Montreal ++Link America/Toronto America/Nipigon ++Link America/Rio_Branco America/Porto_Acre ++Link America/Winnipeg America/Rainy_River ++Link America/Argentina/Cordoba America/Rosario ++Link America/Tijuana America/Santa_Isabel ++Link America/Denver America/Shiprock ++Link America/Toronto America/Thunder_Bay ++Link Pacific/Auckland Antarctica/South_Pole ++Link Asia/Shanghai Asia/Chongqing ++Link Asia/Shanghai Asia/Harbin ++Link Asia/Urumqi Asia/Kashgar ++Link Asia/Jerusalem Asia/Tel_Aviv ++Link Europe/Berlin Atlantic/Jan_Mayen ++Link Australia/Sydney Australia/Canberra ++Link Australia/Hobart Australia/Currie ++Link Europe/London Europe/Belfast ++Link Europe/Chisinau Europe/Tiraspol ++Link Europe/Kyiv Europe/Uzhgorod ++Link Europe/Kyiv Europe/Zaporozhye ++Link Pacific/Kanton Pacific/Enderbury ++Link Pacific/Honolulu Pacific/Johnston ++Link Pacific/Port_Moresby Pacific/Yap ++ ++ ++# Alternate names for the same location ++ ++# Link TARGET LINK-NAME #= TARGET1 ++Link Africa/Nairobi Africa/Asmera #= Africa/Asmara ++Link America/Nuuk America/Godthab ++Link Asia/Ashgabat Asia/Ashkhabad ++Link Asia/Kolkata Asia/Calcutta ++Link Asia/Shanghai Asia/Chungking #= Asia/Chongqing ++Link Asia/Dhaka Asia/Dacca ++# Istanbul is in both continents. ++Link Europe/Istanbul Asia/Istanbul ++Link Asia/Kathmandu Asia/Katmandu ++Link Asia/Macau Asia/Macao ++Link Asia/Yangon Asia/Rangoon ++Link Asia/Ho_Chi_Minh Asia/Saigon ++Link Asia/Thimphu Asia/Thimbu ++Link Asia/Makassar Asia/Ujung_Pandang ++Link Asia/Ulaanbaatar Asia/Ulan_Bator ++Link Atlantic/Faroe Atlantic/Faeroe ++Link Europe/Kyiv Europe/Kiev ++# Classically, Cyprus is in Asia; e.g. see Herodotus, Histories, I.72. ++# However, for various reasons many users expect to find it under Europe. ++Link Asia/Nicosia Europe/Nicosia ++Link Pacific/Guadalcanal Pacific/Ponape #= Pacific/Pohnpei ++Link Pacific/Port_Moresby Pacific/Truk #= Pacific/Chuuk +--- contrib/tzdata/backzone.orig ++++ contrib/tzdata/backzone +@@ -301,7 +301,7 @@ + -0:53:00 - FMT 1913 Jul 1 # Freetown MT + -1:00 SL %s 1939 Sep 5 + -1:00 - -01 1941 Dec 6 24:00 +- 0:00 SL GMT/+01 ++ 0:00 - GMT + + # Botswana + # From Paul Eggert (2013-02-21): +@@ -739,6 +739,17 @@ + -5:00 Bahamas E%sT 1976 + -5:00 US E%sT + ++# Canada ++# From Chris Walton (2022-10-15): ++# I would also like to see America/Nipigon and America/Rainy_River converted ++# into link entries because I have zero faith in the current Shanks based data. ++# From Paul Eggert (2022-10-15): ++# These are now links in the primary data. Also see America/Thunder_Bay. ++Zone America/Nipigon -5:53:04 - LMT 1895 ++ -5:00 Canada E%sT 1940 Sep 29 ++ -5:00 1:00 EDT 1942 Feb 9 2:00s ++ -5:00 Canada E%sT ++ + # United States + # + # From Paul Eggert (2018-03-18): +@@ -769,6 +780,17 @@ + Link America/Port_of_Spain America/Marigot + Link America/Port_of_Spain America/St_Barthelemy + ++# Canada ++# From Chris Walton (2022-10-15): ++# I would also like to see America/Nipigon and America/Rainy_River converted ++# into link entries because I have zero faith in the current Shanks based data. ++# From Paul Eggert (2022-10-15): ++# These are now links in the primary data. Also see America/Thunder_Bay. ++Zone America/Rainy_River -6:18:16 - LMT 1895 ++ -6:00 Canada C%sT 1940 Sep 29 ++ -6:00 1:00 CDT 1942 Feb 9 2:00s ++ -6:00 Canada C%sT ++ + # Argentina + # This entry was intended for the following areas, but has been superseded by + # more detailed zones. +@@ -802,6 +824,53 @@ + -4:04:56 - KMT 1912 # Kingstown Mean Time + -4:00 - AST + ++# Canada ++# ++# From Paul Eggert (2003-07-27): ++# Willett (1914-03) writes (p. 17) "In the Cities of Fort William, and ++# Port Arthur, Ontario, the principle of the Bill has been in ++# operation for the past three years, and in the City of Moose Jaw, ++# Saskatchewan, for one year." ++# ++# From David Bryan via Tory Tronrud, Director/Curator, ++# Thunder Bay Museum (2003-11-12): ++# There is some suggestion, however, that, by-law or not, daylight ++# savings time was being practiced in Fort William and Port Arthur ++# before 1909.... [I]n 1910, the line between the Eastern and Central ++# Time Zones was permanently moved about two hundred miles west to ++# include the Thunder Bay area.... When Canada adopted daylight ++# savings time in 1916, Fort William and Port Arthur, having done so ++# already, did not change their clocks.... During the Second World ++# War,... [t]he cities agreed to implement DST during the summer ++# months for the remainder of the war years. ++# ++# From Jeffery Nichols (2020-02-06): ++# According to the [Shanks] atlas, those western Ontario zones are huge, ++# covering most of Ontario northwest of Sault Ste Marie and Timmins. ++# The zones seem to include towns bigger than the ones they're named after, ++# like Dryden in America/Rainy_River and Wawa (and maybe Attawapiskat) in ++# America/Nipigon. I assume it's too much trouble to change the name of the ++# zone (like when you found out that America/Glace_Bay includes Sydney, Nova ++# Scotia).... ++# ++# From Chris Walton (2022-10-15): ++# The TZ database currently shows that Thunder Bay has observed daylight ++# saving every year from 1970 onwards with the exception of 1973. ++# Back in July I raised some doubts on this mailing list about the 1973 data. ++# I now have more proof that it is wrong. ++# [attached Chronicle-Journal front pages, 1973-04-28 and 1973-10-27] ++# ++# From Paul Eggert (2022-10-15): ++# This is now a link in the primary data. The following entry is ++# from Shanks & Pottenger, with corrections as noted above. ++# ++Zone America/Thunder_Bay -5:57:00 - LMT 1895 ++ -6:00 - CST 1910 ++ -5:00 - EST 1942 ++ -5:00 Canada E%sT 1970 ++ -5:00 Toronto E%sT 1974 ++ -5:00 Canada E%sT ++ + # British Virgin Is + Zone America/Tortola -4:18:28 - LMT 1911 Jul # Road Town + -4:00 - AST +@@ -1480,6 +1549,27 @@ + 2:00 Russia EE%sT 1992 Jan 19 2:00 + 3:00 Russia MSK/MSD + ++# Ukraine ++# ++# Although Shanks & Pottenger say Transcarpathia used CET 1990/1991, ++# this unreliable source contradicts contemporaneous government resolutions ++# (see the commentary for Ukraine in the 'europe' file) ++# so for now this dubious zone is in 'backzone'. ++# "Uzhhorod" is the transliteration of the Ukrainian spelling, but ++# "Uzhgorod" was a common English spelling when this dubious zone was ++# added to TZDB in 1999. ++Zone Europe/Uzhgorod 1:29:12 - LMT 1890 Oct ++ 1:00 - CET 1940 ++ 1:00 C-Eur CE%sT 1944 Oct ++ 1:00 1:00 CEST 1944 Oct 26 ++ 1:00 - CET 1945 Jun 29 ++ 3:00 Russia MSK/MSD 1990 ++ 3:00 - MSK 1990 Jul 1 2:00 ++ 1:00 - CET 1991 Mar 31 3:00 ++ 2:00 - EET 1992 Mar 20 ++ 2:00 C-Eur EE%sT 1996 May 13 ++ 2:00 EU EE%sT ++ + # Liechtenstein + + # From Paul Eggert (2022-07-21): +@@ -1502,6 +1592,25 @@ + 1:00 - CET 1982 Nov 27 + 1:00 EU CE%sT + ++# Ukraine ++ ++# Although Shanks & Pottenger say Zaporizhzhia and eastern Lugansk ++# observed DST 1990/1991, this unreliable source contradicts contemporaneous ++# government resolutions (see the commentary for Ukraine in the 'europe' file) ++# so for now this dubious zone is in 'backzone'. ++# "Zaporizhzhia" is the transliteration of the Ukrainian name, but ++# "Zaporozhye" was a common English spelling when this dubious zone was ++# added to TZDB in 1999. ++Zone Europe/Zaporozhye 2:20:40 - LMT 1880 ++ 2:20 - +0220 1924 May 2 ++ 2:00 - EET 1930 Jun 21 ++ 3:00 - MSK 1941 Aug 25 ++ 1:00 C-Eur CE%sT 1943 Oct 25 ++ 3:00 Russia MSK/MSD 1991 Mar 31 2:00 ++ 2:00 E-Eur EE%sT 1992 Mar 20 ++ 2:00 C-Eur EE%sT 1996 May 13 ++ 2:00 EU EE%sT ++ + # Madagascar + Zone Indian/Antananarivo 3:10:04 - LMT 1911 Jul + 3:00 - EAT 1954 Feb 27 23:00s +@@ -1633,7 +1742,7 @@ + Zone Pacific/Midway -11:49:28 - LMT 1901 + -11:00 - -11 1956 Jun 3 + -11:00 1:00 -10 1956 Sep 2 +- -11:00 - -11 ++ -11:00 - SST # S=Samoa + + # Micronesia + # Also see Pacific/Chuuk and commentary for Micronesia in 'australasia'. +@@ -1648,10 +1757,20 @@ + Link Pacific/Pohnpei Pacific/Ponape + + # N Mariana Is ++# ++# From Paul Eggert (2022-08-16): ++# Although Shanks & Pottenger say Saipan used +09 and then switched ++# to Guam time in October 1969, this is surely wrong. ++# Saipan used Guam time in the late 1950s; see page 4 of the minutes on the ++# conference of the 12th Saipan Legislature and the Select Committee on ++# Saipan Mission, 5th Guam Legislature (1959-09-11): ++# http://www.nmhcouncil.org/nmhc_archives/U.S.%20Navy%20Civil%20Affairs%20Files%201944-1962/1959/1959%2009%2017%20letter,%20minutes%20of%20conference,%20Borja.pdf ++# For now, assume Saipan switched to Guam time after the Battle of Saipan. ++# + Zone Pacific/Saipan -14:17:00 - LMT 1844 Dec 31 + 9:43:00 - LMT 1901 +- 9:00 - +09 1969 Oct +- 10:00 - +10 2000 Dec 23 ++ 9:00 - +09 1944 Jul 9 ++ 10:00 Guam G%sT 2000 Dec 23 + 10:00 - ChST # Chamorro Standard Time + + +--- contrib/tzdata/checklinks.awk.orig ++++ contrib/tzdata/checklinks.awk +@@ -32,6 +32,13 @@ + } + status = 1 + } ++ if (backcheck && FILENAME != backcheck && $3 != "GMT") { ++ printf "%s: Link should be in '%s'\n", $3, backcheck ++ status = 1 ++ } ++ if ($4 == "#=") { ++ shortcut[$5] = $3 ++ } + used[$2] = 1 + defined[$3] = $2 + } +@@ -39,10 +46,25 @@ + END { + for (tz in used) { + if (defined[tz] != Zone) { +- printf "%s: Link to non-zone\n", tz ++ if (!defined[tz]) { ++ printf "%s: Link to nowhere\n", tz ++ status = 1 ++ } else if (DATAFORM != "vanguard") { ++ printf "%s: Link to link\n", tz + status = 1 ++ } + } + } ++ for (tz in shortcut) { ++ if (defined[shortcut[tz]] != defined[tz]) { ++ target = (!defined[tz] ? "absence" \ ++ : defined[tz] == "\n" ? "zone" \ ++ : defined[tz]) ++ printf "%s: target %s disagrees with %s's target %s\n", \ ++ tz, target, shortcut[tz], defined[shortcut[tz]] ++ status = 1 ++ } ++ } + + exit status + } +--- contrib/tzdata/etcetera.orig ++++ contrib/tzdata/etcetera +@@ -16,26 +16,23 @@ + # Do not use a POSIX TZ setting like TZ='GMT+4', which is four hours + # behind GMT but uses the completely misleading abbreviation "GMT". + +-Zone Etc/GMT 0 - GMT +- + # The following zone is used by tzcode functions like gmtime, + # which load the "UTC" file to handle seconds properly. + Zone Etc/UTC 0 - UTC + ++# Functions like gmtime load the "GMT" file to handle leap seconds properly. ++# Vanguard section, which works with most .zi parsers. ++#Zone GMT 0 - GMT ++# Rearguard section, for TZUpdater 2.3.2 and earlier. ++Zone Etc/GMT 0 - GMT ++ + # The following link uses older naming conventions, + # but it belongs here, not in the file 'backward', + # as it is needed for tzcode releases through 2022a, + # where functions like gmtime load "GMT" instead of the "Etc/UTC". + # We want this to work even on installations that omit 'backward'. + Link Etc/GMT GMT +- +-Link Etc/UTC Etc/Universal +-Link Etc/UTC Etc/Zulu +- +-Link Etc/GMT Etc/Greenwich +-Link Etc/GMT Etc/GMT-0 +-Link Etc/GMT Etc/GMT+0 +-Link Etc/GMT Etc/GMT0 ++# End of rearguard section. + + # Be consistent with POSIX TZ settings in the Zone names, + # even though this is the opposite of what many people expect. +--- contrib/tzdata/europe.orig ++++ contrib/tzdata/europe +@@ -504,9 +504,6 @@ + 1:00 - BST 1971 Oct 31 2:00u + 0:00 GB-Eire %s 1996 + 0:00 EU GMT/BST +-Link Europe/London Europe/Jersey +-Link Europe/London Europe/Guernsey +-Link Europe/London Europe/Isle_of_Man + + # From Paul Eggert (2018-02-15): + # In January 2018 we discovered that the negative SAVE values in the +@@ -879,6 +876,8 @@ + 3:00 - +03 + + # Belgium ++# Luxembourg ++# Netherlands + # + # From Michael Deckers (2019-08-25): + # The exposition in the web page +@@ -961,11 +960,6 @@ + 1:00 C-Eur CE%sT 1944 Sep 3 + 1:00 Belgium CE%sT 1977 + 1:00 EU CE%sT +-Link Europe/Brussels Europe/Amsterdam +-Link Europe/Brussels Europe/Luxembourg +- +-# Bosnia and Herzegovina +-# See Europe/Belgrade. + + # Bulgaria + # +@@ -992,13 +986,11 @@ + 2:00 E-Eur EE%sT 1997 + 2:00 EU EE%sT + +-# Croatia +-# See Europe/Belgrade. +- + # Cyprus + # Please see the 'asia' file for Asia/Nicosia. + +-# Czech Republic / Czechia ++# Czech Republic (Czechia) ++# Slovakia + # + # From Paul Eggert (2018-04-15): + # The source for Czech data is: Kdy začíná a končí letní čas. 2018-04-15. +@@ -1025,15 +1017,14 @@ + # End of rearguard section. + 1:00 Czech CE%sT 1979 + 1:00 EU CE%sT +-Link Europe/Prague Europe/Bratislava +- +- +-# Denmark, Faroe Islands, and Greenland +-# For Denmark see Europe/Berlin. + ++# Faroe Is ++# Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Atlantic/Faroe -0:27:04 - LMT 1908 Jan 11 # Tórshavn + 0:00 - WET 1981 + 0:00 EU WE%sT ++ ++# Greenland + # + # From Paul Eggert (2004-10-31): + # During World War II, Germany maintained secret manned weather stations in +@@ -1259,11 +1250,8 @@ + 2:00 Finland EE%sT 1983 + 2:00 EU EE%sT + +-# Åland Is +-Link Europe/Helsinki Europe/Mariehamn +- +- + # France ++# Monaco + + # From Ciro Discepolo (2000-12-20): + # +@@ -1400,9 +1388,11 @@ + 0:00 France WE%sT 1945 Sep 16 3:00 + 1:00 France CE%sT 1977 + 1:00 EU CE%sT +-Link Europe/Paris Europe/Monaco + ++# Denmark + # Germany ++# Norway ++# Sweden + + # From Markus Kuhn (1998-09-29): + # The German time zone web site by the Physikalisch-Technische +@@ -1420,6 +1410,53 @@ + # However, Moscow did not observe daylight saving in 1945, so + # this was equivalent to UT +03, not +04. + ++# Svalbard & Jan Mayen ++ ++# From Steffen Thorsen (2001-05-01): ++# Although I could not find it explicitly, it seems that Jan Mayen and ++# Svalbard have been using the same time as Norway at least since the ++# time they were declared as parts of Norway. Svalbard was declared ++# as a part of Norway by law of 1925-07-17 no 11, section 4 and Jan ++# Mayen by law of 1930-02-27 no 2, section 2. (From ++# and ++# ). The law/regulation ++# for normal/standard time in Norway is from 1894-06-29 no 1 (came ++# into operation on 1895-01-01) and Svalbard/Jan Mayen seem to be a ++# part of this law since 1925/1930. (From ++# ) I have not been ++# able to find if Jan Mayen used a different time zone (e.g. -0100) ++# before 1930. Jan Mayen has only been "inhabited" since 1921 by ++# Norwegian meteorologists and maybe used the same time as Norway ever ++# since 1921. Svalbard (Arctic/Longyearbyen) has been inhabited since ++# before 1895, and therefore probably changed the local time somewhere ++# between 1895 and 1925 (inclusive). ++ ++# From Paul Eggert (2013-09-04): ++# ++# Actually, Jan Mayen was never occupied by Germany during World War II, ++# so it must have diverged from Oslo time during the war, as Oslo was ++# keeping Berlin time. ++# ++# says that the meteorologists ++# burned down their station in 1940 and left the island, but returned in ++# 1941 with a small Norwegian garrison and continued operations despite ++# frequent air attacks from Germans. In 1943 the Americans established a ++# radiolocating station on the island, called "Atlantic City". Possibly ++# the UT offset changed during the war, but I think it unlikely that ++# Jan Mayen used German daylight-saving rules. ++# ++# Svalbard is more complicated, as it was raided in August 1941 by an ++# Allied party that evacuated the civilian population to England (says ++# ). The Svalbard FAQ ++# says that the Germans were ++# expelled on 1942-05-14. However, small parties of Germans did return, ++# and according to Wilhelm Dege's book "War North of 80" (1954) ++# http://www.ucalgary.ca/UofC/departments/UP/1-55238/1-55238-110-2.html ++# the German armed forces at the Svalbard weather station code-named ++# Haudegen did not surrender to the Allies until September 1945. ++# ++# All these events predate our cutoff date of 1970, so use Europe/Berlin ++# for these regions. + + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule Germany 1946 only - Apr 14 2:00s 1:00 S +@@ -1444,11 +1481,6 @@ + 1:00 SovietZone CE%sT 1946 + 1:00 Germany CE%sT 1980 + 1:00 EU CE%sT +-Link Europe/Berlin Arctic/Longyearbyen +-Link Europe/Berlin Europe/Copenhagen +-Link Europe/Berlin Europe/Oslo +-Link Europe/Berlin Europe/Stockholm +- + + # Georgia + # Please see the "asia" file for Asia/Tbilisi. +@@ -1567,10 +1599,9 @@ + 1:00 Hungary CE%sT 1984 + 1:00 EU CE%sT + +-# Iceland +-# See Africa/Abidjan. +- + # Italy ++# San Marino ++# Vatican City + # + # From Paul Eggert (2001-03-06): + # Sicily and Sardinia each had their own time zones from 1866 to 1893, +@@ -1689,13 +1720,6 @@ + 1:00 C-Eur CE%sT 1944 Jun 4 + 1:00 Italy CE%sT 1980 + 1:00 EU CE%sT +-Link Europe/Rome Europe/Vatican +-Link Europe/Rome Europe/San_Marino +- +- +-# Kosovo +-# See Europe/Belgrade. +- + + # Latvia + +@@ -1779,10 +1803,6 @@ + 2:00 - EET 2001 Jan 2 + 2:00 EU EE%sT + +-# Liechtenstein +-# See Europe/Zurich. +- +- + # Lithuania + + # From Paul Eggert (2016-03-18): +@@ -1835,12 +1855,6 @@ + 2:00 - EET 2003 Jan 1 + 2:00 EU EE%sT + +-# Luxembourg +-# See Europe/Brussels. +- +-# North Macedonia +-# See Europe/Belgrade. +- + # Malta + # + # From Paul Eggert (2016-10-21): +@@ -1936,67 +1950,6 @@ + # See Romania commentary for the guessed 1997 transition to EU rules. + 2:00 Moldova EE%sT + +-# Monaco +-# See Europe/Paris. +- +-# Montenegro +-# See Europe/Belgrade. +- +-# Netherlands +-# See Europe/Brussels. +- +-# Norway +-# See Europe/Berlin. +- +-# Svalbard & Jan Mayen +- +-# From Steffen Thorsen (2001-05-01): +-# Although I could not find it explicitly, it seems that Jan Mayen and +-# Svalbard have been using the same time as Norway at least since the +-# time they were declared as parts of Norway. Svalbard was declared +-# as a part of Norway by law of 1925-07-17 no 11, section 4 and Jan +-# Mayen by law of 1930-02-27 no 2, section 2. (From +-# and +-# ). The law/regulation +-# for normal/standard time in Norway is from 1894-06-29 no 1 (came +-# into operation on 1895-01-01) and Svalbard/Jan Mayen seem to be a +-# part of this law since 1925/1930. (From +-# ) I have not been +-# able to find if Jan Mayen used a different time zone (e.g. -0100) +-# before 1930. Jan Mayen has only been "inhabited" since 1921 by +-# Norwegian meteorologists and maybe used the same time as Norway ever +-# since 1921. Svalbard (Arctic/Longyearbyen) has been inhabited since +-# before 1895, and therefore probably changed the local time somewhere +-# between 1895 and 1925 (inclusive). +- +-# From Paul Eggert (2013-09-04): +-# +-# Actually, Jan Mayen was never occupied by Germany during World War II, +-# so it must have diverged from Oslo time during the war, as Oslo was +-# keeping Berlin time. +-# +-# says that the meteorologists +-# burned down their station in 1940 and left the island, but returned in +-# 1941 with a small Norwegian garrison and continued operations despite +-# frequent air attacks from Germans. In 1943 the Americans established a +-# radiolocating station on the island, called "Atlantic City". Possibly +-# the UT offset changed during the war, but I think it unlikely that +-# Jan Mayen used German daylight-saving rules. +-# +-# Svalbard is more complicated, as it was raided in August 1941 by an +-# Allied party that evacuated the civilian population to England (says +-# ). The Svalbard FAQ +-# says that the Germans were +-# expelled on 1942-05-14. However, small parties of Germans did return, +-# and according to Wilhelm Dege's book "War North of 80" (1954) +-# http://www.ucalgary.ca/UofC/departments/UP/1-55238/1-55238-110-2.html +-# the German armed forces at the Svalbard weather station code-named +-# Haudegen did not surrender to the Allies until September 1945. +-# +-# All these events predate our cutoff date of 1970, so use Europe/Berlin +-# for these regions. +- +- + # Poland + + # The 1919 dates and times can be found in Tygodnik Urzędowy nr 1 (1919-03-20), +@@ -2615,10 +2568,14 @@ + # From Alexander Krivenyshev (2014-03-17): + # time change at 2:00 (2am) on March 30, 2014 + # https://vz.ru/news/2014/3/17/677464.html +-# From Paul Eggert (2014-03-30): +-# Simferopol and Sevastopol reportedly changed their central town clocks +-# late the previous day, but this appears to have been ceremonial +-# and the discrepancies are small enough to not worry about. ++# From Tim Parenti (2022-07-01), per Paul Eggert (2014-03-30): ++# The clocks at the railway station in Simferopol were put forward from 22:00 ++# to 24:00 the previous day in a "symbolic ceremony"; however, per ++# contemporaneous news reports, "ordinary Crimeans [made] the daylight savings ++# time switch at 2am" on Sunday. ++# https://www.business-standard.com/article/pti-stories/crimea-to-set-clocks-to-russia-time-114033000014_1.html ++# https://www.reuters.com/article/us-ukraine-crisis-crimea-time/crimea-switches-to-moscow-time-amid-incorporation-frenzy-idUKBREA2S0LT20140329 ++# https://www.bbc.com/news/av/world-europe-26806583 + 2:00 EU EE%sT 2014 Mar 30 2:00 + 4:00 - MSK 2014 Oct 26 2:00s + 3:00 - MSK +@@ -3274,11 +3231,13 @@ + 11:00 Russia +11/+12 2011 Mar 27 2:00s + 12:00 - +12 + +- +-# San Marino +-# See Europe/Rome. +- ++# Bosnia & Herzegovina ++# Croatia ++# Kosovo ++# Montenegro ++# North Macedonia + # Serbia ++# Slovenia + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Europe/Belgrade 1:22:00 - LMT 1884 + 1:00 - CET 1941 Apr 18 23:00 +@@ -3290,17 +3249,6 @@ + # Shanks & Pottenger don't give as much detail, so go with Koželj. + 1:00 - CET 1982 Nov 27 + 1:00 EU CE%sT +-Link Europe/Belgrade Europe/Ljubljana # Slovenia +-Link Europe/Belgrade Europe/Podgorica # Montenegro +-Link Europe/Belgrade Europe/Sarajevo # Bosnia and Herzegovina +-Link Europe/Belgrade Europe/Skopje # North Macedonia +-Link Europe/Belgrade Europe/Zagreb # Croatia +- +-# Slovakia +-# See Europe/Prague. +- +-# Slovenia +-# See Europe/Belgrade. + + # Spain + # +@@ -3390,7 +3338,7 @@ + 0:00 Spain WE%sT 1940 Mar 16 23:00 + 1:00 Spain CE%sT 1979 + 1:00 EU CE%sT +-Zone Africa/Ceuta -0:21:16 - LMT 1900 Dec 31 23:38:44 ++Zone Africa/Ceuta -0:21:16 - LMT 1901 Jan 1 0:00u + 0:00 - WET 1918 May 6 23:00 + 0:00 1:00 WEST 1918 Oct 7 23:00 + 0:00 - WET 1924 +@@ -3407,10 +3355,11 @@ + # IATA SSIM (1996-09) says the Canaries switch at 2:00u, not 1:00u. + # Ignore this for now, as the Canaries are part of the EU. + +-# Sweden +-# See Europe/Berlin. + ++# Germany (Busingen enclave) ++# Liechtenstein + # Switzerland ++# + # From Howse: + # By the end of the 18th century clocks and watches became commonplace + # and their performance improved enormously. Communities began to keep +@@ -3523,9 +3472,6 @@ + 0:29:46 - BMT 1894 Jun # Bern Mean Time + 1:00 Swiss CE%sT 1981 + 1:00 EU CE%sT +-Link Europe/Zurich Europe/Busingen +-Link Europe/Zurich Europe/Vaduz +- + + # Turkey + +@@ -3730,7 +3676,6 @@ + 2:00 1:00 EEST 2015 Nov 8 1:00u + 2:00 EU EE%sT 2016 Sep 7 + 3:00 - +03 +-Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents. + + # Ukraine + # +@@ -3751,8 +3696,8 @@ + # US colleague David Cochrane) are still trying to get more + # information upon these local deviations from Kiev rules. + # +-# From Paul Eggert (2022-02-08): +-# For now, assume that Ukraine's other three zones followed the same rules, ++# From Paul Eggert (2022-08-27): ++# For now, assume that Ukraine's zones all followed the same rules, + # except that Crimea switched to Moscow time in 1994 as described elsewhere. + + # From Igor Karpov, who works for the Ukrainian Ministry of Justice, +@@ -3822,21 +3767,7 @@ + # * Ukrainian Government's Resolution of 20.03.1992, No. 139. + # http://www.uazakon.com/documents/date_8u/pg_grcasa.htm + +-# From Paul Eggert (2022-04-12): +-# As is usual in tzdb, Ukrainian zones use the most common English spellings. +-# In particular, tzdb's name Europe/Kyiv uses the most common spelling in +-# English for Ukraine's capital. Although tzdb's former name was Europe/Kiev, +-# "Kyiv" is now more common due to widespread reporting of the current conflict. +-# Conversely, tzdb continues to use the names Europe/Uzhgorod and +-# Europe/Zaporozhye; this is similar to tzdb's use of Europe/Prague, which is +-# certainly wrong as a transliteration of the Czech "Praha". +-# English-language spelling of Ukrainian names is in flux, and +-# some day "Uzhhorod" or "Zaporizhzhia" may become substantially more +-# common in English; in the meantime, do not change these +-# English spellings as that means less disruption for our users. +- + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-# This represents most of Ukraine. See above for the spelling of "Kyiv". + Zone Europe/Kyiv 2:02:04 - LMT 1880 + 2:02:04 - KMT 1924 May 2 # Kyiv Mean Time + 2:00 - EET 1930 Jun 21 +@@ -3846,37 +3777,6 @@ + 2:00 1:00 EEST 1991 Sep 29 3:00 + 2:00 C-Eur EE%sT 1996 May 13 + 2:00 EU EE%sT +-# Transcarpathia used CET 1990/1991. +-# "Uzhhorod" is the transliteration of the Rusyn/Ukrainian pronunciation, but +-# "Uzhgorod" is more common in English. +-Zone Europe/Uzhgorod 1:29:12 - LMT 1890 Oct +- 1:00 - CET 1940 +- 1:00 C-Eur CE%sT 1944 Oct +- 1:00 1:00 CEST 1944 Oct 26 +- 1:00 - CET 1945 Jun 29 +- 3:00 Russia MSK/MSD 1990 +- 3:00 - MSK 1990 Jul 1 2:00 +- 1:00 - CET 1991 Mar 31 3:00 +- 2:00 - EET 1992 Mar 20 +- 2:00 C-Eur EE%sT 1996 May 13 +- 2:00 EU EE%sT +-# Zaporozh'ye and eastern Lugansk oblasts observed DST 1990/1991. +-# "Zaporizhzhia" is the transliteration of the Ukrainian name, but +-# "Zaporozh'ye" is more common in English. Use the common English +-# spelling, except omit the apostrophe as it is not allowed in +-# portable Posix file names. +-Zone Europe/Zaporozhye 2:20:40 - LMT 1880 +- 2:20 - +0220 1924 May 2 +- 2:00 - EET 1930 Jun 21 +- 3:00 - MSK 1941 Aug 25 +- 1:00 C-Eur CE%sT 1943 Oct 25 +- 3:00 Russia MSK/MSD 1991 Mar 31 2:00 +- 2:00 E-Eur EE%sT 1992 Mar 20 +- 2:00 C-Eur EE%sT 1996 May 13 +- 2:00 EU EE%sT +- +-# Vatican City +-# See Europe/Rome. + + ############################################################################### + +--- contrib/tzdata/northamerica.orig ++++ contrib/tzdata/northamerica +@@ -439,7 +439,7 @@ + Rule Chicago 1922 1954 - Sep lastSun 2:00 0 S + Rule Chicago 1955 1966 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:09:24 ++Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1920 + -6:00 Chicago C%sT 1936 Mar 1 2:00 + -5:00 - EST 1936 Nov 15 2:00 +@@ -448,7 +448,7 @@ + -6:00 Chicago C%sT 1967 + -6:00 US C%sT + # Oliver County, ND switched from mountain to central time on 1992-10-25. +-Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 12:14:48 ++Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 19:00u + -7:00 US M%sT 1992 Oct 25 2:00 + -6:00 US C%sT + # Morton County, ND, switched from mountain to central time on +@@ -458,7 +458,7 @@ + # Jones, Mellette, and Todd Counties in South Dakota; + # but in practice these other counties were already observing central time. + # See . +-Zone America/North_Dakota/New_Salem -6:45:39 - LMT 1883 Nov 18 12:14:21 ++Zone America/North_Dakota/New_Salem -6:45:39 - LMT 1883 Nov 18 19:00u + -7:00 US M%sT 2003 Oct 26 2:00 + -6:00 US C%sT + +@@ -475,7 +475,7 @@ + # largest city in Mercer County). Google Maps places Beulah's city hall + # at 47° 15' 51" N, 101° 46' 40" W, which yields an offset of 6h47'07". + +-Zone America/North_Dakota/Beulah -6:47:07 - LMT 1883 Nov 18 12:12:53 ++Zone America/North_Dakota/Beulah -6:47:07 - LMT 1883 Nov 18 19:00u + -7:00 US M%sT 2010 Nov 7 2:00 + -6:00 US C%sT + +@@ -507,7 +507,7 @@ + Rule Denver 1965 1966 - Apr lastSun 2:00 1:00 D + Rule Denver 1965 1966 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Denver -6:59:56 - LMT 1883 Nov 18 12:00:04 ++Zone America/Denver -6:59:56 - LMT 1883 Nov 18 19:00u + -7:00 US M%sT 1920 + -7:00 Denver M%sT 1942 + -7:00 US M%sT 1946 +@@ -560,7 +560,7 @@ + Rule CA 1950 1961 - Sep lastSun 2:00 0 S + Rule CA 1962 1966 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:07:02 ++Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 20:00u + -8:00 US P%sT 1946 + -8:00 CA P%sT 1967 + -8:00 US P%sT +@@ -822,14 +822,13 @@ + # Go with the Arizona State Library instead. + + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 11:31:42 ++Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 19:00u + -7:00 US M%sT 1944 Jan 1 0:01 + -7:00 - MST 1944 Apr 1 0:01 + -7:00 US M%sT 1944 Oct 1 0:01 + -7:00 - MST 1967 + -7:00 US M%sT 1968 Mar 21 + -7:00 - MST +-Link America/Phoenix America/Creston + + # From Arthur David Olson (1988-02-13): + # A writer from the Inter Tribal Council of Arizona, Inc., +@@ -850,7 +849,7 @@ + # switched four weeks late in 1974. + # + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:15:11 ++Zone America/Boise -7:44:49 - LMT 1883 Nov 18 20:00u + -8:00 US P%sT 1923 May 13 2:00 + -7:00 US M%sT 1974 + -7:00 - MST 1974 Feb 3 2:00 +@@ -922,7 +921,7 @@ + Rule Indianapolis 1941 1954 - Sep lastSun 2:00 0 S + Rule Indianapolis 1946 1954 - Apr lastSun 2:00 1:00 D + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Indianapolis -5:44:38 - LMT 1883 Nov 18 12:15:22 ++Zone America/Indiana/Indianapolis -5:44:38 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1920 + -6:00 Indianapolis C%sT 1942 + -6:00 US C%sT 1946 +@@ -942,7 +941,7 @@ + Rule Marengo 1954 1960 - Apr lastSun 2:00 1:00 D + Rule Marengo 1954 1960 - Sep lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Marengo -5:45:23 - LMT 1883 Nov 18 12:14:37 ++Zone America/Indiana/Marengo -5:45:23 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1951 + -6:00 Marengo C%sT 1961 Apr 30 2:00 + -5:00 - EST 1969 +@@ -966,7 +965,7 @@ + Rule Vincennes 1961 only - Sep lastSun 2:00 0 S + Rule Vincennes 1962 1963 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Vincennes -5:50:07 - LMT 1883 Nov 18 12:09:53 ++Zone America/Indiana/Vincennes -5:50:07 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1946 + -6:00 Vincennes C%sT 1964 Apr 26 2:00 + -5:00 - EST 1969 +@@ -986,7 +985,7 @@ + Rule Perry 1956 1963 - Apr lastSun 2:00 1:00 D + Rule Perry 1961 1963 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Tell_City -5:47:03 - LMT 1883 Nov 18 12:12:57 ++Zone America/Indiana/Tell_City -5:47:03 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1946 + -6:00 Perry C%sT 1964 Apr 26 2:00 + -5:00 - EST 1967 Oct 29 2:00 +@@ -1003,7 +1002,7 @@ + Rule Pike 1956 1964 - Apr lastSun 2:00 1:00 D + Rule Pike 1961 1964 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Petersburg -5:49:07 - LMT 1883 Nov 18 12:10:53 ++Zone America/Indiana/Petersburg -5:49:07 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1955 + -6:00 Pike C%sT 1965 Apr 25 2:00 + -5:00 - EST 1966 Oct 30 2:00 +@@ -1025,7 +1024,7 @@ + Rule Starke 1957 1958 - Sep lastSun 2:00 0 S + Rule Starke 1959 1961 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Knox -5:46:30 - LMT 1883 Nov 18 12:13:30 ++Zone America/Indiana/Knox -5:46:30 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1947 + -6:00 Starke C%sT 1962 Apr 29 2:00 + -5:00 - EST 1963 Oct 27 2:00 +@@ -1041,7 +1040,7 @@ + Rule Pulaski 1955 1956 - Oct lastSun 2:00 0 S + Rule Pulaski 1957 1960 - Sep lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Winamac -5:46:25 - LMT 1883 Nov 18 12:13:35 ++Zone America/Indiana/Winamac -5:46:25 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1946 + -6:00 Pulaski C%sT 1961 Apr 30 2:00 + -5:00 - EST 1969 +@@ -1052,7 +1051,7 @@ + # + # Switzerland County, Indiana, did not observe DST from 1973 through 2005. + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Vevay -5:40:16 - LMT 1883 Nov 18 12:19:44 ++Zone America/Indiana/Vevay -5:40:16 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1954 Apr 25 2:00 + -5:00 - EST 1969 + -5:00 US E%sT 1973 +@@ -1088,7 +1087,7 @@ + Rule Louisville 1950 1955 - Sep lastSun 2:00 0 S + Rule Louisville 1956 1961 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 12:16:58 ++Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1921 + -6:00 Louisville C%sT 1942 + -6:00 US C%sT 1946 +@@ -1122,7 +1121,7 @@ + # Federal Register 65, 160 (2000-08-17), pp 50154-50158. + # https://www.gpo.gov/fdsys/pkg/FR-2000-08-17/html/00-20854.htm + # +-Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 12:20:36 ++Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1946 + -6:00 - CST 1968 + -6:00 US C%sT 2000 Oct 29 2:00 +@@ -1603,23 +1602,6 @@ + + # Ontario + +-# From Paul Eggert (2006-07-09): +-# Shanks & Pottenger write that since 1970 most of Ontario has been like +-# Toronto. +-# Thunder Bay skipped DST in 1973. +-# Many smaller locales did not observe peacetime DST until 1974; +-# Nipigon (EST) and Rainy River (CST) are the largest that we know of. +-# Far west Ontario is like Winnipeg; far east Quebec is like Halifax. +- +-# From Jeffery Nichols (2020-02-06): +-# According to the [Shanks] atlas, those western Ontario zones are huge, +-# covering most of Ontario northwest of Sault Ste Marie and Timmins. +-# The zones seem to include towns bigger than the ones they're named after, +-# like Dryden in America/Rainy_River and Wawa (and maybe Attawapiskat) in +-# America/Nipigon. I assume it's too much trouble to change the name of the +-# zone (like when you found out that America/Glace_Bay includes Sydney, Nova +-# Scotia).... +- + # From Mark Brader (2003-07-26): + # [According to the Toronto Star] Orillia, Ontario, adopted DST + # effective Saturday, 1912-06-22, 22:00; the article mentions that +@@ -1640,17 +1622,6 @@ + + # From Mark Brader (2010-03-06): + # +-# Currently the database has: +-# +-# # Ontario +-# +-# # From Paul Eggert (2006-07-09): +-# # Shanks & Pottenger write that since 1970 most of Ontario has been like +-# # Toronto. +-# # Thunder Bay skipped DST in 1973. +-# # Many smaller locales did not observe peacetime DST until 1974; +-# # Nipigon (EST) and Rainy River (CST) are the largest that we know of. +-# + # In the (Toronto) Globe and Mail for Saturday, 1955-09-24, in the bottom + # right corner of page 1, it says that Toronto will return to standard + # time at 2 am Sunday morning (which agrees with the database), and that: +@@ -1658,10 +1629,8 @@ + # The one-hour setback will go into effect throughout most of Ontario, + # except in areas like Windsor which remains on standard time all year. + # +-# Windsor is, of course, a lot larger than Nipigon. +-# +-# I only came across this incidentally. I don't know if Windsor began +-# observing DST when Detroit did, or in 1974, or on some other date. ++# ... I don't know if Windsor began observing DST when Detroit did, ++# or in 1974, or on some other date. + # + # By the way, the article continues by noting that: + # +@@ -1743,23 +1712,7 @@ + # Toronto Star, which said that DST was ending 1971-10-31 as usual. + Rule Toronto 1957 1973 - Oct lastSun 2:00 0 S + +-# From Paul Eggert (2003-07-27): +-# Willett (1914-03) writes (p. 17) "In the Cities of Fort William, and +-# Port Arthur, Ontario, the principle of the Bill has been in +-# operation for the past three years, and in the City of Moose Jaw, +-# Saskatchewan, for one year." +- +-# From David Bryan via Tory Tronrud, Director/Curator, +-# Thunder Bay Museum (2003-11-12): +-# There is some suggestion, however, that, by-law or not, daylight +-# savings time was being practiced in Fort William and Port Arthur +-# before 1909.... [I]n 1910, the line between the Eastern and Central +-# Time Zones was permanently moved about two hundred miles west to +-# include the Thunder Bay area.... When Canada adopted daylight +-# savings time in 1916, Fort William and Port Arthur, having done so +-# already, did not change their clocks.... During the Second World +-# War,... [t]he cities agreed to implement DST during the summer +-# months for the remainder of the war years. ++# The Bahamas match Toronto since 1970. + + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone America/Toronto -5:17:32 - LMT 1895 +@@ -1768,22 +1721,6 @@ + -5:00 Canada E%sT 1946 + -5:00 Toronto E%sT 1974 + -5:00 Canada E%sT +-Link America/Toronto America/Nassau +-Zone America/Thunder_Bay -5:57:00 - LMT 1895 +- -6:00 - CST 1910 +- -5:00 - EST 1942 +- -5:00 Canada E%sT 1970 +- -5:00 Toronto E%sT 1973 +- -5:00 - EST 1974 +- -5:00 Canada E%sT +-Zone America/Nipigon -5:53:04 - LMT 1895 +- -5:00 Canada E%sT 1940 Sep 29 +- -5:00 1:00 EDT 1942 Feb 9 2:00s +- -5:00 Canada E%sT +-Zone America/Rainy_River -6:18:16 - LMT 1895 +- -6:00 Canada C%sT 1940 Sep 29 +- -6:00 1:00 CDT 1942 Feb 9 2:00s +- -6:00 Canada C%sT + # For Atikokan see America/Panama. + + +@@ -2616,7 +2553,15 @@ + # 5- The islands, reefs and keys shall take their timezone from the + # longitude they are located at. + ++# From Paul Eggert (2022-10-28): ++# The new Mexican law was published today: ++# https://www.dof.gob.mx/nota_detalle.php?codigo=5670045&fecha=28/10/2022 ++# This abolishes DST except where US DST rules are observed, ++# and in addition changes all of Chihuahua to -06 with no DST. ++ + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S ++Rule Mexico 1931 only - May 1 23:00 1:00 D ++Rule Mexico 1931 only - Oct 1 0:00 0 S + Rule Mexico 1939 only - Feb 5 0:00 1:00 D + Rule Mexico 1939 only - Jun 25 0:00 0 S + Rule Mexico 1940 only - Dec 9 0:00 1:00 D +@@ -2629,17 +2574,17 @@ + Rule Mexico 1996 2000 - Oct lastSun 2:00 0 S + Rule Mexico 2001 only - May Sun>=1 2:00 1:00 D + Rule Mexico 2001 only - Sep lastSun 2:00 0 S +-Rule Mexico 2002 max - Apr Sun>=1 2:00 1:00 D +-Rule Mexico 2002 max - Oct lastSun 2:00 0 S ++Rule Mexico 2002 2022 - Apr Sun>=1 2:00 1:00 D ++Rule Mexico 2002 2022 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] + # Quintana Roo; represented by Cancún +-Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 0:12:56 ++Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 6:00u + -6:00 - CST 1981 Dec 23 + -5:00 Mexico E%sT 1998 Aug 2 2:00 + -6:00 Mexico C%sT 2015 Feb 1 2:00 + -5:00 - EST + # Campeche, Yucatán; represented by Mérida +-Zone America/Merida -5:58:28 - LMT 1922 Jan 1 0:01:32 ++Zone America/Merida -5:58:28 - LMT 1922 Jan 1 6:00u + -6:00 - CST 1981 Dec 23 + -5:00 - EST 1982 Dec 2 + -6:00 Mexico C%sT +@@ -2653,23 +2598,21 @@ + # See: Inicia mañana Horario de Verano en zona fronteriza, El Universal, + # 2016-03-12 + # http://www.eluniversal.com.mx/articulo/estados/2016/03/12/inicia-manana-horario-de-verano-en-zona-fronteriza +-Zone America/Matamoros -6:40:00 - LMT 1921 Dec 31 23:20:00 ++Zone America/Matamoros -6:30:00 - LMT 1922 Jan 1 6:00u + -6:00 - CST 1988 + -6:00 US C%sT 1989 + -6:00 Mexico C%sT 2010 + -6:00 US C%sT + # Durango; Coahuila, Nuevo León, Tamaulipas (away from US border) +-Zone America/Monterrey -6:41:16 - LMT 1921 Dec 31 23:18:44 ++Zone America/Monterrey -6:41:16 - LMT 1922 Jan 1 6:00u + -6:00 - CST 1988 + -6:00 US C%sT 1989 + -6:00 Mexico C%sT + # Central Mexico +-Zone America/Mexico_City -6:36:36 - LMT 1922 Jan 1 0:23:24 ++Zone America/Mexico_City -6:36:36 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1927 Jun 10 23:00 + -6:00 - CST 1930 Nov 15 +- -7:00 - MST 1931 May 1 23:00 +- -6:00 - CST 1931 Oct +- -7:00 - MST 1932 Apr 1 ++ -7:00 Mexico M%sT 1932 Apr 1 + -6:00 Mexico C%sT 2001 Sep 30 2:00 + -6:00 - CST 2002 Feb 20 + -6:00 Mexico C%sT +@@ -2677,35 +2620,31 @@ + # This includes the municipalities of Janos, Ascensión, Juárez, Guadalupe, + # Práxedis G Guerrero, Coyame del Sotol, Ojinaga, and Manuel Benavides. + # (See the 2016-03-12 El Universal source mentioned above.) +-Zone America/Ojinaga -6:57:40 - LMT 1922 Jan 1 0:02:20 ++Zone America/Ojinaga -6:57:40 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1927 Jun 10 23:00 + -6:00 - CST 1930 Nov 15 +- -7:00 - MST 1931 May 1 23:00 +- -6:00 - CST 1931 Oct +- -7:00 - MST 1932 Apr 1 ++ -7:00 Mexico M%sT 1932 Apr 1 + -6:00 - CST 1996 + -6:00 Mexico C%sT 1998 + -6:00 - CST 1998 Apr Sun>=1 3:00 + -7:00 Mexico M%sT 2010 +- -7:00 US M%sT ++ -7:00 US M%sT 2022 Oct 30 2:00 ++ -6:00 - CST + # Chihuahua (away from US border) +-Zone America/Chihuahua -7:04:20 - LMT 1921 Dec 31 23:55:40 ++Zone America/Chihuahua -7:04:20 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1927 Jun 10 23:00 + -6:00 - CST 1930 Nov 15 +- -7:00 - MST 1931 May 1 23:00 +- -6:00 - CST 1931 Oct +- -7:00 - MST 1932 Apr 1 ++ -7:00 Mexico M%sT 1932 Apr 1 + -6:00 - CST 1996 + -6:00 Mexico C%sT 1998 + -6:00 - CST 1998 Apr Sun>=1 3:00 +- -7:00 Mexico M%sT ++ -7:00 Mexico M%sT 2022 Oct 30 2:00 ++ -6:00 - CST + # Sonora +-Zone America/Hermosillo -7:23:52 - LMT 1921 Dec 31 23:36:08 ++Zone America/Hermosillo -7:23:52 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1927 Jun 10 23:00 + -6:00 - CST 1930 Nov 15 +- -7:00 - MST 1931 May 1 23:00 +- -6:00 - CST 1931 Oct +- -7:00 - MST 1932 Apr 1 ++ -7:00 Mexico M%sT 1932 Apr 1 + -6:00 - CST 1942 Apr 24 + -7:00 - MST 1949 Jan 14 + -8:00 - PST 1970 +@@ -2740,24 +2679,20 @@ + # Use "Bahia_Banderas" to keep the name to fourteen characters. + + # Mazatlán +-Zone America/Mazatlan -7:05:40 - LMT 1921 Dec 31 23:54:20 ++Zone America/Mazatlan -7:05:40 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1927 Jun 10 23:00 + -6:00 - CST 1930 Nov 15 +- -7:00 - MST 1931 May 1 23:00 +- -6:00 - CST 1931 Oct +- -7:00 - MST 1932 Apr 1 ++ -7:00 Mexico M%sT 1932 Apr 1 + -6:00 - CST 1942 Apr 24 + -7:00 - MST 1949 Jan 14 + -8:00 - PST 1970 + -7:00 Mexico M%sT + + # Bahía de Banderas +-Zone America/Bahia_Banderas -7:01:00 - LMT 1921 Dec 31 23:59:00 ++Zone America/Bahia_Banderas -7:01:00 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1927 Jun 10 23:00 + -6:00 - CST 1930 Nov 15 +- -7:00 - MST 1931 May 1 23:00 +- -6:00 - CST 1931 Oct +- -7:00 - MST 1932 Apr 1 ++ -7:00 Mexico M%sT 1932 Apr 1 + -6:00 - CST 1942 Apr 24 + -7:00 - MST 1949 Jan 14 + -8:00 - PST 1970 +@@ -2765,7 +2700,7 @@ + -6:00 Mexico C%sT + + # Baja California +-Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56 ++Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1924 + -8:00 - PST 1927 Jun 10 23:00 + -7:00 - MST 1930 Nov 15 +@@ -2802,20 +2737,16 @@ + # http://dof.gob.mx/nota_detalle.php?codigo=5127480&fecha=06/01/2010 + # It has been moved to the 'backward' file. + # ++# From Paul Eggert (2022-10-28): ++# Today's new law states that the entire state of Baja California ++# follows US DST rules, which agrees with simplifications noted above. ++# + # + # Revillagigedo Is + # no information + + ############################################################################### + +-# Anguilla +-# Antigua and Barbuda +-# See America/Puerto_Rico. +- +-# The Bahamas +-# See America/Toronto. +- +- + # Barbados + + # For 1899 Milne gives -3:58:29.2. +@@ -3028,12 +2959,6 @@ + -4:00 Canada A%sT 1976 + -4:00 US A%sT + +-# Caribbean Netherlands +-# See America/Puerto_Rico. +- +-# Cayman Is +-# See America/Panama. +- + # Costa Rica + + # Milne gives -5:36:13.3 as San José mean time. +@@ -3259,9 +3184,6 @@ + -5:29:36 - HMT 1925 Jul 19 12:00 # Havana MT + -5:00 Cuba C%sT + +-# Dominica +-# See America/Puerto_Rico. +- + # Dominican Republic + + # From Steffen Thorsen (2000-10-30): +@@ -3308,12 +3230,6 @@ + Zone America/El_Salvador -5:56:48 - LMT 1921 # San Salvador + -6:00 Salv C%sT + +-# Grenada +-# Guadeloupe +-# St Barthélemy +-# St Martin (French part) +-# See America/Puerto_Rico. +- + # Guatemala + # + # From Gwillim Law (2006-04-22), after a heads-up from Oscar van Vlijmen: +@@ -3499,9 +3415,6 @@ + -4:00 1:00 ADT 1980 Sep 28 + -4:00 - AST + +-# Montserrat +-# See America/Puerto_Rico. +- + # Nicaragua + # + # This uses Shanks & Pottenger for times before 2005. +@@ -3567,44 +3480,39 @@ + -5:00 - EST 1997 + -6:00 Nic C%sT + ++# Cayman Is + # Panama ++# ++# Atikokan and Coral Harbour, Canada, match Panama since 1970. + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone America/Panama -5:18:08 - LMT 1890 + -5:19:36 - CMT 1908 Apr 22 # Colón Mean Time + -5:00 - EST +-Link America/Panama America/Atikokan +-Link America/Panama America/Cayman + ++# Anguilla ++# Antigua & Barbuda ++# Aruba ++# Caribbean Netherlands ++# Curaçao ++# Dominica ++# Grenada ++# Guadeloupe ++# Montserrat + # Puerto Rico ++# St Barthélemy ++# St Kitts-Nevis ++# Sint Maarten / St Martin ++# St Lucia ++# St Vincent & the Grenadines ++# Trinidad & Tobago ++# Virgin Is (UK & US) ++# + # There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'. + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan + -4:00 - AST 1942 May 3 + -4:00 US A%sT 1946 + -4:00 - AST +-Link America/Puerto_Rico America/Anguilla +-Link America/Puerto_Rico America/Antigua +-Link America/Puerto_Rico America/Aruba +-Link America/Puerto_Rico America/Curacao +-Link America/Puerto_Rico America/Blanc-Sablon # Quebec (Lower North Shore) +-Link America/Puerto_Rico America/Dominica +-Link America/Puerto_Rico America/Grenada +-Link America/Puerto_Rico America/Guadeloupe +-Link America/Puerto_Rico America/Kralendijk # Caribbean Netherlands +-Link America/Puerto_Rico America/Lower_Princes # Sint Maarten +-Link America/Puerto_Rico America/Marigot # St Martin (French part) +-Link America/Puerto_Rico America/Montserrat +-Link America/Puerto_Rico America/Port_of_Spain # Trinidad & Tobago +-Link America/Puerto_Rico America/St_Barthelemy # St Barthélemy +-Link America/Puerto_Rico America/St_Kitts # St Kitts & Nevis +-Link America/Puerto_Rico America/St_Lucia +-Link America/Puerto_Rico America/St_Thomas # Virgin Islands (US) +-Link America/Puerto_Rico America/St_Vincent +-Link America/Puerto_Rico America/Tortola # Virgin Islands (UK) +- +-# St Kitts-Nevis +-# St Lucia +-# See America/Puerto_Rico. + + # St Pierre and Miquelon + # There are too many St Pierres elsewhere, so we'll use 'Miquelon'. +@@ -3614,12 +3522,6 @@ + -3:00 - -03 1987 + -3:00 Canada -03/-02 + +-# St Vincent and the Grenadines +-# See America/Puerto_Rico. +- +-# Sint Maarten +-# See America/Puerto_Rico. +- + # Turks and Caicos + # + # From Chris Dunn in +@@ -3689,11 +3591,6 @@ + -4:00 - AST 2018 Mar 11 3:00 + -5:00 US E%sT + +-# British Virgin Is +-# US Virgin Is +-# See America/Puerto_Rico. +- +- + # Local Variables: + # coding: utf-8 + # End: +--- contrib/tzdata/pacificnew.orig ++++ contrib/tzdata/pacificnew +@@ -1,29 +0,0 @@ +-# tzdb data for proposed US election time (this file is obsolete) +- +-# This file is in the public domain, so clarified as of +-# 2009-05-17 by Arthur David Olson. +- +-# From Arthur David Olson (1989-04-05): +-# On 1989-04-05, the U. S. House of Representatives passed (238-154) a bill +-# establishing "Pacific Presidential Election Time"; it was not acted on +-# by the Senate or signed into law by the President. +-# You might want to change the "PE" (Presidential Election) below to +-# "Q" (Quadrennial) to maintain three-character zone abbreviations. +-# If you're really conservative, you might want to change it to "D". +-# Avoid "L" (Leap Year), which won't be true in 2100. +- +-# If Presidential Election Time is ever established, replace "XXXX" below +-# with the year the law takes effect and uncomment the "##" lines. +- +-# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-## Rule Twilite XXXX max - Apr Sun>=1 2:00 1:00 D +-## Rule Twilite XXXX max uspres Oct lastSun 2:00 1:00 PE +-## Rule Twilite XXXX max uspres Nov Sun>=7 2:00 0 S +-## Rule Twilite XXXX max nonpres Oct lastSun 2:00 0 S +- +-# Zone NAME STDOFF RULES/SAVE FORMAT [UNTIL] +-## Zone America/Los_Angeles-PET -8:00 US P%sT XXXX +-## -8:00 Twilite P%sT +- +-# For now... +-Link America/Los_Angeles US/Pacific-New ## +--- contrib/tzdata/southamerica.orig ++++ contrib/tzdata/southamerica +@@ -585,9 +585,6 @@ + -3:00 Arg -03/-02 2008 Oct 18 + -3:00 - -03 + +-# Aruba +-# See America/Puerto_Rico. +- + # Bolivia + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone America/La_Paz -4:32:36 - LMT 1890 +@@ -1309,8 +1306,14 @@ + # for America/Santiago will start on midnight of September 11th; + # and will end on April 1st, 2023. Magallanes region (America/Punta_Arenas) + # will keep UTC -3 "indefinitely"... This is because on September 4th +-# we will have a voting whether to approve a new Constitution.... +-# https://www.interior.gob.cl/noticias/2022/08/09/comunicado-el-proximo-sabado-10-de-septiembre-los-relojes-se-deben-adelantar-una-hora/ ++# we will have a voting whether to approve a new Constitution. ++# ++# From Eduardo Romero Urra (2022-08-17): ++# https://www.diariooficial.interior.gob.cl/publicaciones/2022/08/13/43327/01/2172567.pdf ++# ++# From Paul Eggert (2022-08-17): ++# Although the presidential decree stops at fall 2026, assume that ++# similar DST rules will continue thereafter. + + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule Chile 1927 1931 - Sep 1 0:00 1:00 - +@@ -1426,15 +1429,6 @@ + # Malpelo, Providencia, San Andres + # no information; probably like America/Bogota + +-# Curaçao +-# See America/Puerto_Rico. +-# +-# From Arthur David Olson (2011-06-15): +-# use links for places with new iso3166 codes. +-# The name "Lower Prince's Quarter" is both longer than fourteen characters +-# and contains an apostrophe; use "Lower_Princes".... +-# From Paul Eggert (2021-09-29): +-# These backward-compatibility links now are in the 'northamerica' file. + + # Ecuador + # +@@ -1750,9 +1744,6 @@ + -3:30 - -0330 1984 Oct + -3:00 - -03 + +-# Trinidad and Tobago +-# See America/Puerto_Rico. +- + # Uruguay + # From Paul Eggert (1993-11-18): + # Uruguay wins the prize for the strangest peacetime manipulation of the rules. +--- contrib/tzdata/systemv.orig ++++ contrib/tzdata/systemv +@@ -1,39 +0,0 @@ +-# tzdb data for System V rules (this file is obsolete) +- +-# This file is in the public domain, so clarified as of +-# 2009-05-17 by Arthur David Olson. +- +-# Old rules, should the need arise. +-# No attempt is made to handle Newfoundland, since it cannot be expressed +-# using the System V "TZ" scheme (half-hour offset), or anything outside +-# North America (no support for non-standard DST start/end dates), nor +-# the changes in the DST rules in the US after 1976 (which occurred after +-# the old rules were written). +-# +-# If you need the old rules, uncomment ## lines. +-# Compile this *without* leap second correction for true conformance. +- +-# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-Rule SystemV min 1973 - Apr lastSun 2:00 1:00 D +-Rule SystemV min 1973 - Oct lastSun 2:00 0 S +-Rule SystemV 1974 only - Jan 6 2:00 1:00 D +-Rule SystemV 1974 only - Nov lastSun 2:00 0 S +-Rule SystemV 1975 only - Feb 23 2:00 1:00 D +-Rule SystemV 1975 only - Oct lastSun 2:00 0 S +-Rule SystemV 1976 max - Apr lastSun 2:00 1:00 D +-Rule SystemV 1976 max - Oct lastSun 2:00 0 S +- +-# Zone NAME STDOFF RULES/SAVE FORMAT [UNTIL] +-## Zone SystemV/AST4ADT -4:00 SystemV A%sT +-## Zone SystemV/EST5EDT -5:00 SystemV E%sT +-## Zone SystemV/CST6CDT -6:00 SystemV C%sT +-## Zone SystemV/MST7MDT -7:00 SystemV M%sT +-## Zone SystemV/PST8PDT -8:00 SystemV P%sT +-## Zone SystemV/YST9YDT -9:00 SystemV Y%sT +-## Zone SystemV/AST4 -4:00 - AST +-## Zone SystemV/EST5 -5:00 - EST +-## Zone SystemV/CST6 -6:00 - CST +-## Zone SystemV/MST7 -7:00 - MST +-## Zone SystemV/PST8 -8:00 - PST +-## Zone SystemV/YST9 -9:00 - YST +-## Zone SystemV/HST10 -10:00 - HST +--- contrib/tzdata/theory.html.orig ++++ contrib/tzdata/theory.html +@@ -329,6 +329,7 @@ + These legacy names are mostly defined in the file + 'etcetera'. + Also, the file 'backward' defines the legacy names ++'Etc/GMT0', 'Etc/GMT-0', 'Etc/GMT+0', + 'GMT0', 'GMT-0' and 'GMT+0', + and the file 'northamerica' defines the legacy names + 'EST5EDT', 'CST6CDT', +--- contrib/tzdata/version.orig ++++ contrib/tzdata/version +@@ -1 +1 @@ +-2022c ++2022f +--- contrib/tzdata/yearistype.sh.orig ++++ contrib/tzdata/yearistype.sh +@@ -1,39 +0,0 @@ +-#! /bin/sh +-: 'Determine whether year is of appropriate type (this file is obsolete).' +- +-: 'This file is in the public domain, so clarified as of' +-: '2006-07-17 by Arthur David Olson.' +- +-case $#-$1 in +- 2-|2-0*|2-*[!0-9]*) +- echo "$0: wild year: $1" >&2 +- exit 1 ;; +-esac +- +-case $#-$2 in +- 2-even) +- case $1 in +- *[24680]) exit 0 ;; +- *) exit 1 ;; +- esac ;; +- 2-nonpres|2-nonuspres) +- case $1 in +- *[02468][048]|*[13579][26]) exit 1 ;; +- *) exit 0 ;; +- esac ;; +- 2-odd) +- case $1 in +- *[13579]) exit 0 ;; +- *) exit 1 ;; +- esac ;; +- 2-uspres) +- case $1 in +- *[02468][048]|*[13579][26]) exit 0 ;; +- *) exit 1 ;; +- esac ;; +- 2-*) +- echo "$0: wild type: $2" >&2 ;; +-esac +- +-echo "$0: usage is $0 year even|odd|uspres|nonpres|nonuspres" >&2 +-exit 1 +--- contrib/tzdata/ziguard.awk.orig ++++ contrib/tzdata/ziguard.awk +@@ -15,6 +15,9 @@ + # after main became rearguard and vanguard became main). + # There is no need to convert rearguard to other forms. + # ++# When converting to vanguard form, the output can use the line ++# "Zone GMT 0 - GMT" which TZUpdater 2.3.2 mistakenly rejects. ++# + # When converting to vanguard form, the output can use negative SAVE + # values. + # +@@ -151,6 +154,17 @@ + } + } + ++ # In vanguard form, use the line "Zone GMT 0 - GMT" instead of ++ # "Zone Etc/GMT 0 - GMT" and adjust Link lines accordingly. ++ # This works around a bug in TZUpdater 2.3.2. ++ if (/^#?(Zone|Link)[\t ]+(Etc\/)?GMT[\t ]/) { ++ if (($2 == "GMT") == (DATAFORM == "vanguard")) { ++ uncomment = in_comment ++ } else { ++ comment_out = !in_comment ++ } ++ } ++ + if (uncomment) { + sub(/^#/, "") + } +@@ -297,6 +311,39 @@ + } + } + ++# Return a link line resulting by changing OLDLINE to link to TARGET ++# from LINKNAME, instead of linking to OLDTARGET from LINKNAME. ++# Align data columns the same as they were in OLDLINE. ++# Also, replace any existing white space followed by comment with COMMENT. ++function make_linkline(oldline, target, linkname, oldtarget, comment, \ ++ oldprefix, oldprefixlen, oldtargettabs, \ ++ replsuffix, targettabs) ++{ ++ oldprefix = "Link\t" oldtarget "\t" ++ oldprefixlen = length(oldprefix) ++ if (substr(oldline, 1, oldprefixlen) == oldprefix) { ++ # Use tab stops to preserve LINKNAME's column. ++ replsuffix = substr(oldline, oldprefixlen + 1) ++ sub(/[\t ]*#.*/, "", replsuffix) ++ oldtargettabs = int(length(oldtarget) / 8) + 1 ++ targettabs = int(length(target) / 8) + 1 ++ for (; targettabs < oldtargettabs; targettabs++) { ++ replsuffix = "\t" replsuffix ++ } ++ for (; oldtargettabs < targettabs && replsuffix ~ /^\t/; targettabs--) { ++ replsuffix = substr(replsuffix, 2) ++ } ++ } else { ++ # Odd format line; don't bother lining up its replacement nicely. ++ replsuffix = linkname ++ } ++ return "Link\t" target "\t" replsuffix comment ++} ++ ++/^Link/ && $4 == "#=" && DATAFORM == "vanguard" { ++ $0 = make_linkline($0, $5, $3, $2) ++} ++ + # If a Link line is followed by a Link or Zone line for the same data, comment + # out the Link line. This can happen if backzone overrides a Link + # with a Zone or a different Link. +@@ -306,11 +353,34 @@ + /^Link/ { + sub(/^Link/, "#Link", line[linkline[$3]]) + linkline[$3] = NR ++ linktarget[$3] = $2 + } + + { line[NR] = $0 } + ++function cut_link_chains_short( \ ++ l, linkname, t, target) ++{ ++ for (linkname in linktarget) { ++ target = linktarget[linkname] ++ t = linktarget[target] ++ if (t) { ++ # TARGET is itself a link name. Replace the line "Link TARGET LINKNAME" ++ # with "Link T LINKNAME #= TARGET", where T is at the end of the chain ++ # of links that LINKNAME points to. ++ while ((u = linktarget[t])) { ++ t = u ++ } ++ l = linkline[linkname] ++ line[l] = make_linkline(line[l], t, linkname, target, "\t#= " target) ++ } ++ } ++} ++ + END { ++ if (DATAFORM != "vanguard") { ++ cut_link_chains_short() ++ } + for (i = 1; i <= NR; i++) + print line[i] + } +--- contrib/tzdata/zone.tab.orig ++++ contrib/tzdata/zone.tab +@@ -114,13 +114,10 @@ + CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas) + CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore) + CA +4339-07923 America/Toronto Eastern - ON, QC (most areas) +-CA +4901-08816 America/Nipigon Eastern - ON, QC (no DST 1967-73) +-CA +4823-08915 America/Thunder_Bay Eastern - ON (Thunder Bay) + CA +6344-06828 America/Iqaluit Eastern - NU (most east areas) + CA +6608-06544 America/Pangnirtung Eastern - NU (Pangnirtung) + CA +484531-0913718 America/Atikokan EST - ON (Atikokan); NU (Coral H) + CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba +-CA +4843-09434 America/Rainy_River Central - ON (Rainy R, Ft Frances) + CA +744144-0944945 America/Resolute Central - NU (Resolute) + CA +624900-0920459 America/Rankin_Inlet Central - NU (central) + CA +5024-10439 America/Regina CST - SK (most areas) +@@ -401,8 +398,6 @@ + TW +2503+12130 Asia/Taipei + TZ -0648+03917 Africa/Dar_es_Salaam + UA +5026+03031 Europe/Kyiv Ukraine (most areas) +-UA +4837+02218 Europe/Uzhgorod Transcarpathia +-UA +4750+03510 Europe/Zaporozhye Zaporozhye and east Lugansk + UG +0019+03225 Africa/Kampala + UM +2813-17722 Pacific/Midway Midway Islands + UM +1917+16637 Pacific/Wake Wake Island +--- contrib/tzdata/zone1970.tab.orig ++++ contrib/tzdata/zone1970.tab +@@ -103,12 +103,9 @@ + CA +4606-06447 America/Moncton Atlantic - New Brunswick + CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas) + CA,BS +4339-07923 America/Toronto Eastern - ON, QC (most areas), Bahamas +-CA +4901-08816 America/Nipigon Eastern - ON, QC (no DST 1967-73) +-CA +4823-08915 America/Thunder_Bay Eastern - ON (Thunder Bay) + CA +6344-06828 America/Iqaluit Eastern - NU (most east areas) + CA +6608-06544 America/Pangnirtung Eastern - NU (Pangnirtung) + CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba +-CA +4843-09434 America/Rainy_River Central - ON (Rainy R, Ft Frances) + CA +744144-0944945 America/Resolute Central - NU (Resolute) + CA +624900-0920459 America/Rankin_Inlet Central - NU (central) + CA +5024-10439 America/Regina CST - SK (most areas) +@@ -313,8 +310,6 @@ + TR +4101+02858 Europe/Istanbul + TW +2503+12130 Asia/Taipei + UA +5026+03031 Europe/Kyiv Ukraine (most areas) +-UA +4837+02218 Europe/Uzhgorod Transcarpathia +-UA +4750+03510 Europe/Zaporozhye Zaporozhye and east Lugansk + US +404251-0740023 America/New_York Eastern (most areas) + US +421953-0830245 America/Detroit Eastern - MI (most areas) + US +381515-0854534 America/Kentucky/Louisville Eastern - KY (Louisville area) +--- contrib/tzdata/zoneinfo2tdf.pl.orig ++++ contrib/tzdata/zoneinfo2tdf.pl +@@ -1,53 +0,0 @@ +-#! /usr/bin/perl -w +-# Summarize .zi input in a .zi-like format. +- +-# Courtesy Ken Pizzini. +- +-use strict; +- +-#This file released to the public domain. +- +-# Note: error checking is poor; trust the output only if the input +-# has been checked by zic. +- +-my $contZone = ''; +-while (<>) { +- my $origline = $_; +- my @fields = (); +- while (s/^\s*((?:"[^"]*"|[^\s#])+)//) { +- push @fields, $1; +- } +- next unless @fields; +- +- my $type = lc($fields[0]); +- if ($contZone) { +- @fields >= 3 or warn "bad continuation line"; +- unshift @fields, '+', $contZone; +- $type = 'zone'; +- } +- +- $contZone = ''; +- if ($type eq 'zone') { +- # Zone NAME STDOFF RULES/SAVE FORMAT [UNTIL] +- my $nfields = @fields; +- $nfields >= 5 or warn "bad zone line"; +- if ($nfields > 6) { +- #this splice is optional, depending on one's preference +- #(one big date-time field, or componentized date and time): +- splice(@fields, 5, $nfields-5, "@fields[5..$nfields-1]"); +- } +- $contZone = $fields[1] if @fields > 5; +- } elsif ($type eq 'rule') { +- # Rule NAME FROM TO - IN ON AT SAVE LETTER/S +- @fields == 10 or warn "bad rule line"; +- } elsif ($type eq 'link') { +- # Link TARGET LINK-NAME +- @fields == 3 or warn "bad link line"; +- } elsif ($type eq 'leap') { +- # Leap YEAR MONTH DAY HH:MM:SS CORR R/S +- @fields == 7 or warn "bad leap line"; +- } else { +- warn "Fubar at input line $.: $origline"; +- } +- print join("\t", @fields), "\n"; +-} +--- etc/mtree/BSD.usr.dist.orig ++++ etc/mtree/BSD.usr.dist +@@ -1281,8 +1281,6 @@ + .. + Pacific + .. +- SystemV +- .. + US + .. + .. +--- share/zoneinfo/Makefile.orig ++++ share/zoneinfo/Makefile +@@ -30,7 +30,6 @@ + + .include + +-CLEANFILES+= yearistype + CLEANDIRS+= builddir + CONTRIBDIR= ${SRCTOP}/contrib/tzdata/ + .PATH: ${CONTRIBDIR} +@@ -48,7 +47,7 @@ + + TZFILES= africa antarctica asia australasia etcetera europe \ + factory northamerica southamerica +-TZFILES+= backward systemv ++TZFILES+= backward + POSIXRULES= America/New_York + + TZFILES:= ${TZFILES:S/^/${CONTRIBDIR}/} +@@ -68,8 +67,7 @@ + Etc \ + Europe \ + Indian \ +- Pacific \ +- SystemV ++ Pacific + TZBUILDSUBDIRS+= US Mexico Chile Canada Brazil + + .if !defined(_SKIP_BUILD) +@@ -77,12 +75,12 @@ + .endif + META_TARGETS+= zoneinfo install-zoneinfo + +-zoneinfo: yearistype ${TDATA} ++zoneinfo: ${TDATA} + mkdir -p ${TZBUILDDIR} + cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS} + umask 022; cd ${.CURDIR}; \ + zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ +- ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} ++ ${LEAPFILE} ${TZFILES} + + # + # Sort TZS to ensure they are the same every build. find -s might diff --git a/website/static/security/patches/EN-22:22/tzdata-2022f.12.patch.asc b/website/static/security/patches/EN-22:22/tzdata-2022f.12.patch.asc new file mode 100644 index 0000000000..3545bd45e2 --- /dev/null +++ b/website/static/security/patches/EN-22:22/tzdata-2022f.12.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhlqQACgkQ05eS9J6n +5cIR+A/9GqjJmh/mp8v6vMbDBsngUZD9nE0nSfsVd+THaSZnWbWonU8T0Hs0WY2n +Ne5awnyz+bE+XxWHX1WR7fokHbnlvrMreT4a6mNfs3PmYZEudh3lhmTp2YlSpdZX +ZHJ6+O1Y+2GHBP5iANRa8yuBDzoprXBwcsymvD3DOTCd3WKEWkHND8BM7eOTtMaz +bqbgEqmkGcqEWhd0IdULlUybU8lkCfWtkEN4YF+nOkfIEjK9eYq+ZK2LXG9QQgCR +6XCWVYKzcx2lkOAIT+O2F7cd1rs+MvseoIikN+YdLNt1wnwho41nZ7IugYMGnCWe ++lRCED9DAORO2dHLYhHS/Ke/62VmPGsrWKFXTabNLchMMlMeng85Ay9qlQK6g5nu +k31Z9AoFVSEV6NuoxNU90I4qxBCzqsmeFK2UU/KqDAjQp5W+6uUXV0x032OhuMLo +R3+ge1NhcgwM1ZnWgRJn1xwlEMEBaO2/KlfJmaP3vrTNK4mCpOVl95qqief0bY6x +6LlHLF4PaM+IB0Nw4itV69fiGN+uC8ySxhmFqPEJvmDnsqiNzSbQSZ3Lw1h6jZJT +FKFfwPX2WRlT+CV0ZZYIsl3xWkwqlAvMTa7rxuum1cccpKitxk58Zjyvyj06Xq9R +hqHBzkVx4s6inE9dfwktVMYCvHDB+aSV3imnRK3o4zPiYt4u3WI= +=OdMJ +-----END PGP SIGNATURE----- diff --git a/website/static/security/patches/EN-22:22/tzdata-2022f.13.patch b/website/static/security/patches/EN-22:22/tzdata-2022f.13.patch new file mode 100644 index 0000000000..4f5ecadfd8 --- /dev/null +++ b/website/static/security/patches/EN-22:22/tzdata-2022f.13.patch @@ -0,0 +1,3183 @@ +--- ObsoleteFiles.inc.orig ++++ ObsoleteFiles.inc +@@ -12636,6 +12636,7 @@ + OLD_FILES+=usr/share/zoneinfo/SystemV/AST4ADT + OLD_FILES+=usr/share/zoneinfo/SystemV/CST6 + OLD_FILES+=usr/share/zoneinfo/SystemV/AST4 ++OLD_DIRS+=usr/share/zoneinfo/SystemV + OLD_FILES+=usr/share/doc/ntp/accopt.htm + OLD_FILES+=usr/share/doc/ntp/assoc.htm + OLD_FILES+=usr/share/doc/ntp/audio.htm +--- contrib/tzdata/Makefile.orig ++++ contrib/tzdata/Makefile +@@ -210,7 +210,8 @@ + # -DHAVE_DECL_ENVIRON if declares 'environ' + # -DHAVE_DIRECT_H if mkdir needs (MS-Windows) + # -DHAVE_GENERIC=0 if _Generic does not work +-# -DHAVE_GETTEXT if 'gettext' works (e.g., GNU/Linux, FreeBSD, Solaris) ++# -DHAVE_GETRANDOM if getgrandom works (e.g., GNU/Linux)* ++# -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). +@@ -222,16 +223,17 @@ + # -DHAVE_MALLOC_ERRNO=0 if malloc etc. do not set errno on failure. + # -DHAVE_POSIX_DECLS=0 if your system's include files do not declare + # functions like 'link' or variables like 'tzname' required by POSIX ++# -DHAVE_SETENV=0 if your system lacks the setenv function + # -DHAVE_SNPRINTF=0 if your system lacks the snprintf function +-# -DHAVE_STDBOOL_H if you have a non-C99 compiler with +-# -DHAVE_STDINT_H if you have a non-C99 compiler with ++# -DHAVE_STDINT_H if you have a non-C99 compiler with * + # -DHAVE_STRFTIME_L if declares locale_t and strftime_l + # -DHAVE_STRDUP=0 if your system lacks the strdup function + # -DHAVE_STRTOLL=0 if your system lacks the strtoll function + # -DHAVE_SYMLINK=0 if your system lacks the symlink function +-# -DHAVE_SYS_STAT_H=0 if your compiler lacks a ++# -DHAVE_SYS_STAT_H=0 if your compiler lacks a * + # -DHAVE_TZSET=0 if your system lacks a tzset function +-# -DHAVE_UNISTD_H=0 if your compiler lacks a ++# -DHAVE_UNISTD_H=0 if your compiler lacks a * ++# -DHAVE_UTMPX_H=0 if your compiler lacks a * + # -Dlocale_t=XXX if your system uses XXX instead of locale_t + # -DRESERVE_STD_EXT_IDS if your platform reserves standard identifiers + # with external linkage, e.g., applications cannot define 'localtime'. +@@ -254,14 +256,17 @@ + # Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below. + # -DZIC_BLOAT_DEFAULT=\"fat\" to default zic's -b option to "fat", and + # similarly for "slim". Fat TZif files work around incompatibilities +-# and bugs in some TZif readers, notably readers that mishandle 64-bit +-# data in TZif files. Slim TZif files are more efficient and do not +-# work around these incompatibilities and bugs. If not given, the +-# default is "slim". ++# and bugs in some TZif readers, notably older ones that ++# ignore or otherwise mishandle 64-bit data in TZif files; ++# however, fat TZif files may trigger bugs in newer TZif readers. ++# Slim TZif files are more efficient, and are the default. + # -DZIC_MAX_ABBR_LEN_WO_WARN=3 + # (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 ++# ++# * Options marked "*" can be omitted if your compiler is C23 compatible. ++# + # Select instrumentation via "make GCC_INSTRUMENT='whatever'". + GCC_INSTRUMENT = \ + -fsanitize=undefined -fsanitize-address-use-after-scope \ +@@ -397,8 +402,9 @@ + + # To shrink the size of installed TZif files, + # append "-r @N" to omit data before N-seconds-after-the-Epoch. +-# To grow the files and work around older application bugs, append "-b fat"; +-# see ZIC_BLOAT_DEFAULT above. ++# To grow the files and work around bugs in older applications, ++# possibly at the expense of introducing bugs in newer ones, ++# append "-b fat"; see ZIC_BLOAT_DEFAULT above. + # See the zic man page for more about -b and -r. + ZFLAGS= + +@@ -818,13 +824,19 @@ + 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 +- $(AWK) '/^Link/ {print $$3}' backward | LC_ALL=C sort -cu ++ $(AWK) '/^Link/ {printf "%.5d %s\n", g, $$3} /^$$/ {g++}' \ ++ backward | LC_ALL=C sort -cu + $(AWK) '/^Zone/ {print $$2}' backzone | LC_ALL=C sort -cu + touch $@ + + check_links: checklinks.awk $(TDATA_TO_CHECK) tzdata.zi +- $(AWK) -f checklinks.awk $(TDATA_TO_CHECK) +- $(AWK) -f checklinks.awk tzdata.zi ++ $(AWK) \ ++ -v DATAFORM=$(DATAFORM) \ ++ -v backcheck=backward \ ++ -f checklinks.awk $(TDATA_TO_CHECK) ++ $(AWK) \ ++ -v DATAFORM=$(DATAFORM) \ ++ -f checklinks.awk tzdata.zi + touch $@ + + check_tables: checktab.awk $(YDATA) backward $(ZONETABLES) +--- contrib/tzdata/NEWS.orig ++++ contrib/tzdata/NEWS +@@ -1,5 +1,149 @@ + News for the tz database + ++Release 2022f - 2022-10-28 18:04:57 -0700 ++ ++ Briefly: ++ Mexico will no longer observe DST except near the US border. ++ Chihuahua moves to year-round -06 on 2022-10-30. ++ Fiji no longer observes DST. ++ Move links to 'backward'. ++ In vanguard form, GMT is now a Zone and Etc/GMT a link. ++ zic now supports links to links, and vanguard form uses this. ++ Simplify four Ontario zones. ++ Fix a Y2438 bug when reading TZif data. ++ Enable 64-bit time_t on 32-bit glibc platforms. ++ Omit large-file support when no longer needed. ++ In C code, use some C23 features if available. ++ Remove no-longer-needed workaround for Qt bug 53071. ++ ++ Changes to future timestamps. ++ ++ Mexico will no longer observe DST after 2022, except for areas ++ near the US border that continue to observe US DST rules. ++ On 2022-10-30 at 02:00 the Mexican state of Chihuahua moves ++ from -07 (-06 with DST) to year-round -06, thus not changing ++ its clocks that day. The new law states that Chihuahua ++ near the US border no longer observes US DST. ++ ++ Fiji will not observe DST in 2022/3. (Thanks to Shalvin Narayan.) ++ For now, assume DST is suspended indefinitely. ++ ++ Changes to data ++ ++ Move links to 'backward' to ease and simplify link maintenance. ++ This affects generated data only if you use 'make BACKWARD='. ++ ++ GMT is now a Zone and Etc/GMT a link instead of vice versa, ++ as GMT is needed for leap second support whereas Etc/GMT is not. ++ However, this change exposes a bug in TZUpdater 2.3.2 so it is ++ present only in vanguard form for now. ++ ++ Vanguard form now uses links to links, as zic now supports this. ++ ++ Changes to past timestamps ++ ++ Simplify four Ontario zones, as most of the post-1970 differences ++ seem to have been imaginary. (Problem reported by Chris Walton.) ++ Move America/Nipigon, America/Rainy_River, and America/Thunder_Bay ++ to 'backzone'; backward-compatibility links still work, albeit ++ with some different timestamps before November 2005. ++ ++ Changes to code ++ ++ zic now supports links to links regardless of input line order. ++ For example, if Australia/Sydney is a Zone, the lines ++ Link Australia/Canberra Australia/ACT ++ Link Australia/Sydney Australia/Canberra ++ now work correctly, even though the shell commands ++ ln Australia/Canberra Australia/ACT ++ ln Australia/Sydney Australia/Canberra ++ would fail because the first command attempts to use a link ++ Australia/Canberra that does not exist until after the second ++ command is executed. Previously, zic had unspecified behavior if ++ a Link line's target was another link, and zic often misbehaved if ++ a Link line's target was a later Link line. ++ ++ Fix line number in zic's diagnostic for a link to a link. ++ ++ Fix a bug that caused localtime to mishandle timestamps starting ++ in the year 2438 when reading data generated by 'zic -b fat' when ++ distant-future DST transitions occur at times given in standard ++ time or in UT, not the usual case of local time. This occurs when ++ the corresponding .zi Rule lines specify DST transitions with TO ++ columns of 'max' and AT columns that end in 's' or 'u'. The ++ number 2438 comes from the 32-bit limit in the year 2038, plus the ++ 400-year Gregorian cycle. (Problem reported by Bradley White.) ++ ++ On glibc 2.34 and later, which optionally supports 64-bit time_t ++ on platforms like x86 where time_t was traditionally 32 bits, ++ default time_t to 64 instead of 32 bits. This lets functions like ++ localtime support timestamps after the year 2038, and fixes ++ year-2038 problems in zic when accessing files dated after 2038. ++ To continue to limit time_t to 32 bits on these platforms, use ++ "make CFLAGS='-D_TIME_BITS=32'". ++ ++ In C code, do not enable large-file support on platforms like AIX ++ and macOS that no longer need it now that tzcode does not use ++ off_t or related functions like 'stat'. Large-file support is ++ still enabled by default on GNU/Linux, as it is needed for 64-bit ++ time_t support. ++ ++ In C code, prefer C23 keywords to pre-C23 macros for alignof, ++ bool, false, and true. Also, use the following C23 features if ++ available: __has_include, unreachable. ++ ++ zic no longer works around Qt bug 53071, as the relevant Qt ++ releases have been out of support since 2019. This change affects ++ only fat TZif files, as thin files never had the workaround. ++ ++ zdump no longer modifies the environ vector when compiled on ++ platforms lacking tm_zone or when compiled with -DUSE_LTZ=0. ++ This avoid undefined behavior on POSIX platforms. ++ ++ ++Release 2022e - 2022-10-11 11:13:02 -0700 ++ ++ Briefly: ++ Jordan and Syria switch from +02/+03 with DST to year-round +03. ++ ++ Changes to future timestamps ++ ++ Jordan and Syria are abandoning the DST regime and are changing to ++ permanent +03, so they will not fall back from +03 to +02 on ++ 2022-10-28. (Thanks to Steffen Thorsen and Issam Al-Zuwairi.) ++ ++ Changes to past timestamps ++ ++ On 1922-01-01 Tijuana adopted standard time at 00:00, not 01:00. ++ ++ Changes to past time zone abbreviations and DST flags ++ ++ The temporary advancement of clocks in central Mexico in summer ++ 1931 is now treated as daylight saving time, instead of as two ++ changes to standard time. ++ ++ ++Release 2022d - 2022-09-23 12:02:57 -0700 ++ ++ Briefly: ++ Palestine transitions are now Saturdays at 02:00. ++ Simplify three Ukraine zones into one. ++ ++ Changes to future timestamps ++ ++ Palestine now springs forward and falls back at 02:00 on the ++ first Saturday on or after March 24 and October 24, respectively. ++ This means 2022 falls back 10-29 at 02:00, not 10-28 at 01:00. ++ (Thanks to Heba Hamad.) ++ ++ Changes to past timestamps ++ ++ Simplify three Ukraine zones to one, since the post-1970 ++ differences seem to have been imaginary. Move Europe/Uzhgorod and ++ Europe/Zaporozhye to 'backzone'; backward-compatibility links ++ still work, albeit with different timestamps before October 1991. ++ ++ + Release 2022c - 2022-08-15 17:47:18 -0700 + + Briefly: +--- contrib/tzdata/africa.orig ++++ contrib/tzdata/africa +@@ -97,22 +97,6 @@ + 0:00 Algeria WE%sT 1981 May + 1:00 - CET + +-# Angola +-# Benin +-# See Africa/Lagos. +- +-# Botswana +-# See Africa/Maputo. +- +-# Burkina Faso +-# See Africa/Abidjan. +- +-# Burundi +-# See Africa/Maputo. +- +-# Cameroon +-# See Africa/Lagos. +- + # Cape Verde / Cabo Verde + # + # From Paul Eggert (2018-02-16): +@@ -127,9 +111,6 @@ + -2:00 - -02 1975 Nov 25 2:00 + -1:00 - -01 + +-# Central African Republic +-# See Africa/Lagos. +- + # Chad + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena +@@ -137,33 +118,29 @@ + 1:00 1:00 WAST 1980 Mar 8 + 1:00 - WAT + +-# Comoros +-# See Africa/Nairobi. +- +-# Democratic Republic of the Congo +-# See Africa/Lagos for the western part and Africa/Maputo for the eastern. ++# Burkina Faso ++# Côte d'Ivoire (Ivory Coast) ++# The Gambia ++# Ghana ++# Guinea ++# Iceland ++# Mali ++# Mauritania ++# St Helena ++# Senegal ++# Sierra Leone ++# Togo + +-# Republic of the Congo +-# See Africa/Lagos. ++# The other parts of the St Helena territory are similar: ++# Tristan da Cunha: on GMT, say Whitman and the CIA ++# Ascension: on GMT, say the USNO (1995-12-21) and the CIA ++# Gough (scientific station since 1955; sealers wintered previously): ++# on GMT, says the CIA ++# Inaccessible, Nightingale: uninhabited + +-# Côte d'Ivoire / Ivory Coast + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Africa/Abidjan -0:16:08 - LMT 1912 + 0:00 - GMT +-Link Africa/Abidjan Africa/Accra # Ghana +-Link Africa/Abidjan Africa/Bamako # Mali +-Link Africa/Abidjan Africa/Banjul # The Gambia +-Link Africa/Abidjan Africa/Conakry # Guinea +-Link Africa/Abidjan Africa/Dakar # Senegal +-Link Africa/Abidjan Africa/Freetown # Sierra Leone +-Link Africa/Abidjan Africa/Lome # Togo +-Link Africa/Abidjan Africa/Nouakchott # Mauritania +-Link Africa/Abidjan Africa/Ouagadougou # Burkina Faso +-Link Africa/Abidjan Atlantic/Reykjavik # Iceland +-Link Africa/Abidjan Atlantic/St_Helena # St Helena +- +-# Djibouti +-# See Africa/Nairobi. + + ############################################################################### + +@@ -359,33 +336,6 @@ + Zone Africa/Cairo 2:05:09 - LMT 1900 Oct + 2:00 Egypt EE%sT + +-# Equatorial Guinea +-# See Africa/Lagos. +- +-# Eritrea +-# See Africa/Nairobi. +- +-# Eswatini (formerly Swaziland) +-# See Africa/Johannesburg. +- +-# Ethiopia +-# See Africa/Nairobi. +-# +-# Unfortunately tzdb records only Western clock time in use in Ethiopia, +-# as the tzdb format is not up to properly recording a common Ethiopian +-# timekeeping practice that is based on solar time. See: +-# Mortada D. If you have a meeting in Ethiopia, you'd better double +-# check the time. PRI's The World. 2015-01-30 15:15 -05. +-# https://www.pri.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-better-double-check-time +- +-# Gabon +-# See Africa/Lagos. +- +-# The Gambia +-# Ghana +-# Guinea +-# See Africa/Abidjan. +- + # Guinea-Bissau + # + # From Paul Eggert (2018-02-16): +@@ -398,7 +348,16 @@ + -1:00 - -01 1975 + 0:00 - GMT + ++# Comoros ++# Djibouti ++# Eritrea ++# Ethiopia + # Kenya ++# Madagascar ++# Mayotte ++# Somalia ++# Tanzania ++# Uganda + + # From P Chan (2020-10-24): + # +@@ -441,6 +400,14 @@ + # The 1908-05-01 announcement does not give an effective date, + # so just say "1908 May". + ++# From Paul Eggert (2018-09-11): ++# Unfortunately tzdb records only Western clock time in use in Ethiopia, ++# as the tzdb format is not up to properly recording a common Ethiopian ++# timekeeping practice that is based on solar time. See: ++# Mortada D. If you have a meeting in Ethiopia, you'd better double ++# check the time. PRI's The World. 2015-01-30 15:15 -05. ++# https://www.pri.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-better-double-check-time ++ + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Africa/Nairobi 2:27:16 - LMT 1908 May + 2:30 - +0230 1928 Jun 30 24:00 +@@ -448,18 +415,6 @@ + 2:30 - +0230 1936 Dec 31 24:00 + 2:45 - +0245 1942 Jul 31 24:00 + 3:00 - EAT +-Link Africa/Nairobi Africa/Addis_Ababa # Ethiopia +-Link Africa/Nairobi Africa/Asmara # Eritrea +-Link Africa/Nairobi Africa/Dar_es_Salaam # Tanzania +-Link Africa/Nairobi Africa/Djibouti +-Link Africa/Nairobi Africa/Kampala # Uganda +-Link Africa/Nairobi Africa/Mogadishu # Somalia +-Link Africa/Nairobi Indian/Antananarivo # Madagascar +-Link Africa/Nairobi Indian/Comoro +-Link Africa/Nairobi Indian/Mayotte +- +-# Lesotho +-# See Africa/Johannesburg. + + # Liberia + # +@@ -540,16 +495,6 @@ + 1:00 Libya CE%sT 2013 Oct 25 2:00 + 2:00 - EET + +-# Madagascar +-# See Africa/Nairobi. +- +-# Malawi +-# See Africa/Maputo. +- +-# Mali +-# Mauritania +-# See Africa/Abidjan. +- + # Mauritius + + # From Steffen Thorsen (2008-06-25): +@@ -643,12 +588,6 @@ + # Agalega Is, Rodriguez + # no information; probably like Indian/Mauritius + +-# Mayotte +-# See Africa/Nairobi. +- +-# Morocco +-# See Africa/Ceuta for Spanish Morocco. +- + # From Alex Krivenyshev (2008-05-09): + # Here is an article that Morocco plan to introduce Daylight Saving Time between + # 1 June, 2008 and 27 September, 2008. +@@ -1137,7 +1076,14 @@ + 0:00 Morocco +00/+01 2018 Oct 28 3:00 + 1:00 Morocco +01/+00 + ++# Botswana ++# Burundi ++# Democratic Republic of the Congo (eastern) ++# Malawi + # Mozambique ++# Rwanda ++# Zambia ++# Zimbabwe + # + # Shanks gives 1903-03-01 for the transition to CAT. + # Perhaps the 1911-05-26 Portuguese decree +@@ -1147,14 +1093,6 @@ + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Africa/Maputo 2:10:20 - LMT 1903 Mar + 2:00 - CAT +-Link Africa/Maputo Africa/Blantyre # Malawi +-Link Africa/Maputo Africa/Bujumbura # Burundi +-Link Africa/Maputo Africa/Gaborone # Botswana +-Link Africa/Maputo Africa/Harare # Zimbabwe +-Link Africa/Maputo Africa/Kigali # Rwanda +-Link Africa/Maputo Africa/Lubumbashi # E Dem. Rep. of Congo +-Link Africa/Maputo Africa/Lusaka # Zambia +- + + # Namibia + +@@ -1233,9 +1171,16 @@ + # 2:00 - CAT + # End of rearguard section. + +-# Niger +-# See Africa/Lagos. + ++# Angola ++# Benin ++# Cameroon ++# Central African Republic ++# Democratic Republic of the Congo (western) ++# Republic of the Congo ++# Equatorial Guinea ++# Gabon ++# Niger + # Nigeria + + # From P Chan (2020-12-03): +@@ -1301,32 +1246,6 @@ + 0:13:35 - LMT 1914 Jan 1 + 0:30 - +0030 1919 Sep 1 + 1:00 - WAT +-Link Africa/Lagos Africa/Bangui # Central African Republic +-Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo +-Link Africa/Lagos Africa/Douala # Cameroon +-Link Africa/Lagos Africa/Kinshasa # Dem. Rep. of the Congo (west) +-Link Africa/Lagos Africa/Libreville # Gabon +-Link Africa/Lagos Africa/Luanda # Angola +-Link Africa/Lagos Africa/Malabo # Equatorial Guinea +-Link Africa/Lagos Africa/Niamey # Niger +-Link Africa/Lagos Africa/Porto-Novo # Benin +- +-# Réunion +-# See Asia/Dubai. +-# +-# The Crozet Islands also observe Réunion time; see the 'antarctica' file. +- +-# Rwanda +-# See Africa/Maputo. +- +-# St Helena +-# See Africa/Abidjan. +-# The other parts of the St Helena territory are similar: +-# Tristan da Cunha: on GMT, say Whitman and the CIA +-# Ascension: on GMT, say the USNO (1995-12-21) and the CIA +-# Gough (scientific station since 1955; sealers wintered previously): +-# on GMT, says the CIA +-# Inaccessible, Nightingale: uninhabited + + # São Tomé and Príncipe + +@@ -1355,19 +1274,10 @@ + 1:00 - WAT 2019 Jan 1 02:00 + 0:00 - GMT + +-# Senegal +-# See Africa/Abidjan. +- +-# Seychelles +-# See Asia/Dubai. +- +-# Sierra Leone +-# See Africa/Abidjan. +- +-# Somalia +-# See Africa/Nairobi. +- ++# Eswatini (Swaziland) ++# Lesotho + # South Africa ++ + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule SA 1942 1943 - Sep Sun>=15 2:00 1:00 - + Rule SA 1943 1944 - Mar Sun>=15 2:00 0 - +@@ -1375,8 +1285,6 @@ + Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8 + 1:30 - SAST 1903 Mar + 2:00 SA SAST +-Link Africa/Johannesburg Africa/Maseru # Lesotho +-Link Africa/Johannesburg Africa/Mbabane # Eswatini + # + # Marion and Prince Edward Is + # scientific station since 1947 +@@ -1425,12 +1333,6 @@ + 3:00 - EAT 2021 Feb 1 00:00 + 2:00 - CAT + +-# Tanzania +-# See Africa/Nairobi. +- +-# Togo +-# See Africa/Abidjan. +- + # Tunisia + + # From Gwillim Law (2005-04-30): +@@ -1528,10 +1430,3 @@ + Zone Africa/Tunis 0:40:44 - LMT 1881 May 12 + 0:09:21 - PMT 1911 Mar 11 # Paris Mean Time + 1:00 Tunisia CE%sT +- +-# Uganda +-# See Africa/Nairobi. +- +-# Zambia +-# Zimbabwe +-# See Africa/Maputo. +--- contrib/tzdata/antarctica.orig ++++ contrib/tzdata/antarctica +@@ -306,4 +306,4 @@ + # we have to go around and set them back 5 minutes or so. + # Maybe if we let them run fast all of the time, we'd get to leave here sooner!! + # +-# See 'australasia' for Antarctica/McMurdo. ++# See Pacific/Auckland. +--- contrib/tzdata/asia.orig ++++ contrib/tzdata/asia +@@ -149,9 +149,6 @@ + 4:00 EUAsia +04/+05 1997 + 4:00 Azer +04/+05 + +-# Bahrain +-# See Asia/Qatar. +- + # Bangladesh + # From Alexander Krivenyshev (2009-05-13): + # According to newspaper Asian Tribune (May 6, 2009) Bangladesh may introduce +@@ -254,10 +251,8 @@ + 5:00 - +05 1996 + 6:00 - +06 + +-# Brunei +-# See Asia/Kuching. +- +-# Burma / Myanmar ++# Cocos (Keeling) Islands ++# Myanmar (Burma) + + # Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon. + +@@ -273,11 +268,6 @@ + 6:30 - +0630 1942 May + 9:00 - +09 1945 May 3 + 6:30 - +0630 +-Link Asia/Yangon Indian/Cocos +- +-# Cambodia +-# See Asia/Bangkok. +- + + # China + +@@ -665,10 +655,9 @@ + 8:00 PRC C%sT + # Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi + # / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.) ++# Vostok base in Antarctica matches this since 1970. + Zone Asia/Urumqi 5:50:20 - LMT 1928 + 6:00 - +06 +-Link Asia/Urumqi Antarctica/Vostok +- + + # Hong Kong + +@@ -1172,10 +1161,6 @@ + 3:00 - +03 2017 Oct 29 1:00u + 2:00 EUAsia EE%sT + +-# Classically, Cyprus belongs to Asia; e.g. see Herodotus, Histories, I.72. +-# However, for various reasons many users expect to find it under Europe. +-Link Asia/Nicosia Europe/Nicosia +- + # Georgia + # From Paul Eggert (1994-11-19): + # Today's _Economist_ (p 60) reports that Georgia moved its clocks forward +@@ -2231,6 +2216,17 @@ + # From the Arabic version, it seems to say it would be at midnight + # (assume 24:00) on the last Thursday in February, starting from 2022. + ++# From Issam Al-Zuwairi (2022-10-05): ++# The Council of Ministers in Jordan decided Wednesday 5th October 2022, ++# that daylight saving time (DST) will be throughout the year.... ++# ++# From Brian Inglis (2022-10-06): ++# https://petra.gov.jo/Include/InnerPage.jsp?ID=45567&lang=en&name=en_news ++# ++# From Paul Eggert (2022-10-05): ++# Like Syria, model this as a transition from EEST +03 (DST) to plain +03 ++# (non-DST) at the point where DST would otherwise have ended. ++ + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule Jordan 1973 only - Jun 6 0:00 1:00 S + Rule Jordan 1973 1975 - Oct 1 0:00 0 - +@@ -2262,11 +2258,12 @@ + Rule Jordan 2006 2011 - Oct lastFri 0:00s 0 - + Rule Jordan 2013 only - Dec 20 0:00 0 - + Rule Jordan 2014 2021 - Mar lastThu 24:00 1:00 S +-Rule Jordan 2014 max - Oct lastFri 0:00s 0 - +-Rule Jordan 2022 max - Feb lastThu 24:00 1:00 S ++Rule Jordan 2014 2022 - Oct lastFri 0:00s 0 - ++Rule Jordan 2022 only - Feb lastThu 24:00 1:00 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Amman 2:23:44 - LMT 1931 +- 2:00 Jordan EE%sT ++ 2:00 Jordan EE%sT 2022 Oct 28 0:00s ++ 3:00 - +03 + + + # Kazakhstan +@@ -2692,14 +2689,6 @@ + 8:30 - KST 2018 May 4 23:30 + 9:00 - KST + +-############################################################################### +- +-# Kuwait +-# See Asia/Riyadh. +- +-# Laos +-# See Asia/Bangkok. +- + + # Lebanon + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S +@@ -2731,7 +2720,9 @@ + Zone Asia/Beirut 2:22:00 - LMT 1880 + 2:00 Lebanon EE%sT + +-# Malaysia ++# Brunei ++# Malaysia (eastern) ++# + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule NBorneo 1935 1941 - Sep 14 0:00 0:20 - + Rule NBorneo 1935 1941 - Dec 14 0:00 0 - +@@ -2748,14 +2739,12 @@ + 8:00 NBorneo +08/+0820 1942 Feb 16 + 9:00 - +09 1945 Sep 12 + 8:00 - +08 +-Link Asia/Kuching Asia/Brunei + + # Maldives + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Indian/Maldives 4:54:00 - LMT 1880 # Malé + 4:54:00 - MMT 1960 # Malé Mean Time + 5:00 - +05 +-Link Indian/Maldives Indian/Kerguelen + + # Mongolia + +@@ -2918,9 +2907,6 @@ + 5:30 - +0530 1986 + 5:45 - +0545 + +-# Oman +-# See Asia/Dubai. +- + # Pakistan + + # From Rives McDow (2002-03-13): +@@ -3375,10 +3361,6 @@ + # The winter time in 2015 started on October 23 at 01:00. + # https://wafa.ps/ar_page.aspx?id=CgpCdYa670694628582aCgpCdY + # http://www.palestinecabinet.gov.ps/portal/meeting/details/27583 +-# +-# From Paul Eggert (2019-04-10): +-# For now, guess spring-ahead transitions are at 00:00 on the Saturday +-# preceding March's last Sunday (i.e., Sat>=24). + + # From P Chan (2021-10-18): + # http://wafa.ps/Pages/Details/34701 +@@ -3395,6 +3377,18 @@ + # From Heba Hamad (2022-03-10): + # summer time will begin in Palestine from Sunday 03-27-2022, 00:00 AM. + ++# From Heba Hamad (2022-08-30): ++# winter time will begin in Palestine from Saturday 10-29, 02:00 AM by ++# 60 minutes backwards. Also the state of Palestine adopted the summer ++# and winter time for the years: 2023,2024,2025,2026 ... ++# https://mm.icann.org/pipermail/tz/attachments/20220830/9f024566/Time-0001.pdf ++# (2022-08-31): ... the Saturday before the last Sunday in March and October ++# at 2:00 AM ,for the years from 2023 to 2026. ++# (2022-09-05): https://mtit.pna.ps/Site/New/1453 ++# ++# From Paul Eggert (2022-08-31): ++# For now, assume that this rule will also be used after 2026. ++ + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule EgyptAsia 1957 only - May 10 0:00 1:00 S + Rule EgyptAsia 1957 1958 - Oct 1 0:00 0 - +@@ -3425,14 +3419,16 @@ + Rule Palestine 2014 only - Oct 24 0:00 0 - + Rule Palestine 2015 only - Mar 28 0:00 1:00 S + Rule Palestine 2015 only - Oct 23 1:00 0 - +-Rule Palestine 2016 2018 - Mar Sat>=24 1:00 1:00 S +-Rule Palestine 2016 2018 - Oct Sat>=24 1:00 0 - ++Rule Palestine 2016 2018 - Mar Sat<=30 1:00 1:00 S ++Rule Palestine 2016 2018 - Oct Sat<=30 1:00 0 - + Rule Palestine 2019 only - Mar 29 0:00 1:00 S +-Rule Palestine 2019 only - Oct Sat>=24 0:00 0 - +-Rule Palestine 2020 2021 - Mar Sat>=24 0:00 1:00 S ++Rule Palestine 2019 only - Oct Sat<=30 0:00 0 - ++Rule Palestine 2020 2021 - Mar Sat<=30 0:00 1:00 S + Rule Palestine 2020 only - Oct 24 1:00 0 - +-Rule Palestine 2021 max - Oct Fri>=23 1:00 0 - +-Rule Palestine 2022 max - Mar Sun>=25 0:00 1:00 S ++Rule Palestine 2021 only - Oct 29 1:00 0 - ++Rule Palestine 2022 only - Mar 27 0:00 1:00 S ++Rule Palestine 2022 max - Oct Sat<=30 2:00 0 - ++Rule Palestine 2023 max - Mar Sat<=30 2:00 1:00 S + + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Gaza 2:17:52 - LMT 1900 Oct +@@ -3521,14 +3517,18 @@ + 9:00 - JST 1944 Nov + 8:00 Phil P%sT + ++# Bahrain + # Qatar + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha + 4:00 - +04 1972 Jun + 3:00 - +03 +-Link Asia/Qatar Asia/Bahrain + ++# Kuwait + # Saudi Arabia ++# Yemen ++# ++# Japan's year-round bases in Antarctica match this since 1970. + # + # From Paul Eggert (2018-08-29): + # Time in Saudi Arabia and other countries in the Arabian peninsula was not +@@ -3573,9 +3573,6 @@ + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14 + 3:00 - +03 +-Link Asia/Riyadh Antarctica/Syowa +-Link Asia/Riyadh Asia/Aden # Yemen +-Link Asia/Riyadh Asia/Kuwait + + # Singapore + # taken from Mok Ly Yng (2003-10-30) +@@ -3590,7 +3587,6 @@ + 9:00 - +09 1945 Sep 12 + 7:30 - +0730 1982 Jan 1 + 8:00 - +08 +-Link Asia/Singapore Asia/Kuala_Lumpur + + # Spratly Is + # no information +@@ -3805,19 +3801,27 @@ + # Our brief summary: + # https://www.timeanddate.com/news/time/syria-dst-2012.html + +-# From Arthur David Olson (2012-03-27): +-# Assume last Friday in March going forward XXX. ++# From Steffen Thorsen (2022-10-05): ++# Syria is adopting year-round DST, starting this autumn.... ++# From https://www.enabbaladi.net/archives/607812 ++# "This [the decision] came after the weekly government meeting today, ++# Tuesday 4 October ..." ++# ++# From Paul Eggert (2022-10-05): ++# Like Jordan, model this as a transition from EEST +03 (DST) to plain +03 ++# (non-DST) at the point where DST would otherwise have ended. + + Rule Syria 2008 only - Apr Fri>=1 0:00 1:00 S + Rule Syria 2008 only - Nov 1 0:00 0 - + Rule Syria 2009 only - Mar lastFri 0:00 1:00 S + Rule Syria 2010 2011 - Apr Fri>=1 0:00 1:00 S +-Rule Syria 2012 max - Mar lastFri 0:00 1:00 S +-Rule Syria 2009 max - Oct lastFri 0:00 0 - ++Rule Syria 2012 2022 - Mar lastFri 0:00 1:00 S ++Rule Syria 2009 2022 - Oct lastFri 0:00 0 - + + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Damascus 2:25:12 - LMT 1920 # Dimashq +- 2:00 Syria EE%sT ++ 2:00 Syria EE%sT 2022 Oct 28 0:00 ++ 3:00 - +03 + + # Tajikistan + # From Shanks & Pottenger. +@@ -3828,14 +3832,15 @@ + 5:00 1:00 +06 1991 Sep 9 2:00s + 5:00 - +05 + ++# Cambodia ++# Christmas I ++# Laos + # Thailand ++# Vietnam (northern) + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Bangkok 6:42:04 - LMT 1880 + 6:42:04 - BMT 1920 Apr # Bangkok Mean Time + 7:00 - +07 +-Link Asia/Bangkok Asia/Phnom_Penh # Cambodia +-Link Asia/Bangkok Asia/Vientiane # Laos +-Link Asia/Bangkok Indian/Christmas + + # Turkmenistan + # From Shanks & Pottenger. +@@ -3846,13 +3851,15 @@ + 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00 + 5:00 - +05 + ++# Oman ++# Réunion ++# Seychelles + # United Arab Emirates ++# ++# The Crozet Is also observe Réunion time; see the 'antarctica' file. + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Asia/Dubai 3:41:12 - LMT 1920 + 4:00 - +04 +-Link Asia/Dubai Asia/Muscat # Oman +-Link Asia/Dubai Indian/Mahe +-Link Asia/Dubai Indian/Reunion + + # Uzbekistan + # Byalokoz 1919 says Uzbekistan was 4:27:53. +@@ -3872,7 +3879,7 @@ + 5:00 RussiaAsia +05/+06 1992 + 5:00 - +05 + +-# Vietnam ++# Vietnam (southern) + + # From Paul Eggert (2014-10-04): + # Milne gives 7:16:56 for the meridian of Saigon in 1899, as being +@@ -3946,7 +3953,3 @@ + # For timestamps in north Vietnam back to 1970 (the tzdb cutoff), + # use Asia/Bangkok; see the VN entries in the file zone1970.tab. + # For timestamps before 1970, see Asia/Hanoi in the file 'backzone'. +- +- +-# Yemen +-# See Asia/Riyadh. +--- contrib/tzdata/australasia.orig ++++ contrib/tzdata/australasia +@@ -251,13 +251,6 @@ + 10:00 1:00 AEDT 2011 + 10:00 AT AE%sT + +-# Christmas +-# See Asia/Bangkok. +- +-# Cocos (Keeling) Is +-# See Asia/Yangon. +- +- + # Fiji + + # Milne gives 11:55:44 for Suva. +@@ -393,8 +386,14 @@ + # concerned shifting arrival and departure times, which may look like a simple + # thing but requires some significant logistical adjustments domestically and + # internationally." +-# Assume for now that DST will resume with the recent pre-2020 rules for the +-# 2022/2023 season. ++ ++# From Shalvin Narayan (2022-10-27): ++# Please note that there will not be any daylight savings time change ++# in Fiji for 2022-2023.... ++# https://www.facebook.com/FijianGovernment/posts/pfbid0mmWVTYmTibn66ybpFda75pDcf34SSpoSaskJW5gXwaKo5Sgc7273Q4fXWc6kQV6Hl ++# ++# From Paul Eggert (2022-10-27): ++# For now, assume DST is suspended indefinitely. + + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 - +@@ -409,8 +408,6 @@ + Rule Fiji 2015 2021 - Jan Sun>=12 3:00 0 - + Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 - + Rule Fiji 2020 only - Dec 20 2:00 1:00 - +-Rule Fiji 2022 max - Nov Sun>=8 2:00 1:00 - +-Rule Fiji 2023 max - Jan Sun>=12 3:00 0 - + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva + 12:00 Fiji +12/+13 +@@ -426,7 +423,9 @@ + # Clipperton (near North America) is administered from French Polynesia; + # it is uninhabited. + ++ + # Guam ++# N Mariana Is + + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + # http://guamlegislature.com/Public_Laws_5th/PL05-025.pdf +@@ -466,17 +465,20 @@ + 9:00 - +09 1944 Jul 31 + 10:00 Guam G%sT 2000 Dec 23 + 10:00 - ChST # Chamorro Standard Time +-Link Pacific/Guam Pacific/Saipan # N Mariana Is + +-# Kiribati ++ ++# Kiribati (Gilbert Is) ++# Marshall Is ++# Tuvalu ++# Wake ++# Wallis & Futuna + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki + 12:00 - +12 +-Link Pacific/Tarawa Pacific/Funafuti +-Link Pacific/Tarawa Pacific/Majuro +-Link Pacific/Tarawa Pacific/Wake +-Link Pacific/Tarawa Pacific/Wallis + ++# Kiribati (except Gilbert Is) ++# See Pacific/Tarawa for the Gilbert Is. ++# Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Pacific/Kanton 0 - -00 1937 Aug 31 + -12:00 - -12 1979 Oct + -11:00 - -11 1994 Dec 31 +@@ -486,9 +488,6 @@ + -10:00 - -10 1994 Dec 31 + 14:00 - +14 + +-# N Mariana Is +-# See Pacific/Guam. +- + # Marshall Is + # See Pacific/Tarawa for most locations. + # Zone NAME STDOFF RULES FORMAT [UNTIL] +@@ -538,6 +537,7 @@ + ############################################################################### + + # New Zealand ++# McMurdo Station and Scott Base in Antarctica use Auckland time. + + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule NZ 1927 only - Nov 6 2:00 1:00 S +@@ -573,7 +573,6 @@ + Zone Pacific/Auckland 11:39:04 - LMT 1868 Nov 2 + 11:30 NZ NZ%sT 1946 Jan 1 + 12:00 NZ NZ%sT +-Link Pacific/Auckland Antarctica/McMurdo + + Zone Pacific/Chatham 12:13:48 - LMT 1868 Nov 2 + 12:15 - +1215 1946 Jan 1 +@@ -672,8 +671,6 @@ + Zone Pacific/Port_Moresby 9:48:40 - LMT 1880 + 9:48:32 - PMMT 1895 # Port Moresby Mean Time + 10:00 - +10 +-Link Pacific/Port_Moresby Antarctica/DumontDUrville +-Link Pacific/Port_Moresby Pacific/Chuuk + # + # From Paul Eggert (2014-10-13): + # Base the Bougainville entry on the Arawa-Kieta region, which appears to have +@@ -706,10 +703,10 @@ + -8:00 - -08 + + # American Samoa ++# Midway + Zone Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5 + -11:22:48 - LMT 1911 + -11:00 - SST # S=Samoa +-Link Pacific/Pago_Pago Pacific/Midway # in US minor outlying islands + + # Samoa (formerly and also known as Western Samoa) + +@@ -801,7 +798,6 @@ + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara + 11:00 - +11 +-Link Pacific/Guadalcanal Pacific/Pohnpei + + # Tokelau + # +@@ -841,9 +837,6 @@ + 13:00 - +13 1999 + 13:00 Tonga +13/+14 + +-# Tuvalu +-# See Pacific/Tarawa. +- + + # US minor outlying islands + +@@ -894,15 +887,9 @@ + # Kingman + # uninhabited + +-# Midway +-# See Pacific/Pago_Pago. +- + # Palmyra + # uninhabited since World War II; was probably like Pacific/Kiritimati + +-# Wake +-# See Pacific/Tarawa. +- + + # Vanuatu + +@@ -939,9 +926,6 @@ + Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila + 11:00 Vanuatu +11/+12 + +-# Wallis and Futuna +-# See Pacific/Tarawa. +- + ############################################################################### + + # NOTES +--- contrib/tzdata/backward.orig ++++ contrib/tzdata/backward +@@ -4,7 +4,7 @@ + # 2009-05-17 by Arthur David Olson. + + # This file provides links from old or merged timezone names to current ones. +-# Many names changed in late 1993, and many merged names moved here ++# Many names changed in 1993 and in 1995, and many merged names moved here + # in the period from 2013 through 2022. Several of these names are + # also present in the file 'backzone', which has data important only + # for pre-1970 timestamps and so is out of scope for tzdb proper. +@@ -13,50 +13,24 @@ + # building with 'make BACKWARD=', in practice downstream users + # typically use this file for backward compatibility. + +-# Link TARGET LINK-NAME +-Link Africa/Nairobi Africa/Asmera +-Link Africa/Abidjan Africa/Timbuktu +-Link America/Argentina/Catamarca America/Argentina/ComodRivadavia +-Link America/Adak America/Atka +-Link America/Argentina/Buenos_Aires America/Buenos_Aires +-Link America/Argentina/Catamarca America/Catamarca +-Link America/Panama America/Coral_Harbour +-Link America/Argentina/Cordoba America/Cordoba +-Link America/Tijuana America/Ensenada +-Link America/Indiana/Indianapolis America/Fort_Wayne +-Link America/Nuuk America/Godthab +-Link America/Indiana/Indianapolis America/Indianapolis +-Link America/Argentina/Jujuy America/Jujuy +-Link America/Indiana/Knox America/Knox_IN +-Link America/Kentucky/Louisville America/Louisville +-Link America/Argentina/Mendoza America/Mendoza +-Link America/Toronto America/Montreal +-Link America/Rio_Branco America/Porto_Acre +-Link America/Argentina/Cordoba America/Rosario +-Link America/Tijuana America/Santa_Isabel +-Link America/Denver America/Shiprock +-Link America/Puerto_Rico America/Virgin +-Link Pacific/Auckland Antarctica/South_Pole +-Link Asia/Ashgabat Asia/Ashkhabad +-Link Asia/Kolkata Asia/Calcutta +-Link Asia/Shanghai Asia/Chongqing +-Link Asia/Shanghai Asia/Chungking +-Link Asia/Dhaka Asia/Dacca +-Link Asia/Shanghai Asia/Harbin +-Link Asia/Urumqi Asia/Kashgar +-Link Asia/Kathmandu Asia/Katmandu +-Link Asia/Macau Asia/Macao +-Link Asia/Yangon Asia/Rangoon +-Link Asia/Ho_Chi_Minh Asia/Saigon +-Link Asia/Jerusalem Asia/Tel_Aviv +-Link Asia/Thimphu Asia/Thimbu +-Link Asia/Makassar Asia/Ujung_Pandang +-Link Asia/Ulaanbaatar Asia/Ulan_Bator +-Link Atlantic/Faroe Atlantic/Faeroe +-Link Europe/Berlin Atlantic/Jan_Mayen +-Link Australia/Sydney Australia/ACT +-Link Australia/Sydney Australia/Canberra +-Link Australia/Hobart Australia/Currie ++# This file is divided into sections, one for each major reason for a ++# backward compatibility link. Each section is sorted by link name. ++ ++# A "#= TARGET1" comment labels each link inserted only because some ++# .zi parsers (including tzcode through 2022e) mishandle links to links. ++# The comment says what the target would be if these parsers were fixed ++# so that data could contain links to links. For example, the line ++# "Link Australia/Sydney Australia/ACT #= Australia/Canberra" would be ++# "Link Australia/Canberra Australia/ACT" were it not that data lines ++# refrain from linking to links like Australia/Canberra, which means ++# the Australia/ACT line links instead to Australia/Sydney, ++# Australia/Canberra's target. ++ ++ ++# Pre-1993 naming conventions ++ ++# Link TARGET LINK-NAME #= TARGET1 ++Link Australia/Sydney Australia/ACT #= Australia/Canberra + Link Australia/Lord_Howe Australia/LHI + Link Australia/Sydney Australia/NSW + Link Australia/Darwin Australia/North +@@ -66,7 +40,7 @@ + Link Australia/Melbourne Australia/Victoria + Link Australia/Perth Australia/West + Link Australia/Broken_Hill Australia/Yancowinna +-Link America/Rio_Branco Brazil/Acre ++Link America/Rio_Branco Brazil/Acre #= America/Porto_Acre + Link America/Noronha Brazil/DeNoronha + Link America/Sao_Paulo Brazil/East + Link America/Manaus Brazil/West +@@ -86,18 +60,36 @@ + Link America/Havana Cuba + Link Africa/Cairo Egypt + Link Europe/Dublin Eire ++# Vanguard section, for most .zi parsers. ++#Link GMT Etc/GMT ++#Link GMT Etc/GMT+0 ++#Link GMT Etc/GMT-0 ++#Link GMT Etc/GMT0 ++#Link GMT Etc/Greenwich ++# Rearguard section, for TZUpdater 2.3.2 and earlier. ++Link Etc/GMT Etc/GMT+0 ++Link Etc/GMT Etc/GMT-0 ++Link Etc/GMT Etc/GMT0 ++Link Etc/GMT Etc/Greenwich ++# End of rearguard section. + Link Etc/UTC Etc/UCT +-Link Europe/London Europe/Belfast +-Link Europe/Kyiv Europe/Kiev +-Link Europe/Chisinau Europe/Tiraspol ++Link Etc/UTC Etc/Universal ++Link Etc/UTC Etc/Zulu + Link Europe/London GB + Link Europe/London GB-Eire ++# Vanguard section, for most .zi parsers. ++#Link GMT GMT+0 ++#Link GMT GMT-0 ++#Link GMT GMT0 ++#Link GMT Greenwich ++# Rearguard section, for TZUpdater 2.3.2 and earlier. + Link Etc/GMT GMT+0 + Link Etc/GMT GMT-0 + Link Etc/GMT GMT0 + Link Etc/GMT Greenwich ++# End of rearguard section. + Link Asia/Hong_Kong Hongkong +-Link Africa/Abidjan Iceland ++Link Africa/Abidjan Iceland #= Atlantic/Reykjavik + Link Asia/Tehran Iran + Link Asia/Jerusalem Israel + Link America/Jamaica Jamaica +@@ -109,14 +101,8 @@ + Link America/Mexico_City Mexico/General + Link Pacific/Auckland NZ + Link Pacific/Chatham NZ-CHAT +-Link America/Denver Navajo ++Link America/Denver Navajo #= America/Shiprock + Link Asia/Shanghai PRC +-Link Pacific/Kanton Pacific/Enderbury +-Link Pacific/Honolulu Pacific/Johnston +-Link Pacific/Guadalcanal Pacific/Ponape +-Link Pacific/Pago_Pago Pacific/Samoa +-Link Pacific/Port_Moresby Pacific/Truk +-Link Pacific/Port_Moresby Pacific/Yap + Link Europe/Warsaw Poland + Link Europe/Lisbon Portugal + Link Asia/Taipei ROC +@@ -140,3 +126,192 @@ + Link Etc/UTC Universal + Link Europe/Moscow W-SU + Link Etc/UTC Zulu ++ ++ ++# Two-part names that were renamed mostly to three-part names in 1995 ++ ++# Link TARGET LINK-NAME #= TARGET1 ++Link America/Argentina/Buenos_Aires America/Buenos_Aires ++Link America/Argentina/Catamarca America/Catamarca ++Link America/Argentina/Cordoba America/Cordoba ++Link America/Indiana/Indianapolis America/Indianapolis ++Link America/Argentina/Jujuy America/Jujuy ++Link America/Indiana/Knox America/Knox_IN ++Link America/Kentucky/Louisville America/Louisville ++Link America/Argentina/Mendoza America/Mendoza ++Link America/Puerto_Rico America/Virgin #= America/St_Thomas ++Link Pacific/Pago_Pago Pacific/Samoa ++ ++ ++# Pre-2013 practice, which typically had a Zone per zone.tab line ++ ++# Link TARGET LINK-NAME ++Link Africa/Abidjan Africa/Accra ++Link Africa/Nairobi Africa/Addis_Ababa ++Link Africa/Nairobi Africa/Asmara ++Link Africa/Abidjan Africa/Bamako ++Link Africa/Lagos Africa/Bangui ++Link Africa/Abidjan Africa/Banjul ++Link Africa/Maputo Africa/Blantyre ++Link Africa/Lagos Africa/Brazzaville ++Link Africa/Maputo Africa/Bujumbura ++Link Africa/Abidjan Africa/Conakry ++Link Africa/Abidjan Africa/Dakar ++Link Africa/Nairobi Africa/Dar_es_Salaam ++Link Africa/Nairobi Africa/Djibouti ++Link Africa/Lagos Africa/Douala ++Link Africa/Abidjan Africa/Freetown ++Link Africa/Maputo Africa/Gaborone ++Link Africa/Maputo Africa/Harare ++Link Africa/Nairobi Africa/Kampala ++Link Africa/Maputo Africa/Kigali ++Link Africa/Lagos Africa/Kinshasa ++Link Africa/Lagos Africa/Libreville ++Link Africa/Abidjan Africa/Lome ++Link Africa/Lagos Africa/Luanda ++Link Africa/Maputo Africa/Lubumbashi ++Link Africa/Maputo Africa/Lusaka ++Link Africa/Lagos Africa/Malabo ++Link Africa/Johannesburg Africa/Maseru ++Link Africa/Johannesburg Africa/Mbabane ++Link Africa/Nairobi Africa/Mogadishu ++Link Africa/Lagos Africa/Niamey ++Link Africa/Abidjan Africa/Nouakchott ++Link Africa/Abidjan Africa/Ouagadougou ++Link Africa/Lagos Africa/Porto-Novo ++Link America/Puerto_Rico America/Anguilla ++Link America/Puerto_Rico America/Antigua ++Link America/Puerto_Rico America/Aruba ++Link America/Panama America/Atikokan ++Link America/Puerto_Rico America/Blanc-Sablon ++Link America/Panama America/Cayman ++Link America/Phoenix America/Creston ++Link America/Puerto_Rico America/Curacao ++Link America/Puerto_Rico America/Dominica ++Link America/Puerto_Rico America/Grenada ++Link America/Puerto_Rico America/Guadeloupe ++Link America/Puerto_Rico America/Kralendijk ++Link America/Puerto_Rico America/Lower_Princes ++Link America/Puerto_Rico America/Marigot ++Link America/Puerto_Rico America/Montserrat ++Link America/Toronto America/Nassau ++Link America/Puerto_Rico America/Port_of_Spain ++Link America/Puerto_Rico America/St_Barthelemy ++Link America/Puerto_Rico America/St_Kitts ++Link America/Puerto_Rico America/St_Lucia ++Link America/Puerto_Rico America/St_Thomas ++Link America/Puerto_Rico America/St_Vincent ++Link America/Puerto_Rico America/Tortola ++Link Pacific/Port_Moresby Antarctica/DumontDUrville ++Link Pacific/Auckland Antarctica/McMurdo ++Link Asia/Riyadh Antarctica/Syowa ++Link Asia/Urumqi Antarctica/Vostok ++Link Europe/Berlin Arctic/Longyearbyen ++Link Asia/Riyadh Asia/Aden ++Link Asia/Qatar Asia/Bahrain ++Link Asia/Kuching Asia/Brunei ++Link Asia/Singapore Asia/Kuala_Lumpur ++Link Asia/Riyadh Asia/Kuwait ++Link Asia/Dubai Asia/Muscat ++Link Asia/Bangkok Asia/Phnom_Penh ++Link Asia/Bangkok Asia/Vientiane ++Link Africa/Abidjan Atlantic/Reykjavik ++Link Africa/Abidjan Atlantic/St_Helena ++Link Europe/Brussels Europe/Amsterdam ++Link Europe/Prague Europe/Bratislava ++Link Europe/Zurich Europe/Busingen ++Link Europe/Berlin Europe/Copenhagen ++Link Europe/London Europe/Guernsey ++Link Europe/London Europe/Isle_of_Man ++Link Europe/London Europe/Jersey ++Link Europe/Belgrade Europe/Ljubljana ++Link Europe/Brussels Europe/Luxembourg ++Link Europe/Helsinki Europe/Mariehamn ++Link Europe/Paris Europe/Monaco ++Link Europe/Berlin Europe/Oslo ++Link Europe/Belgrade Europe/Podgorica ++Link Europe/Rome Europe/San_Marino ++Link Europe/Belgrade Europe/Sarajevo ++Link Europe/Belgrade Europe/Skopje ++Link Europe/Berlin Europe/Stockholm ++Link Europe/Zurich Europe/Vaduz ++Link Europe/Rome Europe/Vatican ++Link Europe/Belgrade Europe/Zagreb ++Link Africa/Nairobi Indian/Antananarivo ++Link Asia/Bangkok Indian/Christmas ++Link Asia/Yangon Indian/Cocos ++Link Africa/Nairobi Indian/Comoro ++Link Indian/Maldives Indian/Kerguelen ++Link Asia/Dubai Indian/Mahe ++Link Africa/Nairobi Indian/Mayotte ++Link Asia/Dubai Indian/Reunion ++Link Pacific/Port_Moresby Pacific/Chuuk ++Link Pacific/Tarawa Pacific/Funafuti ++Link Pacific/Tarawa Pacific/Majuro ++Link Pacific/Pago_Pago Pacific/Midway ++Link Pacific/Guadalcanal Pacific/Pohnpei ++Link Pacific/Guam Pacific/Saipan ++Link Pacific/Tarawa Pacific/Wake ++Link Pacific/Tarawa Pacific/Wallis ++ ++ ++# Non-zone.tab locations with timestamps since 1970 that duplicate ++# those of an existing location ++ ++# Link TARGET LINK-NAME ++Link Africa/Abidjan Africa/Timbuktu ++Link America/Argentina/Catamarca America/Argentina/ComodRivadavia ++Link America/Adak America/Atka ++Link America/Panama America/Coral_Harbour ++Link America/Tijuana America/Ensenada ++Link America/Indiana/Indianapolis America/Fort_Wayne ++Link America/Toronto America/Montreal ++Link America/Toronto America/Nipigon ++Link America/Rio_Branco America/Porto_Acre ++Link America/Winnipeg America/Rainy_River ++Link America/Argentina/Cordoba America/Rosario ++Link America/Tijuana America/Santa_Isabel ++Link America/Denver America/Shiprock ++Link America/Toronto America/Thunder_Bay ++Link Pacific/Auckland Antarctica/South_Pole ++Link Asia/Shanghai Asia/Chongqing ++Link Asia/Shanghai Asia/Harbin ++Link Asia/Urumqi Asia/Kashgar ++Link Asia/Jerusalem Asia/Tel_Aviv ++Link Europe/Berlin Atlantic/Jan_Mayen ++Link Australia/Sydney Australia/Canberra ++Link Australia/Hobart Australia/Currie ++Link Europe/London Europe/Belfast ++Link Europe/Chisinau Europe/Tiraspol ++Link Europe/Kyiv Europe/Uzhgorod ++Link Europe/Kyiv Europe/Zaporozhye ++Link Pacific/Kanton Pacific/Enderbury ++Link Pacific/Honolulu Pacific/Johnston ++Link Pacific/Port_Moresby Pacific/Yap ++ ++ ++# Alternate names for the same location ++ ++# Link TARGET LINK-NAME #= TARGET1 ++Link Africa/Nairobi Africa/Asmera #= Africa/Asmara ++Link America/Nuuk America/Godthab ++Link Asia/Ashgabat Asia/Ashkhabad ++Link Asia/Kolkata Asia/Calcutta ++Link Asia/Shanghai Asia/Chungking #= Asia/Chongqing ++Link Asia/Dhaka Asia/Dacca ++# Istanbul is in both continents. ++Link Europe/Istanbul Asia/Istanbul ++Link Asia/Kathmandu Asia/Katmandu ++Link Asia/Macau Asia/Macao ++Link Asia/Yangon Asia/Rangoon ++Link Asia/Ho_Chi_Minh Asia/Saigon ++Link Asia/Thimphu Asia/Thimbu ++Link Asia/Makassar Asia/Ujung_Pandang ++Link Asia/Ulaanbaatar Asia/Ulan_Bator ++Link Atlantic/Faroe Atlantic/Faeroe ++Link Europe/Kyiv Europe/Kiev ++# Classically, Cyprus is in Asia; e.g. see Herodotus, Histories, I.72. ++# However, for various reasons many users expect to find it under Europe. ++Link Asia/Nicosia Europe/Nicosia ++Link Pacific/Guadalcanal Pacific/Ponape #= Pacific/Pohnpei ++Link Pacific/Port_Moresby Pacific/Truk #= Pacific/Chuuk +--- contrib/tzdata/backzone.orig ++++ contrib/tzdata/backzone +@@ -301,7 +301,7 @@ + -0:53:00 - FMT 1913 Jul 1 # Freetown MT + -1:00 SL %s 1939 Sep 5 + -1:00 - -01 1941 Dec 6 24:00 +- 0:00 SL GMT/+01 ++ 0:00 - GMT + + # Botswana + # From Paul Eggert (2013-02-21): +@@ -739,6 +739,17 @@ + -5:00 Bahamas E%sT 1976 + -5:00 US E%sT + ++# Canada ++# From Chris Walton (2022-10-15): ++# I would also like to see America/Nipigon and America/Rainy_River converted ++# into link entries because I have zero faith in the current Shanks based data. ++# From Paul Eggert (2022-10-15): ++# These are now links in the primary data. Also see America/Thunder_Bay. ++Zone America/Nipigon -5:53:04 - LMT 1895 ++ -5:00 Canada E%sT 1940 Sep 29 ++ -5:00 1:00 EDT 1942 Feb 9 2:00s ++ -5:00 Canada E%sT ++ + # United States + # + # From Paul Eggert (2018-03-18): +@@ -769,6 +780,17 @@ + Link America/Port_of_Spain America/Marigot + Link America/Port_of_Spain America/St_Barthelemy + ++# Canada ++# From Chris Walton (2022-10-15): ++# I would also like to see America/Nipigon and America/Rainy_River converted ++# into link entries because I have zero faith in the current Shanks based data. ++# From Paul Eggert (2022-10-15): ++# These are now links in the primary data. Also see America/Thunder_Bay. ++Zone America/Rainy_River -6:18:16 - LMT 1895 ++ -6:00 Canada C%sT 1940 Sep 29 ++ -6:00 1:00 CDT 1942 Feb 9 2:00s ++ -6:00 Canada C%sT ++ + # Argentina + # This entry was intended for the following areas, but has been superseded by + # more detailed zones. +@@ -802,6 +824,53 @@ + -4:04:56 - KMT 1912 # Kingstown Mean Time + -4:00 - AST + ++# Canada ++# ++# From Paul Eggert (2003-07-27): ++# Willett (1914-03) writes (p. 17) "In the Cities of Fort William, and ++# Port Arthur, Ontario, the principle of the Bill has been in ++# operation for the past three years, and in the City of Moose Jaw, ++# Saskatchewan, for one year." ++# ++# From David Bryan via Tory Tronrud, Director/Curator, ++# Thunder Bay Museum (2003-11-12): ++# There is some suggestion, however, that, by-law or not, daylight ++# savings time was being practiced in Fort William and Port Arthur ++# before 1909.... [I]n 1910, the line between the Eastern and Central ++# Time Zones was permanently moved about two hundred miles west to ++# include the Thunder Bay area.... When Canada adopted daylight ++# savings time in 1916, Fort William and Port Arthur, having done so ++# already, did not change their clocks.... During the Second World ++# War,... [t]he cities agreed to implement DST during the summer ++# months for the remainder of the war years. ++# ++# From Jeffery Nichols (2020-02-06): ++# According to the [Shanks] atlas, those western Ontario zones are huge, ++# covering most of Ontario northwest of Sault Ste Marie and Timmins. ++# The zones seem to include towns bigger than the ones they're named after, ++# like Dryden in America/Rainy_River and Wawa (and maybe Attawapiskat) in ++# America/Nipigon. I assume it's too much trouble to change the name of the ++# zone (like when you found out that America/Glace_Bay includes Sydney, Nova ++# Scotia).... ++# ++# From Chris Walton (2022-10-15): ++# The TZ database currently shows that Thunder Bay has observed daylight ++# saving every year from 1970 onwards with the exception of 1973. ++# Back in July I raised some doubts on this mailing list about the 1973 data. ++# I now have more proof that it is wrong. ++# [attached Chronicle-Journal front pages, 1973-04-28 and 1973-10-27] ++# ++# From Paul Eggert (2022-10-15): ++# This is now a link in the primary data. The following entry is ++# from Shanks & Pottenger, with corrections as noted above. ++# ++Zone America/Thunder_Bay -5:57:00 - LMT 1895 ++ -6:00 - CST 1910 ++ -5:00 - EST 1942 ++ -5:00 Canada E%sT 1970 ++ -5:00 Toronto E%sT 1974 ++ -5:00 Canada E%sT ++ + # British Virgin Is + Zone America/Tortola -4:18:28 - LMT 1911 Jul # Road Town + -4:00 - AST +@@ -1480,6 +1549,27 @@ + 2:00 Russia EE%sT 1992 Jan 19 2:00 + 3:00 Russia MSK/MSD + ++# Ukraine ++# ++# Although Shanks & Pottenger say Transcarpathia used CET 1990/1991, ++# this unreliable source contradicts contemporaneous government resolutions ++# (see the commentary for Ukraine in the 'europe' file) ++# so for now this dubious zone is in 'backzone'. ++# "Uzhhorod" is the transliteration of the Ukrainian spelling, but ++# "Uzhgorod" was a common English spelling when this dubious zone was ++# added to TZDB in 1999. ++Zone Europe/Uzhgorod 1:29:12 - LMT 1890 Oct ++ 1:00 - CET 1940 ++ 1:00 C-Eur CE%sT 1944 Oct ++ 1:00 1:00 CEST 1944 Oct 26 ++ 1:00 - CET 1945 Jun 29 ++ 3:00 Russia MSK/MSD 1990 ++ 3:00 - MSK 1990 Jul 1 2:00 ++ 1:00 - CET 1991 Mar 31 3:00 ++ 2:00 - EET 1992 Mar 20 ++ 2:00 C-Eur EE%sT 1996 May 13 ++ 2:00 EU EE%sT ++ + # Liechtenstein + + # From Paul Eggert (2022-07-21): +@@ -1502,6 +1592,25 @@ + 1:00 - CET 1982 Nov 27 + 1:00 EU CE%sT + ++# Ukraine ++ ++# Although Shanks & Pottenger say Zaporizhzhia and eastern Lugansk ++# observed DST 1990/1991, this unreliable source contradicts contemporaneous ++# government resolutions (see the commentary for Ukraine in the 'europe' file) ++# so for now this dubious zone is in 'backzone'. ++# "Zaporizhzhia" is the transliteration of the Ukrainian name, but ++# "Zaporozhye" was a common English spelling when this dubious zone was ++# added to TZDB in 1999. ++Zone Europe/Zaporozhye 2:20:40 - LMT 1880 ++ 2:20 - +0220 1924 May 2 ++ 2:00 - EET 1930 Jun 21 ++ 3:00 - MSK 1941 Aug 25 ++ 1:00 C-Eur CE%sT 1943 Oct 25 ++ 3:00 Russia MSK/MSD 1991 Mar 31 2:00 ++ 2:00 E-Eur EE%sT 1992 Mar 20 ++ 2:00 C-Eur EE%sT 1996 May 13 ++ 2:00 EU EE%sT ++ + # Madagascar + Zone Indian/Antananarivo 3:10:04 - LMT 1911 Jul + 3:00 - EAT 1954 Feb 27 23:00s +@@ -1633,7 +1742,7 @@ + Zone Pacific/Midway -11:49:28 - LMT 1901 + -11:00 - -11 1956 Jun 3 + -11:00 1:00 -10 1956 Sep 2 +- -11:00 - -11 ++ -11:00 - SST # S=Samoa + + # Micronesia + # Also see Pacific/Chuuk and commentary for Micronesia in 'australasia'. +@@ -1648,10 +1757,20 @@ + Link Pacific/Pohnpei Pacific/Ponape + + # N Mariana Is ++# ++# From Paul Eggert (2022-08-16): ++# Although Shanks & Pottenger say Saipan used +09 and then switched ++# to Guam time in October 1969, this is surely wrong. ++# Saipan used Guam time in the late 1950s; see page 4 of the minutes on the ++# conference of the 12th Saipan Legislature and the Select Committee on ++# Saipan Mission, 5th Guam Legislature (1959-09-11): ++# http://www.nmhcouncil.org/nmhc_archives/U.S.%20Navy%20Civil%20Affairs%20Files%201944-1962/1959/1959%2009%2017%20letter,%20minutes%20of%20conference,%20Borja.pdf ++# For now, assume Saipan switched to Guam time after the Battle of Saipan. ++# + Zone Pacific/Saipan -14:17:00 - LMT 1844 Dec 31 + 9:43:00 - LMT 1901 +- 9:00 - +09 1969 Oct +- 10:00 - +10 2000 Dec 23 ++ 9:00 - +09 1944 Jul 9 ++ 10:00 Guam G%sT 2000 Dec 23 + 10:00 - ChST # Chamorro Standard Time + + +--- contrib/tzdata/checklinks.awk.orig ++++ contrib/tzdata/checklinks.awk +@@ -32,6 +32,13 @@ + } + status = 1 + } ++ if (backcheck && FILENAME != backcheck && $3 != "GMT") { ++ printf "%s: Link should be in '%s'\n", $3, backcheck ++ status = 1 ++ } ++ if ($4 == "#=") { ++ shortcut[$5] = $3 ++ } + used[$2] = 1 + defined[$3] = $2 + } +@@ -39,10 +46,25 @@ + END { + for (tz in used) { + if (defined[tz] != Zone) { +- printf "%s: Link to non-zone\n", tz ++ if (!defined[tz]) { ++ printf "%s: Link to nowhere\n", tz ++ status = 1 ++ } else if (DATAFORM != "vanguard") { ++ printf "%s: Link to link\n", tz + status = 1 ++ } + } + } ++ for (tz in shortcut) { ++ if (defined[shortcut[tz]] != defined[tz]) { ++ target = (!defined[tz] ? "absence" \ ++ : defined[tz] == "\n" ? "zone" \ ++ : defined[tz]) ++ printf "%s: target %s disagrees with %s's target %s\n", \ ++ tz, target, shortcut[tz], defined[shortcut[tz]] ++ status = 1 ++ } ++ } + + exit status + } +--- contrib/tzdata/etcetera.orig ++++ contrib/tzdata/etcetera +@@ -16,26 +16,23 @@ + # Do not use a POSIX TZ setting like TZ='GMT+4', which is four hours + # behind GMT but uses the completely misleading abbreviation "GMT". + +-Zone Etc/GMT 0 - GMT +- + # The following zone is used by tzcode functions like gmtime, + # which load the "UTC" file to handle seconds properly. + Zone Etc/UTC 0 - UTC + ++# Functions like gmtime load the "GMT" file to handle leap seconds properly. ++# Vanguard section, which works with most .zi parsers. ++#Zone GMT 0 - GMT ++# Rearguard section, for TZUpdater 2.3.2 and earlier. ++Zone Etc/GMT 0 - GMT ++ + # The following link uses older naming conventions, + # but it belongs here, not in the file 'backward', + # as it is needed for tzcode releases through 2022a, + # where functions like gmtime load "GMT" instead of the "Etc/UTC". + # We want this to work even on installations that omit 'backward'. + Link Etc/GMT GMT +- +-Link Etc/UTC Etc/Universal +-Link Etc/UTC Etc/Zulu +- +-Link Etc/GMT Etc/Greenwich +-Link Etc/GMT Etc/GMT-0 +-Link Etc/GMT Etc/GMT+0 +-Link Etc/GMT Etc/GMT0 ++# End of rearguard section. + + # Be consistent with POSIX TZ settings in the Zone names, + # even though this is the opposite of what many people expect. +--- contrib/tzdata/europe.orig ++++ contrib/tzdata/europe +@@ -504,9 +504,6 @@ + 1:00 - BST 1971 Oct 31 2:00u + 0:00 GB-Eire %s 1996 + 0:00 EU GMT/BST +-Link Europe/London Europe/Jersey +-Link Europe/London Europe/Guernsey +-Link Europe/London Europe/Isle_of_Man + + # From Paul Eggert (2018-02-15): + # In January 2018 we discovered that the negative SAVE values in the +@@ -879,6 +876,8 @@ + 3:00 - +03 + + # Belgium ++# Luxembourg ++# Netherlands + # + # From Michael Deckers (2019-08-25): + # The exposition in the web page +@@ -961,11 +960,6 @@ + 1:00 C-Eur CE%sT 1944 Sep 3 + 1:00 Belgium CE%sT 1977 + 1:00 EU CE%sT +-Link Europe/Brussels Europe/Amsterdam +-Link Europe/Brussels Europe/Luxembourg +- +-# Bosnia and Herzegovina +-# See Europe/Belgrade. + + # Bulgaria + # +@@ -992,13 +986,11 @@ + 2:00 E-Eur EE%sT 1997 + 2:00 EU EE%sT + +-# Croatia +-# See Europe/Belgrade. +- + # Cyprus + # Please see the 'asia' file for Asia/Nicosia. + +-# Czech Republic / Czechia ++# Czech Republic (Czechia) ++# Slovakia + # + # From Paul Eggert (2018-04-15): + # The source for Czech data is: Kdy začíná a končí letní čas. 2018-04-15. +@@ -1025,15 +1017,14 @@ + # End of rearguard section. + 1:00 Czech CE%sT 1979 + 1:00 EU CE%sT +-Link Europe/Prague Europe/Bratislava +- +- +-# Denmark, Faroe Islands, and Greenland +-# For Denmark see Europe/Berlin. + ++# Faroe Is ++# Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Atlantic/Faroe -0:27:04 - LMT 1908 Jan 11 # Tórshavn + 0:00 - WET 1981 + 0:00 EU WE%sT ++ ++# Greenland + # + # From Paul Eggert (2004-10-31): + # During World War II, Germany maintained secret manned weather stations in +@@ -1259,11 +1250,8 @@ + 2:00 Finland EE%sT 1983 + 2:00 EU EE%sT + +-# Åland Is +-Link Europe/Helsinki Europe/Mariehamn +- +- + # France ++# Monaco + + # From Ciro Discepolo (2000-12-20): + # +@@ -1400,9 +1388,11 @@ + 0:00 France WE%sT 1945 Sep 16 3:00 + 1:00 France CE%sT 1977 + 1:00 EU CE%sT +-Link Europe/Paris Europe/Monaco + ++# Denmark + # Germany ++# Norway ++# Sweden + + # From Markus Kuhn (1998-09-29): + # The German time zone web site by the Physikalisch-Technische +@@ -1420,6 +1410,53 @@ + # However, Moscow did not observe daylight saving in 1945, so + # this was equivalent to UT +03, not +04. + ++# Svalbard & Jan Mayen ++ ++# From Steffen Thorsen (2001-05-01): ++# Although I could not find it explicitly, it seems that Jan Mayen and ++# Svalbard have been using the same time as Norway at least since the ++# time they were declared as parts of Norway. Svalbard was declared ++# as a part of Norway by law of 1925-07-17 no 11, section 4 and Jan ++# Mayen by law of 1930-02-27 no 2, section 2. (From ++# and ++# ). The law/regulation ++# for normal/standard time in Norway is from 1894-06-29 no 1 (came ++# into operation on 1895-01-01) and Svalbard/Jan Mayen seem to be a ++# part of this law since 1925/1930. (From ++# ) I have not been ++# able to find if Jan Mayen used a different time zone (e.g. -0100) ++# before 1930. Jan Mayen has only been "inhabited" since 1921 by ++# Norwegian meteorologists and maybe used the same time as Norway ever ++# since 1921. Svalbard (Arctic/Longyearbyen) has been inhabited since ++# before 1895, and therefore probably changed the local time somewhere ++# between 1895 and 1925 (inclusive). ++ ++# From Paul Eggert (2013-09-04): ++# ++# Actually, Jan Mayen was never occupied by Germany during World War II, ++# so it must have diverged from Oslo time during the war, as Oslo was ++# keeping Berlin time. ++# ++# says that the meteorologists ++# burned down their station in 1940 and left the island, but returned in ++# 1941 with a small Norwegian garrison and continued operations despite ++# frequent air attacks from Germans. In 1943 the Americans established a ++# radiolocating station on the island, called "Atlantic City". Possibly ++# the UT offset changed during the war, but I think it unlikely that ++# Jan Mayen used German daylight-saving rules. ++# ++# Svalbard is more complicated, as it was raided in August 1941 by an ++# Allied party that evacuated the civilian population to England (says ++# ). The Svalbard FAQ ++# says that the Germans were ++# expelled on 1942-05-14. However, small parties of Germans did return, ++# and according to Wilhelm Dege's book "War North of 80" (1954) ++# http://www.ucalgary.ca/UofC/departments/UP/1-55238/1-55238-110-2.html ++# the German armed forces at the Svalbard weather station code-named ++# Haudegen did not surrender to the Allies until September 1945. ++# ++# All these events predate our cutoff date of 1970, so use Europe/Berlin ++# for these regions. + + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule Germany 1946 only - Apr 14 2:00s 1:00 S +@@ -1444,11 +1481,6 @@ + 1:00 SovietZone CE%sT 1946 + 1:00 Germany CE%sT 1980 + 1:00 EU CE%sT +-Link Europe/Berlin Arctic/Longyearbyen +-Link Europe/Berlin Europe/Copenhagen +-Link Europe/Berlin Europe/Oslo +-Link Europe/Berlin Europe/Stockholm +- + + # Georgia + # Please see the "asia" file for Asia/Tbilisi. +@@ -1567,10 +1599,9 @@ + 1:00 Hungary CE%sT 1984 + 1:00 EU CE%sT + +-# Iceland +-# See Africa/Abidjan. +- + # Italy ++# San Marino ++# Vatican City + # + # From Paul Eggert (2001-03-06): + # Sicily and Sardinia each had their own time zones from 1866 to 1893, +@@ -1689,13 +1720,6 @@ + 1:00 C-Eur CE%sT 1944 Jun 4 + 1:00 Italy CE%sT 1980 + 1:00 EU CE%sT +-Link Europe/Rome Europe/Vatican +-Link Europe/Rome Europe/San_Marino +- +- +-# Kosovo +-# See Europe/Belgrade. +- + + # Latvia + +@@ -1779,10 +1803,6 @@ + 2:00 - EET 2001 Jan 2 + 2:00 EU EE%sT + +-# Liechtenstein +-# See Europe/Zurich. +- +- + # Lithuania + + # From Paul Eggert (2016-03-18): +@@ -1835,12 +1855,6 @@ + 2:00 - EET 2003 Jan 1 + 2:00 EU EE%sT + +-# Luxembourg +-# See Europe/Brussels. +- +-# North Macedonia +-# See Europe/Belgrade. +- + # Malta + # + # From Paul Eggert (2016-10-21): +@@ -1936,67 +1950,6 @@ + # See Romania commentary for the guessed 1997 transition to EU rules. + 2:00 Moldova EE%sT + +-# Monaco +-# See Europe/Paris. +- +-# Montenegro +-# See Europe/Belgrade. +- +-# Netherlands +-# See Europe/Brussels. +- +-# Norway +-# See Europe/Berlin. +- +-# Svalbard & Jan Mayen +- +-# From Steffen Thorsen (2001-05-01): +-# Although I could not find it explicitly, it seems that Jan Mayen and +-# Svalbard have been using the same time as Norway at least since the +-# time they were declared as parts of Norway. Svalbard was declared +-# as a part of Norway by law of 1925-07-17 no 11, section 4 and Jan +-# Mayen by law of 1930-02-27 no 2, section 2. (From +-# and +-# ). The law/regulation +-# for normal/standard time in Norway is from 1894-06-29 no 1 (came +-# into operation on 1895-01-01) and Svalbard/Jan Mayen seem to be a +-# part of this law since 1925/1930. (From +-# ) I have not been +-# able to find if Jan Mayen used a different time zone (e.g. -0100) +-# before 1930. Jan Mayen has only been "inhabited" since 1921 by +-# Norwegian meteorologists and maybe used the same time as Norway ever +-# since 1921. Svalbard (Arctic/Longyearbyen) has been inhabited since +-# before 1895, and therefore probably changed the local time somewhere +-# between 1895 and 1925 (inclusive). +- +-# From Paul Eggert (2013-09-04): +-# +-# Actually, Jan Mayen was never occupied by Germany during World War II, +-# so it must have diverged from Oslo time during the war, as Oslo was +-# keeping Berlin time. +-# +-# says that the meteorologists +-# burned down their station in 1940 and left the island, but returned in +-# 1941 with a small Norwegian garrison and continued operations despite +-# frequent air attacks from Germans. In 1943 the Americans established a +-# radiolocating station on the island, called "Atlantic City". Possibly +-# the UT offset changed during the war, but I think it unlikely that +-# Jan Mayen used German daylight-saving rules. +-# +-# Svalbard is more complicated, as it was raided in August 1941 by an +-# Allied party that evacuated the civilian population to England (says +-# ). The Svalbard FAQ +-# says that the Germans were +-# expelled on 1942-05-14. However, small parties of Germans did return, +-# and according to Wilhelm Dege's book "War North of 80" (1954) +-# http://www.ucalgary.ca/UofC/departments/UP/1-55238/1-55238-110-2.html +-# the German armed forces at the Svalbard weather station code-named +-# Haudegen did not surrender to the Allies until September 1945. +-# +-# All these events predate our cutoff date of 1970, so use Europe/Berlin +-# for these regions. +- +- + # Poland + + # The 1919 dates and times can be found in Tygodnik Urzędowy nr 1 (1919-03-20), +@@ -2615,10 +2568,14 @@ + # From Alexander Krivenyshev (2014-03-17): + # time change at 2:00 (2am) on March 30, 2014 + # https://vz.ru/news/2014/3/17/677464.html +-# From Paul Eggert (2014-03-30): +-# Simferopol and Sevastopol reportedly changed their central town clocks +-# late the previous day, but this appears to have been ceremonial +-# and the discrepancies are small enough to not worry about. ++# From Tim Parenti (2022-07-01), per Paul Eggert (2014-03-30): ++# The clocks at the railway station in Simferopol were put forward from 22:00 ++# to 24:00 the previous day in a "symbolic ceremony"; however, per ++# contemporaneous news reports, "ordinary Crimeans [made] the daylight savings ++# time switch at 2am" on Sunday. ++# https://www.business-standard.com/article/pti-stories/crimea-to-set-clocks-to-russia-time-114033000014_1.html ++# https://www.reuters.com/article/us-ukraine-crisis-crimea-time/crimea-switches-to-moscow-time-amid-incorporation-frenzy-idUKBREA2S0LT20140329 ++# https://www.bbc.com/news/av/world-europe-26806583 + 2:00 EU EE%sT 2014 Mar 30 2:00 + 4:00 - MSK 2014 Oct 26 2:00s + 3:00 - MSK +@@ -3274,11 +3231,13 @@ + 11:00 Russia +11/+12 2011 Mar 27 2:00s + 12:00 - +12 + +- +-# San Marino +-# See Europe/Rome. +- ++# Bosnia & Herzegovina ++# Croatia ++# Kosovo ++# Montenegro ++# North Macedonia + # Serbia ++# Slovenia + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone Europe/Belgrade 1:22:00 - LMT 1884 + 1:00 - CET 1941 Apr 18 23:00 +@@ -3290,17 +3249,6 @@ + # Shanks & Pottenger don't give as much detail, so go with Koželj. + 1:00 - CET 1982 Nov 27 + 1:00 EU CE%sT +-Link Europe/Belgrade Europe/Ljubljana # Slovenia +-Link Europe/Belgrade Europe/Podgorica # Montenegro +-Link Europe/Belgrade Europe/Sarajevo # Bosnia and Herzegovina +-Link Europe/Belgrade Europe/Skopje # North Macedonia +-Link Europe/Belgrade Europe/Zagreb # Croatia +- +-# Slovakia +-# See Europe/Prague. +- +-# Slovenia +-# See Europe/Belgrade. + + # Spain + # +@@ -3390,7 +3338,7 @@ + 0:00 Spain WE%sT 1940 Mar 16 23:00 + 1:00 Spain CE%sT 1979 + 1:00 EU CE%sT +-Zone Africa/Ceuta -0:21:16 - LMT 1900 Dec 31 23:38:44 ++Zone Africa/Ceuta -0:21:16 - LMT 1901 Jan 1 0:00u + 0:00 - WET 1918 May 6 23:00 + 0:00 1:00 WEST 1918 Oct 7 23:00 + 0:00 - WET 1924 +@@ -3407,10 +3355,11 @@ + # IATA SSIM (1996-09) says the Canaries switch at 2:00u, not 1:00u. + # Ignore this for now, as the Canaries are part of the EU. + +-# Sweden +-# See Europe/Berlin. + ++# Germany (Busingen enclave) ++# Liechtenstein + # Switzerland ++# + # From Howse: + # By the end of the 18th century clocks and watches became commonplace + # and their performance improved enormously. Communities began to keep +@@ -3523,9 +3472,6 @@ + 0:29:46 - BMT 1894 Jun # Bern Mean Time + 1:00 Swiss CE%sT 1981 + 1:00 EU CE%sT +-Link Europe/Zurich Europe/Busingen +-Link Europe/Zurich Europe/Vaduz +- + + # Turkey + +@@ -3730,7 +3676,6 @@ + 2:00 1:00 EEST 2015 Nov 8 1:00u + 2:00 EU EE%sT 2016 Sep 7 + 3:00 - +03 +-Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents. + + # Ukraine + # +@@ -3751,8 +3696,8 @@ + # US colleague David Cochrane) are still trying to get more + # information upon these local deviations from Kiev rules. + # +-# From Paul Eggert (2022-02-08): +-# For now, assume that Ukraine's other three zones followed the same rules, ++# From Paul Eggert (2022-08-27): ++# For now, assume that Ukraine's zones all followed the same rules, + # except that Crimea switched to Moscow time in 1994 as described elsewhere. + + # From Igor Karpov, who works for the Ukrainian Ministry of Justice, +@@ -3822,21 +3767,7 @@ + # * Ukrainian Government's Resolution of 20.03.1992, No. 139. + # http://www.uazakon.com/documents/date_8u/pg_grcasa.htm + +-# From Paul Eggert (2022-04-12): +-# As is usual in tzdb, Ukrainian zones use the most common English spellings. +-# In particular, tzdb's name Europe/Kyiv uses the most common spelling in +-# English for Ukraine's capital. Although tzdb's former name was Europe/Kiev, +-# "Kyiv" is now more common due to widespread reporting of the current conflict. +-# Conversely, tzdb continues to use the names Europe/Uzhgorod and +-# Europe/Zaporozhye; this is similar to tzdb's use of Europe/Prague, which is +-# certainly wrong as a transliteration of the Czech "Praha". +-# English-language spelling of Ukrainian names is in flux, and +-# some day "Uzhhorod" or "Zaporizhzhia" may become substantially more +-# common in English; in the meantime, do not change these +-# English spellings as that means less disruption for our users. +- + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-# This represents most of Ukraine. See above for the spelling of "Kyiv". + Zone Europe/Kyiv 2:02:04 - LMT 1880 + 2:02:04 - KMT 1924 May 2 # Kyiv Mean Time + 2:00 - EET 1930 Jun 21 +@@ -3846,37 +3777,6 @@ + 2:00 1:00 EEST 1991 Sep 29 3:00 + 2:00 C-Eur EE%sT 1996 May 13 + 2:00 EU EE%sT +-# Transcarpathia used CET 1990/1991. +-# "Uzhhorod" is the transliteration of the Rusyn/Ukrainian pronunciation, but +-# "Uzhgorod" is more common in English. +-Zone Europe/Uzhgorod 1:29:12 - LMT 1890 Oct +- 1:00 - CET 1940 +- 1:00 C-Eur CE%sT 1944 Oct +- 1:00 1:00 CEST 1944 Oct 26 +- 1:00 - CET 1945 Jun 29 +- 3:00 Russia MSK/MSD 1990 +- 3:00 - MSK 1990 Jul 1 2:00 +- 1:00 - CET 1991 Mar 31 3:00 +- 2:00 - EET 1992 Mar 20 +- 2:00 C-Eur EE%sT 1996 May 13 +- 2:00 EU EE%sT +-# Zaporozh'ye and eastern Lugansk oblasts observed DST 1990/1991. +-# "Zaporizhzhia" is the transliteration of the Ukrainian name, but +-# "Zaporozh'ye" is more common in English. Use the common English +-# spelling, except omit the apostrophe as it is not allowed in +-# portable Posix file names. +-Zone Europe/Zaporozhye 2:20:40 - LMT 1880 +- 2:20 - +0220 1924 May 2 +- 2:00 - EET 1930 Jun 21 +- 3:00 - MSK 1941 Aug 25 +- 1:00 C-Eur CE%sT 1943 Oct 25 +- 3:00 Russia MSK/MSD 1991 Mar 31 2:00 +- 2:00 E-Eur EE%sT 1992 Mar 20 +- 2:00 C-Eur EE%sT 1996 May 13 +- 2:00 EU EE%sT +- +-# Vatican City +-# See Europe/Rome. + + ############################################################################### + +--- contrib/tzdata/northamerica.orig ++++ contrib/tzdata/northamerica +@@ -439,7 +439,7 @@ + Rule Chicago 1922 1954 - Sep lastSun 2:00 0 S + Rule Chicago 1955 1966 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:09:24 ++Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1920 + -6:00 Chicago C%sT 1936 Mar 1 2:00 + -5:00 - EST 1936 Nov 15 2:00 +@@ -448,7 +448,7 @@ + -6:00 Chicago C%sT 1967 + -6:00 US C%sT + # Oliver County, ND switched from mountain to central time on 1992-10-25. +-Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 12:14:48 ++Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 19:00u + -7:00 US M%sT 1992 Oct 25 2:00 + -6:00 US C%sT + # Morton County, ND, switched from mountain to central time on +@@ -458,7 +458,7 @@ + # Jones, Mellette, and Todd Counties in South Dakota; + # but in practice these other counties were already observing central time. + # See . +-Zone America/North_Dakota/New_Salem -6:45:39 - LMT 1883 Nov 18 12:14:21 ++Zone America/North_Dakota/New_Salem -6:45:39 - LMT 1883 Nov 18 19:00u + -7:00 US M%sT 2003 Oct 26 2:00 + -6:00 US C%sT + +@@ -475,7 +475,7 @@ + # largest city in Mercer County). Google Maps places Beulah's city hall + # at 47° 15' 51" N, 101° 46' 40" W, which yields an offset of 6h47'07". + +-Zone America/North_Dakota/Beulah -6:47:07 - LMT 1883 Nov 18 12:12:53 ++Zone America/North_Dakota/Beulah -6:47:07 - LMT 1883 Nov 18 19:00u + -7:00 US M%sT 2010 Nov 7 2:00 + -6:00 US C%sT + +@@ -507,7 +507,7 @@ + Rule Denver 1965 1966 - Apr lastSun 2:00 1:00 D + Rule Denver 1965 1966 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Denver -6:59:56 - LMT 1883 Nov 18 12:00:04 ++Zone America/Denver -6:59:56 - LMT 1883 Nov 18 19:00u + -7:00 US M%sT 1920 + -7:00 Denver M%sT 1942 + -7:00 US M%sT 1946 +@@ -560,7 +560,7 @@ + Rule CA 1950 1961 - Sep lastSun 2:00 0 S + Rule CA 1962 1966 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:07:02 ++Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 20:00u + -8:00 US P%sT 1946 + -8:00 CA P%sT 1967 + -8:00 US P%sT +@@ -822,14 +822,13 @@ + # Go with the Arizona State Library instead. + + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 11:31:42 ++Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 19:00u + -7:00 US M%sT 1944 Jan 1 0:01 + -7:00 - MST 1944 Apr 1 0:01 + -7:00 US M%sT 1944 Oct 1 0:01 + -7:00 - MST 1967 + -7:00 US M%sT 1968 Mar 21 + -7:00 - MST +-Link America/Phoenix America/Creston + + # From Arthur David Olson (1988-02-13): + # A writer from the Inter Tribal Council of Arizona, Inc., +@@ -850,7 +849,7 @@ + # switched four weeks late in 1974. + # + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:15:11 ++Zone America/Boise -7:44:49 - LMT 1883 Nov 18 20:00u + -8:00 US P%sT 1923 May 13 2:00 + -7:00 US M%sT 1974 + -7:00 - MST 1974 Feb 3 2:00 +@@ -922,7 +921,7 @@ + Rule Indianapolis 1941 1954 - Sep lastSun 2:00 0 S + Rule Indianapolis 1946 1954 - Apr lastSun 2:00 1:00 D + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Indianapolis -5:44:38 - LMT 1883 Nov 18 12:15:22 ++Zone America/Indiana/Indianapolis -5:44:38 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1920 + -6:00 Indianapolis C%sT 1942 + -6:00 US C%sT 1946 +@@ -942,7 +941,7 @@ + Rule Marengo 1954 1960 - Apr lastSun 2:00 1:00 D + Rule Marengo 1954 1960 - Sep lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Marengo -5:45:23 - LMT 1883 Nov 18 12:14:37 ++Zone America/Indiana/Marengo -5:45:23 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1951 + -6:00 Marengo C%sT 1961 Apr 30 2:00 + -5:00 - EST 1969 +@@ -966,7 +965,7 @@ + Rule Vincennes 1961 only - Sep lastSun 2:00 0 S + Rule Vincennes 1962 1963 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Vincennes -5:50:07 - LMT 1883 Nov 18 12:09:53 ++Zone America/Indiana/Vincennes -5:50:07 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1946 + -6:00 Vincennes C%sT 1964 Apr 26 2:00 + -5:00 - EST 1969 +@@ -986,7 +985,7 @@ + Rule Perry 1956 1963 - Apr lastSun 2:00 1:00 D + Rule Perry 1961 1963 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Tell_City -5:47:03 - LMT 1883 Nov 18 12:12:57 ++Zone America/Indiana/Tell_City -5:47:03 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1946 + -6:00 Perry C%sT 1964 Apr 26 2:00 + -5:00 - EST 1967 Oct 29 2:00 +@@ -1003,7 +1002,7 @@ + Rule Pike 1956 1964 - Apr lastSun 2:00 1:00 D + Rule Pike 1961 1964 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Petersburg -5:49:07 - LMT 1883 Nov 18 12:10:53 ++Zone America/Indiana/Petersburg -5:49:07 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1955 + -6:00 Pike C%sT 1965 Apr 25 2:00 + -5:00 - EST 1966 Oct 30 2:00 +@@ -1025,7 +1024,7 @@ + Rule Starke 1957 1958 - Sep lastSun 2:00 0 S + Rule Starke 1959 1961 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Knox -5:46:30 - LMT 1883 Nov 18 12:13:30 ++Zone America/Indiana/Knox -5:46:30 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1947 + -6:00 Starke C%sT 1962 Apr 29 2:00 + -5:00 - EST 1963 Oct 27 2:00 +@@ -1041,7 +1040,7 @@ + Rule Pulaski 1955 1956 - Oct lastSun 2:00 0 S + Rule Pulaski 1957 1960 - Sep lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Winamac -5:46:25 - LMT 1883 Nov 18 12:13:35 ++Zone America/Indiana/Winamac -5:46:25 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1946 + -6:00 Pulaski C%sT 1961 Apr 30 2:00 + -5:00 - EST 1969 +@@ -1052,7 +1051,7 @@ + # + # Switzerland County, Indiana, did not observe DST from 1973 through 2005. + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Indiana/Vevay -5:40:16 - LMT 1883 Nov 18 12:19:44 ++Zone America/Indiana/Vevay -5:40:16 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1954 Apr 25 2:00 + -5:00 - EST 1969 + -5:00 US E%sT 1973 +@@ -1088,7 +1087,7 @@ + Rule Louisville 1950 1955 - Sep lastSun 2:00 0 S + Rule Louisville 1956 1961 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] +-Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 12:16:58 ++Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1921 + -6:00 Louisville C%sT 1942 + -6:00 US C%sT 1946 +@@ -1122,7 +1121,7 @@ + # Federal Register 65, 160 (2000-08-17), pp 50154-50158. + # https://www.gpo.gov/fdsys/pkg/FR-2000-08-17/html/00-20854.htm + # +-Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 12:20:36 ++Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 18:00u + -6:00 US C%sT 1946 + -6:00 - CST 1968 + -6:00 US C%sT 2000 Oct 29 2:00 +@@ -1603,23 +1602,6 @@ + + # Ontario + +-# From Paul Eggert (2006-07-09): +-# Shanks & Pottenger write that since 1970 most of Ontario has been like +-# Toronto. +-# Thunder Bay skipped DST in 1973. +-# Many smaller locales did not observe peacetime DST until 1974; +-# Nipigon (EST) and Rainy River (CST) are the largest that we know of. +-# Far west Ontario is like Winnipeg; far east Quebec is like Halifax. +- +-# From Jeffery Nichols (2020-02-06): +-# According to the [Shanks] atlas, those western Ontario zones are huge, +-# covering most of Ontario northwest of Sault Ste Marie and Timmins. +-# The zones seem to include towns bigger than the ones they're named after, +-# like Dryden in America/Rainy_River and Wawa (and maybe Attawapiskat) in +-# America/Nipigon. I assume it's too much trouble to change the name of the +-# zone (like when you found out that America/Glace_Bay includes Sydney, Nova +-# Scotia).... +- + # From Mark Brader (2003-07-26): + # [According to the Toronto Star] Orillia, Ontario, adopted DST + # effective Saturday, 1912-06-22, 22:00; the article mentions that +@@ -1640,17 +1622,6 @@ + + # From Mark Brader (2010-03-06): + # +-# Currently the database has: +-# +-# # Ontario +-# +-# # From Paul Eggert (2006-07-09): +-# # Shanks & Pottenger write that since 1970 most of Ontario has been like +-# # Toronto. +-# # Thunder Bay skipped DST in 1973. +-# # Many smaller locales did not observe peacetime DST until 1974; +-# # Nipigon (EST) and Rainy River (CST) are the largest that we know of. +-# + # In the (Toronto) Globe and Mail for Saturday, 1955-09-24, in the bottom + # right corner of page 1, it says that Toronto will return to standard + # time at 2 am Sunday morning (which agrees with the database), and that: +@@ -1658,10 +1629,8 @@ + # The one-hour setback will go into effect throughout most of Ontario, + # except in areas like Windsor which remains on standard time all year. + # +-# Windsor is, of course, a lot larger than Nipigon. +-# +-# I only came across this incidentally. I don't know if Windsor began +-# observing DST when Detroit did, or in 1974, or on some other date. ++# ... I don't know if Windsor began observing DST when Detroit did, ++# or in 1974, or on some other date. + # + # By the way, the article continues by noting that: + # +@@ -1743,23 +1712,7 @@ + # Toronto Star, which said that DST was ending 1971-10-31 as usual. + Rule Toronto 1957 1973 - Oct lastSun 2:00 0 S + +-# From Paul Eggert (2003-07-27): +-# Willett (1914-03) writes (p. 17) "In the Cities of Fort William, and +-# Port Arthur, Ontario, the principle of the Bill has been in +-# operation for the past three years, and in the City of Moose Jaw, +-# Saskatchewan, for one year." +- +-# From David Bryan via Tory Tronrud, Director/Curator, +-# Thunder Bay Museum (2003-11-12): +-# There is some suggestion, however, that, by-law or not, daylight +-# savings time was being practiced in Fort William and Port Arthur +-# before 1909.... [I]n 1910, the line between the Eastern and Central +-# Time Zones was permanently moved about two hundred miles west to +-# include the Thunder Bay area.... When Canada adopted daylight +-# savings time in 1916, Fort William and Port Arthur, having done so +-# already, did not change their clocks.... During the Second World +-# War,... [t]he cities agreed to implement DST during the summer +-# months for the remainder of the war years. ++# The Bahamas match Toronto since 1970. + + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone America/Toronto -5:17:32 - LMT 1895 +@@ -1768,22 +1721,6 @@ + -5:00 Canada E%sT 1946 + -5:00 Toronto E%sT 1974 + -5:00 Canada E%sT +-Link America/Toronto America/Nassau +-Zone America/Thunder_Bay -5:57:00 - LMT 1895 +- -6:00 - CST 1910 +- -5:00 - EST 1942 +- -5:00 Canada E%sT 1970 +- -5:00 Toronto E%sT 1973 +- -5:00 - EST 1974 +- -5:00 Canada E%sT +-Zone America/Nipigon -5:53:04 - LMT 1895 +- -5:00 Canada E%sT 1940 Sep 29 +- -5:00 1:00 EDT 1942 Feb 9 2:00s +- -5:00 Canada E%sT +-Zone America/Rainy_River -6:18:16 - LMT 1895 +- -6:00 Canada C%sT 1940 Sep 29 +- -6:00 1:00 CDT 1942 Feb 9 2:00s +- -6:00 Canada C%sT + # For Atikokan see America/Panama. + + +@@ -2616,7 +2553,15 @@ + # 5- The islands, reefs and keys shall take their timezone from the + # longitude they are located at. + ++# From Paul Eggert (2022-10-28): ++# The new Mexican law was published today: ++# https://www.dof.gob.mx/nota_detalle.php?codigo=5670045&fecha=28/10/2022 ++# This abolishes DST except where US DST rules are observed, ++# and in addition changes all of Chihuahua to -06 with no DST. ++ + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S ++Rule Mexico 1931 only - May 1 23:00 1:00 D ++Rule Mexico 1931 only - Oct 1 0:00 0 S + Rule Mexico 1939 only - Feb 5 0:00 1:00 D + Rule Mexico 1939 only - Jun 25 0:00 0 S + Rule Mexico 1940 only - Dec 9 0:00 1:00 D +@@ -2629,17 +2574,17 @@ + Rule Mexico 1996 2000 - Oct lastSun 2:00 0 S + Rule Mexico 2001 only - May Sun>=1 2:00 1:00 D + Rule Mexico 2001 only - Sep lastSun 2:00 0 S +-Rule Mexico 2002 max - Apr Sun>=1 2:00 1:00 D +-Rule Mexico 2002 max - Oct lastSun 2:00 0 S ++Rule Mexico 2002 2022 - Apr Sun>=1 2:00 1:00 D ++Rule Mexico 2002 2022 - Oct lastSun 2:00 0 S + # Zone NAME STDOFF RULES FORMAT [UNTIL] + # Quintana Roo; represented by Cancún +-Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 0:12:56 ++Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 6:00u + -6:00 - CST 1981 Dec 23 + -5:00 Mexico E%sT 1998 Aug 2 2:00 + -6:00 Mexico C%sT 2015 Feb 1 2:00 + -5:00 - EST + # Campeche, Yucatán; represented by Mérida +-Zone America/Merida -5:58:28 - LMT 1922 Jan 1 0:01:32 ++Zone America/Merida -5:58:28 - LMT 1922 Jan 1 6:00u + -6:00 - CST 1981 Dec 23 + -5:00 - EST 1982 Dec 2 + -6:00 Mexico C%sT +@@ -2653,23 +2598,21 @@ + # See: Inicia mañana Horario de Verano en zona fronteriza, El Universal, + # 2016-03-12 + # http://www.eluniversal.com.mx/articulo/estados/2016/03/12/inicia-manana-horario-de-verano-en-zona-fronteriza +-Zone America/Matamoros -6:40:00 - LMT 1921 Dec 31 23:20:00 ++Zone America/Matamoros -6:30:00 - LMT 1922 Jan 1 6:00u + -6:00 - CST 1988 + -6:00 US C%sT 1989 + -6:00 Mexico C%sT 2010 + -6:00 US C%sT + # Durango; Coahuila, Nuevo León, Tamaulipas (away from US border) +-Zone America/Monterrey -6:41:16 - LMT 1921 Dec 31 23:18:44 ++Zone America/Monterrey -6:41:16 - LMT 1922 Jan 1 6:00u + -6:00 - CST 1988 + -6:00 US C%sT 1989 + -6:00 Mexico C%sT + # Central Mexico +-Zone America/Mexico_City -6:36:36 - LMT 1922 Jan 1 0:23:24 ++Zone America/Mexico_City -6:36:36 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1927 Jun 10 23:00 + -6:00 - CST 1930 Nov 15 +- -7:00 - MST 1931 May 1 23:00 +- -6:00 - CST 1931 Oct +- -7:00 - MST 1932 Apr 1 ++ -7:00 Mexico M%sT 1932 Apr 1 + -6:00 Mexico C%sT 2001 Sep 30 2:00 + -6:00 - CST 2002 Feb 20 + -6:00 Mexico C%sT +@@ -2677,35 +2620,31 @@ + # This includes the municipalities of Janos, Ascensión, Juárez, Guadalupe, + # Práxedis G Guerrero, Coyame del Sotol, Ojinaga, and Manuel Benavides. + # (See the 2016-03-12 El Universal source mentioned above.) +-Zone America/Ojinaga -6:57:40 - LMT 1922 Jan 1 0:02:20 ++Zone America/Ojinaga -6:57:40 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1927 Jun 10 23:00 + -6:00 - CST 1930 Nov 15 +- -7:00 - MST 1931 May 1 23:00 +- -6:00 - CST 1931 Oct +- -7:00 - MST 1932 Apr 1 ++ -7:00 Mexico M%sT 1932 Apr 1 + -6:00 - CST 1996 + -6:00 Mexico C%sT 1998 + -6:00 - CST 1998 Apr Sun>=1 3:00 + -7:00 Mexico M%sT 2010 +- -7:00 US M%sT ++ -7:00 US M%sT 2022 Oct 30 2:00 ++ -6:00 - CST + # Chihuahua (away from US border) +-Zone America/Chihuahua -7:04:20 - LMT 1921 Dec 31 23:55:40 ++Zone America/Chihuahua -7:04:20 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1927 Jun 10 23:00 + -6:00 - CST 1930 Nov 15 +- -7:00 - MST 1931 May 1 23:00 +- -6:00 - CST 1931 Oct +- -7:00 - MST 1932 Apr 1 ++ -7:00 Mexico M%sT 1932 Apr 1 + -6:00 - CST 1996 + -6:00 Mexico C%sT 1998 + -6:00 - CST 1998 Apr Sun>=1 3:00 +- -7:00 Mexico M%sT ++ -7:00 Mexico M%sT 2022 Oct 30 2:00 ++ -6:00 - CST + # Sonora +-Zone America/Hermosillo -7:23:52 - LMT 1921 Dec 31 23:36:08 ++Zone America/Hermosillo -7:23:52 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1927 Jun 10 23:00 + -6:00 - CST 1930 Nov 15 +- -7:00 - MST 1931 May 1 23:00 +- -6:00 - CST 1931 Oct +- -7:00 - MST 1932 Apr 1 ++ -7:00 Mexico M%sT 1932 Apr 1 + -6:00 - CST 1942 Apr 24 + -7:00 - MST 1949 Jan 14 + -8:00 - PST 1970 +@@ -2740,24 +2679,20 @@ + # Use "Bahia_Banderas" to keep the name to fourteen characters. + + # Mazatlán +-Zone America/Mazatlan -7:05:40 - LMT 1921 Dec 31 23:54:20 ++Zone America/Mazatlan -7:05:40 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1927 Jun 10 23:00 + -6:00 - CST 1930 Nov 15 +- -7:00 - MST 1931 May 1 23:00 +- -6:00 - CST 1931 Oct +- -7:00 - MST 1932 Apr 1 ++ -7:00 Mexico M%sT 1932 Apr 1 + -6:00 - CST 1942 Apr 24 + -7:00 - MST 1949 Jan 14 + -8:00 - PST 1970 + -7:00 Mexico M%sT + + # Bahía de Banderas +-Zone America/Bahia_Banderas -7:01:00 - LMT 1921 Dec 31 23:59:00 ++Zone America/Bahia_Banderas -7:01:00 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1927 Jun 10 23:00 + -6:00 - CST 1930 Nov 15 +- -7:00 - MST 1931 May 1 23:00 +- -6:00 - CST 1931 Oct +- -7:00 - MST 1932 Apr 1 ++ -7:00 Mexico M%sT 1932 Apr 1 + -6:00 - CST 1942 Apr 24 + -7:00 - MST 1949 Jan 14 + -8:00 - PST 1970 +@@ -2765,7 +2700,7 @@ + -6:00 Mexico C%sT + + # Baja California +-Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56 ++Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 7:00u + -7:00 - MST 1924 + -8:00 - PST 1927 Jun 10 23:00 + -7:00 - MST 1930 Nov 15 +@@ -2802,20 +2737,16 @@ + # http://dof.gob.mx/nota_detalle.php?codigo=5127480&fecha=06/01/2010 + # It has been moved to the 'backward' file. + # ++# From Paul Eggert (2022-10-28): ++# Today's new law states that the entire state of Baja California ++# follows US DST rules, which agrees with simplifications noted above. ++# + # + # Revillagigedo Is + # no information + + ############################################################################### + +-# Anguilla +-# Antigua and Barbuda +-# See America/Puerto_Rico. +- +-# The Bahamas +-# See America/Toronto. +- +- + # Barbados + + # For 1899 Milne gives -3:58:29.2. +@@ -3028,12 +2959,6 @@ + -4:00 Canada A%sT 1976 + -4:00 US A%sT + +-# Caribbean Netherlands +-# See America/Puerto_Rico. +- +-# Cayman Is +-# See America/Panama. +- + # Costa Rica + + # Milne gives -5:36:13.3 as San José mean time. +@@ -3259,9 +3184,6 @@ + -5:29:36 - HMT 1925 Jul 19 12:00 # Havana MT + -5:00 Cuba C%sT + +-# Dominica +-# See America/Puerto_Rico. +- + # Dominican Republic + + # From Steffen Thorsen (2000-10-30): +@@ -3308,12 +3230,6 @@ + Zone America/El_Salvador -5:56:48 - LMT 1921 # San Salvador + -6:00 Salv C%sT + +-# Grenada +-# Guadeloupe +-# St Barthélemy +-# St Martin (French part) +-# See America/Puerto_Rico. +- + # Guatemala + # + # From Gwillim Law (2006-04-22), after a heads-up from Oscar van Vlijmen: +@@ -3499,9 +3415,6 @@ + -4:00 1:00 ADT 1980 Sep 28 + -4:00 - AST + +-# Montserrat +-# See America/Puerto_Rico. +- + # Nicaragua + # + # This uses Shanks & Pottenger for times before 2005. +@@ -3567,44 +3480,39 @@ + -5:00 - EST 1997 + -6:00 Nic C%sT + ++# Cayman Is + # Panama ++# ++# Atikokan and Coral Harbour, Canada, match Panama since 1970. + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone America/Panama -5:18:08 - LMT 1890 + -5:19:36 - CMT 1908 Apr 22 # Colón Mean Time + -5:00 - EST +-Link America/Panama America/Atikokan +-Link America/Panama America/Cayman + ++# Anguilla ++# Antigua & Barbuda ++# Aruba ++# Caribbean Netherlands ++# Curaçao ++# Dominica ++# Grenada ++# Guadeloupe ++# Montserrat + # Puerto Rico ++# St Barthélemy ++# St Kitts-Nevis ++# Sint Maarten / St Martin ++# St Lucia ++# St Vincent & the Grenadines ++# Trinidad & Tobago ++# Virgin Is (UK & US) ++# + # There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'. + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan + -4:00 - AST 1942 May 3 + -4:00 US A%sT 1946 + -4:00 - AST +-Link America/Puerto_Rico America/Anguilla +-Link America/Puerto_Rico America/Antigua +-Link America/Puerto_Rico America/Aruba +-Link America/Puerto_Rico America/Curacao +-Link America/Puerto_Rico America/Blanc-Sablon # Quebec (Lower North Shore) +-Link America/Puerto_Rico America/Dominica +-Link America/Puerto_Rico America/Grenada +-Link America/Puerto_Rico America/Guadeloupe +-Link America/Puerto_Rico America/Kralendijk # Caribbean Netherlands +-Link America/Puerto_Rico America/Lower_Princes # Sint Maarten +-Link America/Puerto_Rico America/Marigot # St Martin (French part) +-Link America/Puerto_Rico America/Montserrat +-Link America/Puerto_Rico America/Port_of_Spain # Trinidad & Tobago +-Link America/Puerto_Rico America/St_Barthelemy # St Barthélemy +-Link America/Puerto_Rico America/St_Kitts # St Kitts & Nevis +-Link America/Puerto_Rico America/St_Lucia +-Link America/Puerto_Rico America/St_Thomas # Virgin Islands (US) +-Link America/Puerto_Rico America/St_Vincent +-Link America/Puerto_Rico America/Tortola # Virgin Islands (UK) +- +-# St Kitts-Nevis +-# St Lucia +-# See America/Puerto_Rico. + + # St Pierre and Miquelon + # There are too many St Pierres elsewhere, so we'll use 'Miquelon'. +@@ -3614,12 +3522,6 @@ + -3:00 - -03 1987 + -3:00 Canada -03/-02 + +-# St Vincent and the Grenadines +-# See America/Puerto_Rico. +- +-# Sint Maarten +-# See America/Puerto_Rico. +- + # Turks and Caicos + # + # From Chris Dunn in +@@ -3689,11 +3591,6 @@ + -4:00 - AST 2018 Mar 11 3:00 + -5:00 US E%sT + +-# British Virgin Is +-# US Virgin Is +-# See America/Puerto_Rico. +- +- + # Local Variables: + # coding: utf-8 + # End: +--- contrib/tzdata/pacificnew.orig ++++ contrib/tzdata/pacificnew +@@ -1,29 +0,0 @@ +-# tzdb data for proposed US election time (this file is obsolete) +- +-# This file is in the public domain, so clarified as of +-# 2009-05-17 by Arthur David Olson. +- +-# From Arthur David Olson (1989-04-05): +-# On 1989-04-05, the U. S. House of Representatives passed (238-154) a bill +-# establishing "Pacific Presidential Election Time"; it was not acted on +-# by the Senate or signed into law by the President. +-# You might want to change the "PE" (Presidential Election) below to +-# "Q" (Quadrennial) to maintain three-character zone abbreviations. +-# If you're really conservative, you might want to change it to "D". +-# Avoid "L" (Leap Year), which won't be true in 2100. +- +-# If Presidential Election Time is ever established, replace "XXXX" below +-# with the year the law takes effect and uncomment the "##" lines. +- +-# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-## Rule Twilite XXXX max - Apr Sun>=1 2:00 1:00 D +-## Rule Twilite XXXX max uspres Oct lastSun 2:00 1:00 PE +-## Rule Twilite XXXX max uspres Nov Sun>=7 2:00 0 S +-## Rule Twilite XXXX max nonpres Oct lastSun 2:00 0 S +- +-# Zone NAME STDOFF RULES/SAVE FORMAT [UNTIL] +-## Zone America/Los_Angeles-PET -8:00 US P%sT XXXX +-## -8:00 Twilite P%sT +- +-# For now... +-Link America/Los_Angeles US/Pacific-New ## +--- contrib/tzdata/southamerica.orig ++++ contrib/tzdata/southamerica +@@ -585,9 +585,6 @@ + -3:00 Arg -03/-02 2008 Oct 18 + -3:00 - -03 + +-# Aruba +-# See America/Puerto_Rico. +- + # Bolivia + # Zone NAME STDOFF RULES FORMAT [UNTIL] + Zone America/La_Paz -4:32:36 - LMT 1890 +@@ -1309,8 +1306,14 @@ + # for America/Santiago will start on midnight of September 11th; + # and will end on April 1st, 2023. Magallanes region (America/Punta_Arenas) + # will keep UTC -3 "indefinitely"... This is because on September 4th +-# we will have a voting whether to approve a new Constitution.... +-# https://www.interior.gob.cl/noticias/2022/08/09/comunicado-el-proximo-sabado-10-de-septiembre-los-relojes-se-deben-adelantar-una-hora/ ++# we will have a voting whether to approve a new Constitution. ++# ++# From Eduardo Romero Urra (2022-08-17): ++# https://www.diariooficial.interior.gob.cl/publicaciones/2022/08/13/43327/01/2172567.pdf ++# ++# From Paul Eggert (2022-08-17): ++# Although the presidential decree stops at fall 2026, assume that ++# similar DST rules will continue thereafter. + + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule Chile 1927 1931 - Sep 1 0:00 1:00 - +@@ -1426,15 +1429,6 @@ + # Malpelo, Providencia, San Andres + # no information; probably like America/Bogota + +-# Curaçao +-# See America/Puerto_Rico. +-# +-# From Arthur David Olson (2011-06-15): +-# use links for places with new iso3166 codes. +-# The name "Lower Prince's Quarter" is both longer than fourteen characters +-# and contains an apostrophe; use "Lower_Princes".... +-# From Paul Eggert (2021-09-29): +-# These backward-compatibility links now are in the 'northamerica' file. + + # Ecuador + # +@@ -1750,9 +1744,6 @@ + -3:30 - -0330 1984 Oct + -3:00 - -03 + +-# Trinidad and Tobago +-# See America/Puerto_Rico. +- + # Uruguay + # From Paul Eggert (1993-11-18): + # Uruguay wins the prize for the strangest peacetime manipulation of the rules. +--- contrib/tzdata/systemv.orig ++++ contrib/tzdata/systemv +@@ -1,39 +0,0 @@ +-# tzdb data for System V rules (this file is obsolete) +- +-# This file is in the public domain, so clarified as of +-# 2009-05-17 by Arthur David Olson. +- +-# Old rules, should the need arise. +-# No attempt is made to handle Newfoundland, since it cannot be expressed +-# using the System V "TZ" scheme (half-hour offset), or anything outside +-# North America (no support for non-standard DST start/end dates), nor +-# the changes in the DST rules in the US after 1976 (which occurred after +-# the old rules were written). +-# +-# If you need the old rules, uncomment ## lines. +-# Compile this *without* leap second correction for true conformance. +- +-# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-Rule SystemV min 1973 - Apr lastSun 2:00 1:00 D +-Rule SystemV min 1973 - Oct lastSun 2:00 0 S +-Rule SystemV 1974 only - Jan 6 2:00 1:00 D +-Rule SystemV 1974 only - Nov lastSun 2:00 0 S +-Rule SystemV 1975 only - Feb 23 2:00 1:00 D +-Rule SystemV 1975 only - Oct lastSun 2:00 0 S +-Rule SystemV 1976 max - Apr lastSun 2:00 1:00 D +-Rule SystemV 1976 max - Oct lastSun 2:00 0 S +- +-# Zone NAME STDOFF RULES/SAVE FORMAT [UNTIL] +-## Zone SystemV/AST4ADT -4:00 SystemV A%sT +-## Zone SystemV/EST5EDT -5:00 SystemV E%sT +-## Zone SystemV/CST6CDT -6:00 SystemV C%sT +-## Zone SystemV/MST7MDT -7:00 SystemV M%sT +-## Zone SystemV/PST8PDT -8:00 SystemV P%sT +-## Zone SystemV/YST9YDT -9:00 SystemV Y%sT +-## Zone SystemV/AST4 -4:00 - AST +-## Zone SystemV/EST5 -5:00 - EST +-## Zone SystemV/CST6 -6:00 - CST +-## Zone SystemV/MST7 -7:00 - MST +-## Zone SystemV/PST8 -8:00 - PST +-## Zone SystemV/YST9 -9:00 - YST +-## Zone SystemV/HST10 -10:00 - HST +--- contrib/tzdata/theory.html.orig ++++ contrib/tzdata/theory.html +@@ -329,6 +329,7 @@ + These legacy names are mostly defined in the file + 'etcetera'. + Also, the file 'backward' defines the legacy names ++'Etc/GMT0', 'Etc/GMT-0', 'Etc/GMT+0', + 'GMT0', 'GMT-0' and 'GMT+0', + and the file 'northamerica' defines the legacy names + 'EST5EDT', 'CST6CDT', +--- contrib/tzdata/version.orig ++++ contrib/tzdata/version +@@ -1 +1 @@ +-2022c ++2022f +--- contrib/tzdata/yearistype.sh.orig ++++ contrib/tzdata/yearistype.sh +@@ -1,39 +0,0 @@ +-#! /bin/sh +-: 'Determine whether year is of appropriate type (this file is obsolete).' +- +-: 'This file is in the public domain, so clarified as of' +-: '2006-07-17 by Arthur David Olson.' +- +-case $#-$1 in +- 2-|2-0*|2-*[!0-9]*) +- echo "$0: wild year: $1" >&2 +- exit 1 ;; +-esac +- +-case $#-$2 in +- 2-even) +- case $1 in +- *[24680]) exit 0 ;; +- *) exit 1 ;; +- esac ;; +- 2-nonpres|2-nonuspres) +- case $1 in +- *[02468][048]|*[13579][26]) exit 1 ;; +- *) exit 0 ;; +- esac ;; +- 2-odd) +- case $1 in +- *[13579]) exit 0 ;; +- *) exit 1 ;; +- esac ;; +- 2-uspres) +- case $1 in +- *[02468][048]|*[13579][26]) exit 0 ;; +- *) exit 1 ;; +- esac ;; +- 2-*) +- echo "$0: wild type: $2" >&2 ;; +-esac +- +-echo "$0: usage is $0 year even|odd|uspres|nonpres|nonuspres" >&2 +-exit 1 +--- contrib/tzdata/ziguard.awk.orig ++++ contrib/tzdata/ziguard.awk +@@ -15,6 +15,9 @@ + # after main became rearguard and vanguard became main). + # There is no need to convert rearguard to other forms. + # ++# When converting to vanguard form, the output can use the line ++# "Zone GMT 0 - GMT" which TZUpdater 2.3.2 mistakenly rejects. ++# + # When converting to vanguard form, the output can use negative SAVE + # values. + # +@@ -151,6 +154,17 @@ + } + } + ++ # In vanguard form, use the line "Zone GMT 0 - GMT" instead of ++ # "Zone Etc/GMT 0 - GMT" and adjust Link lines accordingly. ++ # This works around a bug in TZUpdater 2.3.2. ++ if (/^#?(Zone|Link)[\t ]+(Etc\/)?GMT[\t ]/) { ++ if (($2 == "GMT") == (DATAFORM == "vanguard")) { ++ uncomment = in_comment ++ } else { ++ comment_out = !in_comment ++ } ++ } ++ + if (uncomment) { + sub(/^#/, "") + } +@@ -297,6 +311,39 @@ + } + } + ++# Return a link line resulting by changing OLDLINE to link to TARGET ++# from LINKNAME, instead of linking to OLDTARGET from LINKNAME. ++# Align data columns the same as they were in OLDLINE. ++# Also, replace any existing white space followed by comment with COMMENT. ++function make_linkline(oldline, target, linkname, oldtarget, comment, \ ++ oldprefix, oldprefixlen, oldtargettabs, \ ++ replsuffix, targettabs) ++{ ++ oldprefix = "Link\t" oldtarget "\t" ++ oldprefixlen = length(oldprefix) ++ if (substr(oldline, 1, oldprefixlen) == oldprefix) { ++ # Use tab stops to preserve LINKNAME's column. ++ replsuffix = substr(oldline, oldprefixlen + 1) ++ sub(/[\t ]*#.*/, "", replsuffix) ++ oldtargettabs = int(length(oldtarget) / 8) + 1 ++ targettabs = int(length(target) / 8) + 1 ++ for (; targettabs < oldtargettabs; targettabs++) { ++ replsuffix = "\t" replsuffix ++ } ++ for (; oldtargettabs < targettabs && replsuffix ~ /^\t/; targettabs--) { ++ replsuffix = substr(replsuffix, 2) ++ } ++ } else { ++ # Odd format line; don't bother lining up its replacement nicely. ++ replsuffix = linkname ++ } ++ return "Link\t" target "\t" replsuffix comment ++} ++ ++/^Link/ && $4 == "#=" && DATAFORM == "vanguard" { ++ $0 = make_linkline($0, $5, $3, $2) ++} ++ + # If a Link line is followed by a Link or Zone line for the same data, comment + # out the Link line. This can happen if backzone overrides a Link + # with a Zone or a different Link. +@@ -306,11 +353,34 @@ + /^Link/ { + sub(/^Link/, "#Link", line[linkline[$3]]) + linkline[$3] = NR ++ linktarget[$3] = $2 + } + + { line[NR] = $0 } + ++function cut_link_chains_short( \ ++ l, linkname, t, target) ++{ ++ for (linkname in linktarget) { ++ target = linktarget[linkname] ++ t = linktarget[target] ++ if (t) { ++ # TARGET is itself a link name. Replace the line "Link TARGET LINKNAME" ++ # with "Link T LINKNAME #= TARGET", where T is at the end of the chain ++ # of links that LINKNAME points to. ++ while ((u = linktarget[t])) { ++ t = u ++ } ++ l = linkline[linkname] ++ line[l] = make_linkline(line[l], t, linkname, target, "\t#= " target) ++ } ++ } ++} ++ + END { ++ if (DATAFORM != "vanguard") { ++ cut_link_chains_short() ++ } + for (i = 1; i <= NR; i++) + print line[i] + } +--- contrib/tzdata/zone.tab.orig ++++ contrib/tzdata/zone.tab +@@ -114,13 +114,10 @@ + CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas) + CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore) + CA +4339-07923 America/Toronto Eastern - ON, QC (most areas) +-CA +4901-08816 America/Nipigon Eastern - ON, QC (no DST 1967-73) +-CA +4823-08915 America/Thunder_Bay Eastern - ON (Thunder Bay) + CA +6344-06828 America/Iqaluit Eastern - NU (most east areas) + CA +6608-06544 America/Pangnirtung Eastern - NU (Pangnirtung) + CA +484531-0913718 America/Atikokan EST - ON (Atikokan); NU (Coral H) + CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba +-CA +4843-09434 America/Rainy_River Central - ON (Rainy R, Ft Frances) + CA +744144-0944945 America/Resolute Central - NU (Resolute) + CA +624900-0920459 America/Rankin_Inlet Central - NU (central) + CA +5024-10439 America/Regina CST - SK (most areas) +@@ -401,8 +398,6 @@ + TW +2503+12130 Asia/Taipei + TZ -0648+03917 Africa/Dar_es_Salaam + UA +5026+03031 Europe/Kyiv Ukraine (most areas) +-UA +4837+02218 Europe/Uzhgorod Transcarpathia +-UA +4750+03510 Europe/Zaporozhye Zaporozhye and east Lugansk + UG +0019+03225 Africa/Kampala + UM +2813-17722 Pacific/Midway Midway Islands + UM +1917+16637 Pacific/Wake Wake Island +--- contrib/tzdata/zone1970.tab.orig ++++ contrib/tzdata/zone1970.tab +@@ -103,12 +103,9 @@ + CA +4606-06447 America/Moncton Atlantic - New Brunswick + CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas) + CA,BS +4339-07923 America/Toronto Eastern - ON, QC (most areas), Bahamas +-CA +4901-08816 America/Nipigon Eastern - ON, QC (no DST 1967-73) +-CA +4823-08915 America/Thunder_Bay Eastern - ON (Thunder Bay) + CA +6344-06828 America/Iqaluit Eastern - NU (most east areas) + CA +6608-06544 America/Pangnirtung Eastern - NU (Pangnirtung) + CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba +-CA +4843-09434 America/Rainy_River Central - ON (Rainy R, Ft Frances) + CA +744144-0944945 America/Resolute Central - NU (Resolute) + CA +624900-0920459 America/Rankin_Inlet Central - NU (central) + CA +5024-10439 America/Regina CST - SK (most areas) +@@ -313,8 +310,6 @@ + TR +4101+02858 Europe/Istanbul + TW +2503+12130 Asia/Taipei + UA +5026+03031 Europe/Kyiv Ukraine (most areas) +-UA +4837+02218 Europe/Uzhgorod Transcarpathia +-UA +4750+03510 Europe/Zaporozhye Zaporozhye and east Lugansk + US +404251-0740023 America/New_York Eastern (most areas) + US +421953-0830245 America/Detroit Eastern - MI (most areas) + US +381515-0854534 America/Kentucky/Louisville Eastern - KY (Louisville area) +--- contrib/tzdata/zoneinfo2tdf.pl.orig ++++ contrib/tzdata/zoneinfo2tdf.pl +@@ -1,53 +0,0 @@ +-#! /usr/bin/perl -w +-# Summarize .zi input in a .zi-like format. +- +-# Courtesy Ken Pizzini. +- +-use strict; +- +-#This file released to the public domain. +- +-# Note: error checking is poor; trust the output only if the input +-# has been checked by zic. +- +-my $contZone = ''; +-while (<>) { +- my $origline = $_; +- my @fields = (); +- while (s/^\s*((?:"[^"]*"|[^\s#])+)//) { +- push @fields, $1; +- } +- next unless @fields; +- +- my $type = lc($fields[0]); +- if ($contZone) { +- @fields >= 3 or warn "bad continuation line"; +- unshift @fields, '+', $contZone; +- $type = 'zone'; +- } +- +- $contZone = ''; +- if ($type eq 'zone') { +- # Zone NAME STDOFF RULES/SAVE FORMAT [UNTIL] +- my $nfields = @fields; +- $nfields >= 5 or warn "bad zone line"; +- if ($nfields > 6) { +- #this splice is optional, depending on one's preference +- #(one big date-time field, or componentized date and time): +- splice(@fields, 5, $nfields-5, "@fields[5..$nfields-1]"); +- } +- $contZone = $fields[1] if @fields > 5; +- } elsif ($type eq 'rule') { +- # Rule NAME FROM TO - IN ON AT SAVE LETTER/S +- @fields == 10 or warn "bad rule line"; +- } elsif ($type eq 'link') { +- # Link TARGET LINK-NAME +- @fields == 3 or warn "bad link line"; +- } elsif ($type eq 'leap') { +- # Leap YEAR MONTH DAY HH:MM:SS CORR R/S +- @fields == 7 or warn "bad leap line"; +- } else { +- warn "Fubar at input line $.: $origline"; +- } +- print join("\t", @fields), "\n"; +-} +--- etc/mtree/BSD.usr.dist.orig ++++ etc/mtree/BSD.usr.dist +@@ -1275,8 +1275,6 @@ + .. + Pacific + .. +- SystemV +- .. + US + .. + .. +--- share/zoneinfo/Makefile.orig ++++ share/zoneinfo/Makefile +@@ -33,7 +33,6 @@ + .include + + PACKAGE= zoneinfo +-CLEANFILES+= yearistype + CLEANDIRS+= builddir + CONTRIBDIR= ${SRCTOP}/contrib/tzdata/ + .PATH: ${CONTRIBDIR} +@@ -51,7 +50,7 @@ + + TZFILES= africa antarctica asia australasia etcetera europe \ + factory northamerica southamerica +-TZFILES+= backward systemv ++TZFILES+= backward + POSIXRULES= America/New_York + + TZFILES:= ${TZFILES:S/^/${CONTRIBDIR}/} +@@ -71,8 +70,7 @@ + Etc \ + Europe \ + Indian \ +- Pacific \ +- SystemV ++ Pacific + TZBUILDSUBDIRS+= US Mexico Chile Canada Brazil + + .if !defined(_SKIP_BUILD) +@@ -80,12 +78,12 @@ + .endif + META_TARGETS+= zoneinfo install-zoneinfo + +-zoneinfo: yearistype ${TDATA} ++zoneinfo: ${TDATA} + mkdir -p ${TZBUILDDIR} + cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS} + umask 022; cd ${.CURDIR}; \ + zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ +- ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} ++ ${LEAPFILE} ${TZFILES} + + # + # Sort TZS to ensure they are the same every build. find -s might diff --git a/website/static/security/patches/EN-22:22/tzdata-2022f.13.patch.asc b/website/static/security/patches/EN-22:22/tzdata-2022f.13.patch.asc new file mode 100644 index 0000000000..c70cf30bf0 --- /dev/null +++ b/website/static/security/patches/EN-22:22/tzdata-2022f.13.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhlqQACgkQ05eS9J6n +5cJZ1A/+KhsuB2IuKEnEHa54Bc0d5ySJmxyp6PqK1pMdSiQVKBUqMSxpSfcO6WBQ +9DM7xIZGyjqH0flrTRQa5xoa+E5qJjyiE+6z6bbJb3i1j84h2skf7IJXotQxqDcA +G15Aut0kHpiUj7q8ajVTtKFbVsJWbH1Mh8YXzJgQZEhEEeIJACy5ka3EAsM4Qp/L +cZ2wkWI6RQwfsutFY3VY7QjWgi+5+sSPTwRA0li9nDs1PciA9C5QIHYBoutTP810 +w5i8rStNKX3+bXGSRQ0jhTPBaJTDls3yxDFBfydKAL6TB0j23I0tLT3QYbvhFKaE +R8P5mBlUHh530G32CWcnIfjh6SbDIr07If6BeTX+fbCmdLNnnB4VfwmIlxqnGkTi +Tm7uZNR2+CY75kFELlS6rZxB2HuFPoANNQ/3Fukfw1kwETwJXFHju5C0BWPk3DeY +mYD7KvGM8uUIu1xyhPNxP9m3ewZX7t9wEorPDHFGZbM6nywPet/ToD/v6NY0wyFF +/0ef1hTgPRjUqCd96VN4n64r5qeCRBrtqS7H2VLAbe26ouHyPIetfDv51iKePHZC +TYPiFN9VETX+Ei5HjSBggPBPhHA3RMF8hMiBnFlCRKpJNdGGgNsfdIZ1+2OVi18+ +IxAnAcwC1r+LPhKm0ErlHOlGPdkJ9RfvC14f103p5ywqFkwjw+c= +=6Xqb +-----END PGP SIGNATURE----- diff --git a/website/static/security/patches/EN-22:23/vm.patch b/website/static/security/patches/EN-22:23/vm.patch new file mode 100644 index 0000000000..78d92492fe --- /dev/null +++ b/website/static/security/patches/EN-22:23/vm.patch @@ -0,0 +1,26 @@ +--- sys/vm/vm_page.c.orig ++++ sys/vm/vm_page.c +@@ -4120,7 +4120,12 @@ + if (nqueue == PQ_ACTIVE) + new.act_count = max(old.act_count, ACT_INIT); + if (old.queue == nqueue) { +- if (nqueue != PQ_ACTIVE) ++ /* ++ * There is no need to requeue pages already in the ++ * active queue. ++ */ ++ if (nqueue != PQ_ACTIVE || ++ (old.flags & PGA_ENQUEUED) == 0) + new.flags |= nflag; + } else { + new.flags |= nflag; +@@ -4217,7 +4222,8 @@ + * referenced and avoid any queue operations. + */ + new.flags &= ~PGA_QUEUE_OP_MASK; +- if (nflag != PGA_REQUEUE_HEAD && old.queue == PQ_ACTIVE) ++ if (nflag != PGA_REQUEUE_HEAD && old.queue == PQ_ACTIVE && ++ (old.flags & PGA_ENQUEUED) != 0) + new.flags |= PGA_REFERENCED; + else { + new.flags |= nflag; diff --git a/website/static/security/patches/EN-22:23/vm.patch.asc b/website/static/security/patches/EN-22:23/vm.patch.asc new file mode 100644 index 0000000000..21572e4029 --- /dev/null +++ b/website/static/security/patches/EN-22:23/vm.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhlqQACgkQ05eS9J6n +5cJcgw//R8z7AqGJPtomfPeD/CsYFj870+HgE3bwqpiH7DsEkHFkqVPkFZcLGwKS +EH7rXmxrATwBrhNU8I+LEZuqjKHcAp7zo+FuujgDiUgr05IVlfZLQKlZO+k7c3Ts +L3yZvWsqiOVMP8h5qIM6LaOg3B7fiaWW/2nWlcpg3Nsor6gCmnXq+CBC2VwK8QVt +Dnp8VKiJwFBSNp4cjJBDdGf6DHzN2CmdWPAfrMuMjYIN8uH0y1BGPfrbf+X+XZhm +NDPJ9XvTzZfuyPUOWeHYok6ftT1Wxwc3e+DPlXaXgCDb5U8SXYahRdCkiX/9nOfi +FlZ8jpkNxKSJXHzg2ie3gIcyQO/qpsPA3+Ki8NfT7X7HT8ELzq2G9F3j87JgCU17 +A8tLfNp2LldFsXnXCZsw5afGn6fWQWZNZnwK0v/ZrBj97nnbNhMWZL0sFhkpRYXR +1E8Upf5ck5xnuVdFX7B0GHKsYC+pb6ADooGUq8TWShybuAQoBU58e5mRR4lANG8S +x4Pq5+ZdOnn7mRLZUA7QS0IrMf9qe/Mty++gr8pJln9VN1rBkaiU7HbEZG36k4bF +C5P4ukDyTK0O8OD/Kcr4vLKI42JSMlSeBYt3GulPs9rAmSNVekpuSm/i5Qm2+ga1 +R8Hsqmn8AFT0ia08pvr1VS/7R/oXVkxVVSypI/i0oeC84vv0dWQ= +=Alah +-----END PGP SIGNATURE----- diff --git a/website/static/security/patches/EN-22:24/zfs.patch b/website/static/security/patches/EN-22:24/zfs.patch new file mode 100644 index 0000000000..0f42654427 --- /dev/null +++ b/website/static/security/patches/EN-22:24/zfs.patch @@ -0,0 +1,12 @@ +--- sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c.orig ++++ sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c +@@ -1845,7 +1845,8 @@ + return (SET_ERROR(EINVAL)); + } + +- if (fidp->fid_len == LONG_FID_LEN && (fid_gen > 1 || setgen != 0)) { ++ if (fidp->fid_len == LONG_FID_LEN && setgen != 0) { ++ ZFS_EXIT(zfsvfs); + dprintf("snapdir fid: fid_gen (%llu) and setgen (%llu)\n", + (u_longlong_t)fid_gen, (u_longlong_t)setgen); + return (SET_ERROR(EINVAL)); diff --git a/website/static/security/patches/EN-22:24/zfs.patch.asc b/website/static/security/patches/EN-22:24/zfs.patch.asc new file mode 100644 index 0000000000..d2036ea373 --- /dev/null +++ b/website/static/security/patches/EN-22:24/zfs.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhlqQACgkQ05eS9J6n +5cLJWg/7Bnewrf1L/v0tjLtJz8Zqj+7iXXStoUhEmcVAOBYtjJhcKRICVwMgk7kI +xPC6nHAPWd4RFab2YF7fZzwJdd6XuTNdEqXJVNX+H5425uztVxbWqdxKsI9DT6ll +690gByASETEs6Yf/3okw3YhNA9JyESjfxB1+hBu+jk+bqhXbjRaYgXhAVMkS8pOa +B66g9XfqAtX2yPnWwuQLc+LuOKWr8CvCaqOo4Uuts9hfTiKSq2n2KwR3X72xokVL +ttBlZsgX6Rw+Ze21adPY1gTlCK3PlUYhfb3SbGrujyg77ZDZaS2Qbr02UEtgyvfM +a5ljXO8t4sHemeRRZdmp/u483M5iclDSB8x6gOwZ8dgDyeBaaWy7BmJBjv5Tj6UM +Ndn0Ci6m3J4KcYwKA2mlubAXMjwGrUjisjctO/8Dr0EJ1jGlZlzSyopAUw0yD2Yx +1EEs+7Ohn4tYRNNfsxmfGCCfanzizkQNWRyOdk1Jj0vsEhonKEGZscx8sv/3Ww25 ++z2rsf67xKcvq0d6x92Yf/wcMoEQohCe95oh9ARfeCNVFoGjrG9GJlPvZ7EVTrWm +GGpakxqHCNdqYobmPGAax6la+fk8p8MbBHKt2jcB2aXGob5X/eVOcNnSd1zSe01V +B6zYolosjZjFrYSMiJ0fZSGtE7jgLv0oYAlNlCVrl/RmbA2y6Nc= +=mSa/ +-----END PGP SIGNATURE----- diff --git a/website/static/security/patches/EN-22:25/tcp.patch b/website/static/security/patches/EN-22:25/tcp.patch new file mode 100644 index 0000000000..3404ac6b3c --- /dev/null +++ b/website/static/security/patches/EN-22:25/tcp.patch @@ -0,0 +1,104 @@ +--- sys/netinet/tcp_input.c.orig ++++ sys/netinet/tcp_input.c +@@ -287,6 +287,20 @@ + counter_u64_add(VNET(tcpstat)[statnum], val); + } + ++/* ++ * Make sure that we only start a SACK loss recovery when ++ * receiving a duplicate ACK with a SACK block, and also ++ * complete SACK loss recovery in case the other end ++ * reneges. ++ */ ++static bool inline ++tcp_is_sack_recovery(struct tcpcb *tp, struct tcpopt *to) ++{ ++ return ((tp->t_flags & TF_SACK_PERMIT) && ++ ((to->to_flags & TOF_SACK) || ++ (!TAILQ_EMPTY(&tp->snd_holes)))); ++} ++ + #ifdef TCP_HHOOK + /* + * Wrapper for the TCP established input helper hook. +@@ -2525,9 +2539,7 @@ + TCPSTAT_INC(tcps_rcvacktoomuch); + goto dropafterack; + } +- if ((tp->t_flags & TF_SACK_PERMIT) && +- ((to.to_flags & TOF_SACK) || +- !TAILQ_EMPTY(&tp->snd_holes))) ++ if (tcp_is_sack_recovery(tp, &to)) + sack_changed = tcp_sack_doack(tp, &to, th->th_ack); + else + /* +@@ -2597,8 +2609,7 @@ + * duplicating packets or a possible DoS attack. + */ + if (th->th_ack != tp->snd_una || +- ((tp->t_flags & TF_SACK_PERMIT) && +- (to.to_flags & TOF_SACK) && ++ (tcp_is_sack_recovery(tp, &to) && + !sack_changed)) + break; + else if (!tcp_timer_active(tp, TT_REXMT)) +@@ -2610,8 +2621,7 @@ + if (V_tcp_do_prr && + IN_FASTRECOVERY(tp->t_flags)) { + tcp_do_prr_ack(tp, th, &to); +- } else if ((tp->t_flags & TF_SACK_PERMIT) && +- (to.to_flags & TOF_SACK) && ++ } else if (tcp_is_sack_recovery(tp, &to) && + IN_FASTRECOVERY(tp->t_flags)) { + int awnd; + +@@ -2684,8 +2694,7 @@ + * snd_ssthresh is already updated by + * cc_cong_signal. + */ +- if ((tp->t_flags & TF_SACK_PERMIT) && +- (to.to_flags & TOF_SACK)) { ++ if (tcp_is_sack_recovery(tp, &to)) { + tp->sackhint.prr_delivered = + tp->sackhint.sacked_bytes; + } else { +@@ -2697,8 +2706,7 @@ + tp->sackhint.recover_fs = max(1, + tp->snd_nxt - tp->snd_una); + } +- if ((tp->t_flags & TF_SACK_PERMIT) && +- (to.to_flags & TOF_SACK)) { ++ if (tcp_is_sack_recovery(tp, &to)) { + TCPSTAT_INC( + tcps_sack_recovery_episode); + tp->snd_recover = tp->snd_nxt; +@@ -2790,8 +2798,7 @@ + * from the left side. Such partial ACKs should not be + * counted as dupacks here. + */ +- if ((tp->t_flags & TF_SACK_PERMIT) && +- (to.to_flags & TOF_SACK) && ++ if (tcp_is_sack_recovery(tp, &to) && + sack_changed) { + tp->t_dupacks++; + /* limit overhead by setting maxseg last */ +@@ -3973,8 +3980,7 @@ + * (del_data) and an estimate of how many bytes are in the + * network. + */ +- if (((tp->t_flags & TF_SACK_PERMIT) && +- (to->to_flags & TOF_SACK)) || ++ if (tcp_is_sack_recovery(tp, to) || + (IN_CONGRECOVERY(tp->t_flags) && + !IN_FASTRECOVERY(tp->t_flags))) { + del_data = tp->sackhint.delivered_data; +@@ -4018,8 +4024,7 @@ + * accordingly. + */ + if (IN_FASTRECOVERY(tp->t_flags)) { +- if ((tp->t_flags & TF_SACK_PERMIT) && +- (to->to_flags & TOF_SACK)) { ++ if (tcp_is_sack_recovery(tp, to)) { + tp->snd_cwnd = tp->snd_nxt - tp->snd_recover + + tp->sackhint.sack_bytes_rexmit + + (snd_cnt * maxseg); diff --git a/website/static/security/patches/EN-22:25/tcp.patch.asc b/website/static/security/patches/EN-22:25/tcp.patch.asc new file mode 100644 index 0000000000..26eeb58258 --- /dev/null +++ b/website/static/security/patches/EN-22:25/tcp.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhlqUACgkQ05eS9J6n +5cIknQ/9GhnhC3Gi+ev60YTyKA0GX1UHiPEXKhr/85BsNg9cmk3aAOIYlHoD7YjS +Igtj7dsUH5JqGl0m1ATmsba52f6hhOg74ptfAWDcnTbz4PKcnKEBl6BeNbn3JFCk +RSVRYuT9g4cheoQo8x19fVeFK53w8eslCNVZoF2D413Nd0sQv/YsPh2Z/9QHmZrZ +vegGyj7n8d4XfS0hU2PMSI67xU+Pj1HDaBkQP6gSWuYS7WJDn9zrakNItuMEOObZ +/ctpUhxFspbutypGC3icHN+eWjzPRqVDgm/GPTd2Sz1nOG5PQoEFE18QTfiuqOt5 +hsptiEReym/Dx9HvvxQ34hPYdgQ8Fd2TOItLsrCGPMWdlSANyQgsC40qEugQTMsh +bS+sFxCPQU5AZK5Yio6dpoag+k/SKQsd6TcXXL+PjTdO7Oc15nvziI70TLEkkbIX +y4i0ULa1qSkcI12C/zMMlpryN6vBjDuTjKZ59vrPFfzSxs+SFUXSEXudMnAae9dR +jokBvYCryWObVKDE8Bqp/fqwS9n5oTUR50uBZkCT0jw0c6JdhnX9WbdNXoJ6aYX9 +/vE7Ly2HwCtwtzUsEWBvE08Lx9UbOl9Sdh1sbeAPhOv0gRmzSqK3sAumxZ6cxjzv +CWbnwtFW6kyJ5PG0FRPNnA+M1HC0h3TObINbJ4V8QVofEcUtj9Y= +=taKy +-----END PGP SIGNATURE----- diff --git a/website/static/security/patches/EN-22:26/cam.patch b/website/static/security/patches/EN-22:26/cam.patch new file mode 100644 index 0000000000..dcfddd40ec --- /dev/null +++ b/website/static/security/patches/EN-22:26/cam.patch @@ -0,0 +1,18 @@ +--- sys/cam/cam_periph.c.orig ++++ sys/cam/cam_periph.c +@@ -52,6 +52,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -1120,6 +1121,7 @@ + error = found = 0; + + switch(cmd){ ++ case CAMGETPASSTHRU_0x19: + case CAMGETPASSTHRU: + ccb = cam_periph_getccb(periph, CAM_PRIORITY_NORMAL); + xpt_setup_ccb(&ccb->ccb_h, diff --git a/website/static/security/patches/EN-22:26/cam.patch.asc b/website/static/security/patches/EN-22:26/cam.patch.asc new file mode 100644 index 0000000000..82097ba632 --- /dev/null +++ b/website/static/security/patches/EN-22:26/cam.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhlqUACgkQ05eS9J6n +5cJhCw/+MYQ3FCxMp80E41SeWigy1cFzkwfIHblah8TwA1avMzg5d1h3vj2JC5uB +8kRGFboJ0np+0vye5Jr/ZHzznaMKlt4sIs92yssWUtr5L9jHMcf/SALCUN2Tfvuw +ml/rbbf0CnpNAYvNpZvqzIQRXLGjtg/CQGX2NHKOgpWs5CGsKi/N61LljPdPDHve +pOqBDOGF9COCmSkZdBeAyS0+mT3VgCI8japCzYq+5Bu/bPEjALPKmL3s3eI4qALn +xd4GymbfzbDdrehHGZi7jY+ZFrhDJaT0qKrGNFDf14px5C5nqN5EGOJvug3tjiot +MySD4bK6i+rc6/7idKaqoASyYS6OwevLPEOak20KEiUoHiZL5jbH9AI+oFvnIbTe +pIW/vIfp/Ijyb/BgguMIP10hv899xMwkboEl6rWO9jpBeeJAyBd20Akwiy82YOcM +A3evEsR0UZ6tK2lPBcLp9TiV+Ni+WbYxZWOS9DzxZBTn0fm36t/+Uo/m1/c4UMm0 +PFT/TJbyGXIYpwmELJWqMUDjRDnhHT1WIwIIuQn4tEfUmJDQOF71rC5OVzzzmYeJ +oKSmND6Btwwqk4incoz6MAUkSWgoiND9u5SFE1mkWCgvhrrNxD/YaCFwYjWzbdqr +6oCA4jwlmXSXGTOQa7CV2h0hdND2lPIZ836hLlyUbDcPMWitr5g= +=CmO2 +-----END PGP SIGNATURE----- diff --git a/website/static/security/patches/EN-22:27/loader.patch b/website/static/security/patches/EN-22:27/loader.patch new file mode 100644 index 0000000000..6fc98da878 --- /dev/null +++ b/website/static/security/patches/EN-22:27/loader.patch @@ -0,0 +1,14 @@ +--- stand/common/load_elf.c.orig ++++ stand/common/load_elf.c +@@ -1259,9 +1259,8 @@ + strp = strdupout((vm_offset_t)(ef->strtab + sym.st_name)); + if (strcmp(name, strp) == 0) { + free(strp); +- if (sym.st_shndx != SHN_UNDEF || +- (sym.st_value != 0 && +- ELF_ST_TYPE(sym.st_info) == type)) { ++ if (sym.st_shndx != SHN_UNDEF && sym.st_value != 0 && ++ ELF_ST_TYPE(sym.st_info) == type) { + *symp = sym; + return 0; + } diff --git a/website/static/security/patches/EN-22:27/loader.patch.asc b/website/static/security/patches/EN-22:27/loader.patch.asc new file mode 100644 index 0000000000..c70e2c110f --- /dev/null +++ b/website/static/security/patches/EN-22:27/loader.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE/A6HiuWv54gCjWNV05eS9J6n5cIFAmNhlqUACgkQ05eS9J6n +5cL5YhAAkDNevoJdfDvXr9V+TFAW27TVhBP3nR0lcBWQpZKRcz5yrASlaF4ZNgJS +NP1xU3DgkQTzc6ivEDI5pJ86QXNRZ8cipr4sS0WD08K9b8J6bSpVVVRpl9Yw6YzC +iud7GAHXgbWrpHNtNPut01MQhQA7bht+DXWKtjQvUv+AM2OIgkrbt7yL4tNmJKTL +TdlfGLXTq9UfdG2d/JdkkULxPyOw59IWzATtcMrvoEvpMvUQZUppfoW4MEAzs9QX +HlYTeOVWDU40imQxj2sP4qqL/CJztaIroEi5PjGrb255fng3HYgbM3+8HVmWgkXF +ahvK20pgZR66t33jqx5lTXIOzu+CbUf/HOLkGAi1+0sEUdT3/FeMekuvn+k6QPC/ +8SrW14IH+sgbPbdcx8oDMK+mL1HPdj6y1mkSVJz+9BNXa2PbR+/EjQsz8c+WnkQJ +XSh4+YKBkkR4OMe/c1nhn8j9H/TDyB5wZapkhwvTPbq6wIljaCuwKm7ErdfsRbhh +ajev2FdWIv9zGsa8sMjTs7mS3/Zlc0FLvJC0Dw1Yg1epe+kCMp4xTdgQvl6/ceiW ++GUDcAMnStKXm8J2raHWmSRz8+vPh5NRvx/s5+NeEwVLX/wbXVycV1rYjh0/dU45 +YAxL41WuQHPB+utmGHl0t4th1cUk1zA9h9BCPR5L8GB3nXHeyqs= +=DHtC +-----END PGP SIGNATURE-----