From owner-svn-src-stable-10@freebsd.org Sun Mar 25 01:17:41 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 88346F5F383; Sun, 25 Mar 2018 01:17:41 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 36B706A106; Sun, 25 Mar 2018 01:17:41 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 305E0171F6; Sun, 25 Mar 2018 01:17:41 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2P1HfBf091154; Sun, 25 Mar 2018 01:17:41 GMT (envelope-from sevan@FreeBSD.org) Received: (from sevan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2P1HegM091152; Sun, 25 Mar 2018 01:17:40 GMT (envelope-from sevan@FreeBSD.org) Message-Id: <201803250117.w2P1HegM091152@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sevan set sender to sevan@FreeBSD.org using -f From: Sevan Janiyan Date: Sun, 25 Mar 2018 01:17:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331512 - in stable/10/share/man: man4 man9 X-SVN-Group: stable-10 X-SVN-Commit-Author: sevan X-SVN-Commit-Paths: in stable/10/share/man: man4 man9 X-SVN-Commit-Revision: 331512 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Mar 2018 01:17:41 -0000 Author: sevan (doc committer) Date: Sun Mar 25 01:17:40 2018 New Revision: 331512 URL: https://svnweb.freebsd.org/changeset/base/331512 Log: MFC r316721 r331274 Most wireless drivers don't support altq(4). Extend the description of ALTQ to call it a system which is a framework in altq(4) to match altq(9). This makes preserving the history section as the author of ALTQ easier in the history section, rather than calling it a framework in the description & a system in the history. Add a history section to altq(4) and extend the history section in altq(9) Modified: stable/10/share/man/man4/altq.4 stable/10/share/man/man9/altq.9 Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man4/altq.4 ============================================================================== --- stable/10/share/man/man4/altq.4 Sun Mar 25 01:03:26 2018 (r331511) +++ stable/10/share/man/man4/altq.4 Sun Mar 25 01:17:40 2018 (r331512) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 24, 2015 +.Dd March 20, 2018 .Dt ALTQ 4 .Os .Sh NAME @@ -45,7 +45,8 @@ .Sh DESCRIPTION The .Nm -framework provides several disciplines for queuing outgoing network packets. +system is a framework which provides several disciplines for queuing outgoing +network packets. This is done by modifications to the interface packet queues. See .Xr altq 9 @@ -59,7 +60,7 @@ utility, so please refer to the .Xr pfctl 8 and the .Xr pf.conf 5 -manpages for a complete description of the +man pages for a complete description of the .Nm capabilities and how to use it. .Ss Kernel Options @@ -130,7 +131,6 @@ They have been applied to the following hardware drive .Xr alc 4 , .Xr ale 4 , .Xr an 4 , -.Xr ath 4 , .Xr aue 4 , .Xr axe 4 , .Xr bce 4 , @@ -150,8 +150,6 @@ They have been applied to the following hardware drive .Xr gem 4 , .Xr hme 4 , .Xr igb 4 , -.Xr ipw 4 , -.Xr iwi 4 , .Xr ixgbe 4 , .Xr jme 4 , .Xr le 4 , @@ -163,10 +161,8 @@ They have been applied to the following hardware drive .Xr npe 4 , .Xr nve 4 , .Xr qlxgb 4 , -.Xr ral 4 , .Xr re 4 , .Xr rl 4 , -.Xr rum 4 , .Xr sf 4 , .Xr sge 4 , .Xr sis 4 , @@ -176,11 +172,9 @@ They have been applied to the following hardware drive .Xr ti 4 , .Xr txp 4 , .Xr udav 4 , -.Xr ural 4 , .Xr vge 4 , .Xr vr 4 , .Xr vte 4 , -.Xr wi 4 , and .Xr xl 4 . .Pp @@ -202,3 +196,11 @@ pseudo drivers also do support .Xr ipfw 8 , .Xr pfctl 8 , .Xr altq 9 +.Sh HISTORY +The +.Nm +system first appeared in March 1997 and found home in the KAME project +(http://www.kame.net). +It was imported to +.Fx +in 5.3 . Modified: stable/10/share/man/man9/altq.9 ============================================================================== --- stable/10/share/man/man9/altq.9 Sun Mar 25 01:03:26 2018 (r331511) +++ stable/10/share/man/man9/altq.9 Sun Mar 25 01:17:40 2018 (r331512) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 25, 2004 +.Dd March 20, 2018 .Dt ALTQ 9 .Os .\" @@ -596,4 +596,8 @@ is called immediately after .Sh HISTORY The .Nm -system first appeared in March 1997. +system first appeared in March 1997 and found home in the KAME project +(http://www.kame.net). +It was imported to +.Fx +in 5.3 . From owner-svn-src-stable-10@freebsd.org Sun Mar 25 01:24:03 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 015DEF5FD5E; Sun, 25 Mar 2018 01:24:03 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A6E356A654; Sun, 25 Mar 2018 01:24:02 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A1B29173AE; Sun, 25 Mar 2018 01:24:02 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2P1O25J096001; Sun, 25 Mar 2018 01:24:02 GMT (envelope-from sevan@FreeBSD.org) Received: (from sevan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2P1O2HH096000; Sun, 25 Mar 2018 01:24:02 GMT (envelope-from sevan@FreeBSD.org) Message-Id: <201803250124.w2P1O2HH096000@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sevan set sender to sevan@FreeBSD.org using -f From: Sevan Janiyan Date: Sun, 25 Mar 2018 01:24:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331513 - stable/10/share/examples/ppp X-SVN-Group: stable-10 X-SVN-Commit-Author: sevan X-SVN-Commit-Paths: stable/10/share/examples/ppp X-SVN-Commit-Revision: 331513 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Mar 2018 01:24:03 -0000 Author: sevan (doc committer) Date: Sun Mar 25 01:24:02 2018 New Revision: 331513 URL: https://svnweb.freebsd.org/changeset/base/331513 Log: MFC 321881 For the udp-client example, instruct user to add an entry for a udp based service. For tcp-client & udp-client, use the same port in configuration snippet as used in the comment prior to remove any ambiguity on the port number which needs to be specified. Modified: stable/10/share/examples/ppp/ppp.conf.sample Directory Properties: stable/10/ (props changed) Modified: stable/10/share/examples/ppp/ppp.conf.sample ============================================================================== --- stable/10/share/examples/ppp/ppp.conf.sample Sun Mar 25 01:17:40 2018 (r331512) +++ stable/10/share/examples/ppp/ppp.conf.sample Sun Mar 25 01:24:02 2018 (r331513) @@ -523,7 +523,7 @@ compuserve: # such as `rlogin' is involved, you may need to ``set escape 0xff'' # tcp-client: - set device tcpsrv.mynet:1234 + set device tcpsrv.mynet:6671 set dial set login set ifaddr 10.0.5.1 10.0.4.1 255.255.255.0 @@ -538,10 +538,10 @@ tcp-server: # # and this in /etc/services: # -# ppp 6671/tcp +# ppp 6671/udp # udp-client: - set device udpsrv.mynet:1234/udp + set device udpsrv.mynet:6671/udp set dial set login set ifaddr 10.0.5.1 10.0.4.1 255.255.255.0 From owner-svn-src-stable-10@freebsd.org Sun Mar 25 01:31:16 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CEC7BF607FC; Sun, 25 Mar 2018 01:31:16 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7F5546AF31; Sun, 25 Mar 2018 01:31:16 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7A43517430; Sun, 25 Mar 2018 01:31:16 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2P1VG8h096958; Sun, 25 Mar 2018 01:31:16 GMT (envelope-from sevan@FreeBSD.org) Received: (from sevan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2P1VGgk096957; Sun, 25 Mar 2018 01:31:16 GMT (envelope-from sevan@FreeBSD.org) Message-Id: <201803250131.w2P1VGgk096957@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sevan set sender to sevan@FreeBSD.org using -f From: Sevan Janiyan Date: Sun, 25 Mar 2018 01:31:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331516 - stable/10/sbin/mount_msdosfs X-SVN-Group: stable-10 X-SVN-Commit-Author: sevan X-SVN-Commit-Paths: stable/10/sbin/mount_msdosfs X-SVN-Commit-Revision: 331516 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Mar 2018 01:31:17 -0000 Author: sevan (doc committer) Date: Sun Mar 25 01:31:16 2018 New Revision: 331516 URL: https://svnweb.freebsd.org/changeset/base/331516 Log: MFC r316464 Whilst mount_pcfs originated as a patch in 386BSD, NetBSD 0.8 actually was the first release of an OS to ship with it. Heads up by Ingo Schwarze. Modified: stable/10/sbin/mount_msdosfs/mount_msdosfs.8 Directory Properties: stable/10/ (props changed) Modified: stable/10/sbin/mount_msdosfs/mount_msdosfs.8 ============================================================================== --- stable/10/sbin/mount_msdosfs/mount_msdosfs.8 Sun Mar 25 01:30:29 2018 (r331515) +++ stable/10/sbin/mount_msdosfs/mount_msdosfs.8 Sun Mar 25 01:31:16 2018 (r331516) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 3, 2016 +.Dd April 3, 2017 .Dt MOUNT_MSDOSFS 8 .Os .Sh NAME @@ -198,7 +198,7 @@ The predecessor to utility named .Nm mount_pcfs appeared in -.Bx 386 . +.Nx 0.8 . It was rewritten in .Nx 1.0 and first appeared in From owner-svn-src-stable-10@freebsd.org Sun Mar 25 01:33:52 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 54682F60DAF; Sun, 25 Mar 2018 01:33:52 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 09A286B2A9; Sun, 25 Mar 2018 01:33:52 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 045F2175A5; Sun, 25 Mar 2018 01:33:52 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2P1XpKO001251; Sun, 25 Mar 2018 01:33:51 GMT (envelope-from sevan@FreeBSD.org) Received: (from sevan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2P1Xp3x001250; Sun, 25 Mar 2018 01:33:51 GMT (envelope-from sevan@FreeBSD.org) Message-Id: <201803250133.w2P1Xp3x001250@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sevan set sender to sevan@FreeBSD.org using -f From: Sevan Janiyan Date: Sun, 25 Mar 2018 01:33:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331517 - stable/10/lib/libutil X-SVN-Group: stable-10 X-SVN-Commit-Author: sevan X-SVN-Commit-Paths: stable/10/lib/libutil X-SVN-Commit-Revision: 331517 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Mar 2018 01:33:52 -0000 Author: sevan (doc committer) Date: Sun Mar 25 01:33:51 2018 New Revision: 331517 URL: https://svnweb.freebsd.org/changeset/base/331517 Log: MFC r322665 Add caveat to kinfo_getvmmap(3) explaining high CPU utilisation. Based on kib's reply on https://lists.freebsd.org/pipermail/freebsd-hackers/2016-July/049710.html Modified: stable/10/lib/libutil/kinfo_getvmmap.3 Directory Properties: stable/10/ (props changed) Modified: stable/10/lib/libutil/kinfo_getvmmap.3 ============================================================================== --- stable/10/lib/libutil/kinfo_getvmmap.3 Sun Mar 25 01:31:16 2018 (r331516) +++ stable/10/lib/libutil/kinfo_getvmmap.3 Sun Mar 25 01:33:51 2018 (r331517) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 27, 2015 +.Dd August 18, 2017 .Dt KINFO_GETVMMAP 3 .Os .Sh NAME @@ -58,6 +58,13 @@ with the mib. While the kernel returns a packed structure, this function expands the data into a fixed record format. +.Sh CAVEAT +.Fn kinfo_getvmmap +calls can cause significant CPU consumption because calculating the residency +counts requires iterating over all memory pages of the process. +Setting the sysctl variable +.Va kern.proc_vmmap_skip_resident_count +to 1 prevents this calculation. .Sh RETURN VALUES On success the .Fn kinfo_getvmmap From owner-svn-src-stable-10@freebsd.org Mon Mar 26 14:13:43 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 216F3F706BB; Mon, 26 Mar 2018 14:13:43 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C77CB7FF2A; Mon, 26 Mar 2018 14:13:42 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C260E6029; Mon, 26 Mar 2018 14:13:42 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2QEDg6O026691; Mon, 26 Mar 2018 14:13:42 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2QEDg6v026690; Mon, 26 Mar 2018 14:13:42 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201803261413.w2QEDg6v026690@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Mon, 26 Mar 2018 14:13:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331549 - in stable: 10/release/tools 11/release/tools X-SVN-Group: stable-10 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: in stable: 10/release/tools 11/release/tools X-SVN-Commit-Revision: 331549 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Mar 2018 14:13:43 -0000 Author: gjb Date: Mon Mar 26 14:13:42 2018 New Revision: 331549 URL: https://svnweb.freebsd.org/changeset/base/331549 Log: MFC r331364: Remove google_accounts_manager from VM_RC_LIST in the GCE configuration file, no longer needed. PR: 221714 Sponsored by: The FreeBSD Foundation Modified: stable/10/release/tools/gce.conf Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/release/tools/gce.conf Directory Properties: stable/11/ (props changed) Modified: stable/10/release/tools/gce.conf ============================================================================== --- stable/10/release/tools/gce.conf Mon Mar 26 14:03:39 2018 (r331548) +++ stable/10/release/tools/gce.conf Mon Mar 26 14:13:42 2018 (r331549) @@ -9,7 +9,7 @@ export VM_EXTRA_PACKAGES="firstboot-freebsd-update fir sysutils/py-google-compute-engine" # Set to a list of third-party software to enable in rc.conf(5). -export VM_RC_LIST="google_accounts_manager ntpd sshd firstboot_growfs \ +export VM_RC_LIST="ntpd sshd firstboot_growfs \ firstboot_pkgs firstboot_freebsd_update google_startup \ google_accounts_daemon google_clock_skew_daemon google_instance_setup google_ip_forwarding_daemon From owner-svn-src-stable-10@freebsd.org Tue Mar 27 11:34:35 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DBDFCF70E64; Tue, 27 Mar 2018 11:34:34 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8A8A67F547; Tue, 27 Mar 2018 11:34:34 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 855FF1B8BC; Tue, 27 Mar 2018 11:34:34 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2RBYY3T076686; Tue, 27 Mar 2018 11:34:34 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2RBYYBJ076683; Tue, 27 Mar 2018 11:34:34 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201803271134.w2RBYYBJ076683@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Tue, 27 Mar 2018 11:34:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331612 - in stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys X-SVN-Group: stable-10 X-SVN-Commit-Author: avg X-SVN-Commit-Paths: in stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys X-SVN-Commit-Revision: 331612 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Mar 2018 11:34:35 -0000 Author: avg Date: Tue Mar 27 11:34:34 2018 New Revision: 331612 URL: https://svnweb.freebsd.org/changeset/base/331612 Log: MFC r330974: MFV r330973: 9164 assert: newds == os->os_dsl_dataset PR: 225877 Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c ============================================================================== --- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Tue Mar 27 11:33:21 2018 (r331611) +++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Tue Mar 27 11:34:34 2018 (r331612) @@ -615,23 +615,21 @@ dmu_objset_rele(objset_t *os, void *tag) * same name so that it can be partially torn down and reconstructed. */ void -dmu_objset_refresh_ownership(objset_t *os, void *tag) +dmu_objset_refresh_ownership(dsl_dataset_t *ds, dsl_dataset_t **newds, + void *tag) { dsl_pool_t *dp; - dsl_dataset_t *ds, *newds; char name[ZFS_MAX_DATASET_NAME_LEN]; - ds = os->os_dsl_dataset; VERIFY3P(ds, !=, NULL); VERIFY3P(ds->ds_owner, ==, tag); VERIFY(dsl_dataset_long_held(ds)); dsl_dataset_name(ds, name); - dp = dmu_objset_pool(os); + dp = ds->ds_dir->dd_pool; dsl_pool_config_enter(dp, FTAG); - dmu_objset_disown(os, tag); - VERIFY0(dsl_dataset_own(dp, name, tag, &newds)); - VERIFY3P(newds, ==, os->os_dsl_dataset); + dsl_dataset_disown(ds, tag); + VERIFY0(dsl_dataset_own(dp, name, tag, newds)); dsl_pool_config_exit(dp, FTAG); } Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h ============================================================================== --- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h Tue Mar 27 11:33:21 2018 (r331611) +++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h Tue Mar 27 11:34:34 2018 (r331612) @@ -149,7 +149,8 @@ int dmu_objset_own(const char *name, dmu_objset_type_t boolean_t readonly, void *tag, objset_t **osp); int dmu_objset_own_obj(struct dsl_pool *dp, uint64_t obj, dmu_objset_type_t type, boolean_t readonly, void *tag, objset_t **osp); -void dmu_objset_refresh_ownership(objset_t *os, void *tag); +void dmu_objset_refresh_ownership(struct dsl_dataset *ds, + struct dsl_dataset **newds, void *tag); void dmu_objset_rele(objset_t *os, void *tag); void dmu_objset_disown(objset_t *os, void *tag); int dmu_objset_from_ds(struct dsl_dataset *ds, objset_t **osp); Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 27 11:33:21 2018 (r331611) +++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 27 11:34:34 2018 (r331612) @@ -5007,14 +5007,14 @@ zfs_ioc_userspace_upgrade(zfs_cmd_t *zc) * objset needs to be closed & reopened (to grow the * objset_phys_t). Suspend/resume the fs will do that. */ - dsl_dataset_t *ds; + dsl_dataset_t *ds, *newds; ds = dmu_objset_ds(zfsvfs->z_os); error = zfs_suspend_fs(zfsvfs); if (error == 0) { - dmu_objset_refresh_ownership(zfsvfs->z_os, + dmu_objset_refresh_ownership(ds, &newds, zfsvfs); - error = zfs_resume_fs(zfsvfs, ds); + error = zfs_resume_fs(zfsvfs, newds); } } if (error == 0) From owner-svn-src-stable-10@freebsd.org Tue Mar 27 17:42:05 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9451CF6F08C; Tue, 27 Mar 2018 17:42:05 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46BAC74DDD; Tue, 27 Mar 2018 17:42:05 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 270311F566; Tue, 27 Mar 2018 17:42:05 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2RHg57P070032; Tue, 27 Mar 2018 17:42:05 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2RHg4XR070030; Tue, 27 Mar 2018 17:42:04 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201803271742.w2RHg4XR070030@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 27 Mar 2018 17:42:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331632 - in stable/10/sys: cam/scsi modules/cam X-SVN-Group: stable-10 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in stable/10/sys: cam/scsi modules/cam X-SVN-Commit-Revision: 331632 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Mar 2018 17:42:05 -0000 Author: brooks Date: Tue Mar 27 17:42:04 2018 New Revision: 331632 URL: https://svnweb.freebsd.org/changeset/base/331632 Log: MFC r330819, r330885, r330934 r330819: Reject CAMIOGET and CAMIOQUEUE ioctl's on pass(4) in 32-bit compat mode. These take a union ccb argument which is full of kernel pointers. Substantial translation efforts would be required to make this work. By rejecting the request we avoid processing or returning entierly wrong data. Reviewed by: imp, ken, markj, cem Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14654 r330885: We need opt_compat.h after r330819 and 330820. Add opt_compat.h to fix the stand-alone build case. Sponsored by: Netflix. r330934: This should have been += so clean builds work. Noticed by: hps@ Modified: stable/10/sys/cam/scsi/scsi_pass.c stable/10/sys/modules/cam/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cam/scsi/scsi_pass.c ============================================================================== --- stable/10/sys/cam/scsi/scsi_pass.c Tue Mar 27 17:39:27 2018 (r331631) +++ stable/10/sys/cam/scsi/scsi_pass.c Tue Mar 27 17:42:04 2018 (r331632) @@ -28,6 +28,8 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_compat.h" + #include #include #include @@ -43,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -1838,6 +1841,12 @@ passdoioctl(struct cdev *dev, u_long cmd, caddr_t addr union ccb **user_ccb, *ccb; xpt_opcode fc; +#ifdef COMPAT_FREEBSD32 + if (SV_PROC_FLAG(td->td_proc, SV_ILP32)) { + error = ENOTTY; + goto bailout; + } +#endif if ((softc->flags & PASS_FLAG_ZONE_VALID) == 0) { error = passcreatezone(periph); if (error != 0) @@ -2004,6 +2013,12 @@ passdoioctl(struct cdev *dev, u_long cmd, caddr_t addr struct pass_io_req *io_req; int old_error; +#ifdef COMPAT_FREEBSD32 + if (SV_PROC_FLAG(td->td_proc, SV_ILP32)) { + error = ENOTTY; + goto bailout; + } +#endif user_ccb = (union ccb **)addr; old_error = 0; Modified: stable/10/sys/modules/cam/Makefile ============================================================================== --- stable/10/sys/modules/cam/Makefile Tue Mar 27 17:39:27 2018 (r331631) +++ stable/10/sys/modules/cam/Makefile Tue Mar 27 17:42:04 2018 (r331632) @@ -8,6 +8,7 @@ KMOD= cam # See sys/conf/options for the flags that go into the different opt_*.h files. SRCS= opt_cam.h +SRCS+= opt_compat.h SRCS+= opt_ada.h SRCS+= opt_scsi.h SRCS+= opt_cd.h From owner-svn-src-stable-10@freebsd.org Tue Mar 27 17:43:04 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4CA71F6F1A9; Tue, 27 Mar 2018 17:43:04 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id EE05D74FA9; Tue, 27 Mar 2018 17:43:03 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E8D9D1F587; Tue, 27 Mar 2018 17:43:03 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2RHh3ie070122; Tue, 27 Mar 2018 17:43:03 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2RHh3NC070121; Tue, 27 Mar 2018 17:43:03 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201803271743.w2RHh3NC070121@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 27 Mar 2018 17:43:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331633 - stable/10/sys/cam/scsi X-SVN-Group: stable-10 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/10/sys/cam/scsi X-SVN-Commit-Revision: 331633 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Mar 2018 17:43:04 -0000 Author: brooks Date: Tue Mar 27 17:43:03 2018 New Revision: 331633 URL: https://svnweb.freebsd.org/changeset/base/331633 Log: MFC r330820: Reject ioctls to SCSI enclosures from 32-bit compat processes. The ioctl objects contain pointers and require translation and some refactoring of the infrastructure to work. For now prevent opertion on garbage values. This is very slightly overbroad in that ENCIOC_INIT is safe. Reviewed by: imp, kib Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14671 Modified: stable/10/sys/cam/scsi/scsi_enc.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cam/scsi/scsi_enc.c ============================================================================== --- stable/10/sys/cam/scsi/scsi_enc.c Tue Mar 27 17:42:04 2018 (r331632) +++ stable/10/sys/cam/scsi/scsi_enc.c Tue Mar 27 17:43:03 2018 (r331633) @@ -27,6 +27,8 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_compat.h" + #include #include @@ -37,8 +39,10 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include +#include #include #include #include @@ -351,6 +355,10 @@ enc_ioctl(struct cdev *dev, u_long cmd, caddr_t arg_ad void *addr; int error, i; +#ifdef COMPAT_FREEBSD32 + if (SV_PROC_FLAG(td->td_proc, SV_ILP32)) + return (ENOTTY); +#endif if (arg_addr) addr = *((caddr_t *) arg_addr); From owner-svn-src-stable-10@freebsd.org Tue Mar 27 17:48:40 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8FC1DF6FA40; Tue, 27 Mar 2018 17:48:40 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3CB38757BF; Tue, 27 Mar 2018 17:48:40 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 37AE71F596; Tue, 27 Mar 2018 17:48:40 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2RHme7I070552; Tue, 27 Mar 2018 17:48:40 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2RHmdZK070549; Tue, 27 Mar 2018 17:48:39 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201803271748.w2RHmdZK070549@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 27 Mar 2018 17:48:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331635 - in stable/10/sys: dev/isp modules/isp X-SVN-Group: stable-10 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in stable/10/sys: dev/isp modules/isp X-SVN-Commit-Revision: 331635 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Mar 2018 17:48:40 -0000 Author: brooks Date: Tue Mar 27 17:48:39 2018 New Revision: 331635 URL: https://svnweb.freebsd.org/changeset/base/331635 Log: MFC r330876, r330945 r330876: Fix ISP_FC_LIP and ISP_RESCAN on big-endian 64-bit systems. For _IO() ioctls, addr is a pointer to uap->data which is a caddr_t. When the caddr_t stores an int, dereferencing addr as an (int *) results in truncation on little-endian 64-bit systems and corruption (owing to extracting top bits) on big-endian 64-bit systems. In practice the value of chan was probably always zero on systems of the latter type as all such FreeBSD platforms use a register-based calling convention. Reviewed by: mav Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14673 r330945: Add opt_compat.h to isp(4) as required by r330876. Modified: stable/10/sys/dev/isp/isp_freebsd.c stable/10/sys/modules/isp/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/isp/isp_freebsd.c ============================================================================== --- stable/10/sys/dev/isp/isp_freebsd.c Tue Mar 27 17:46:25 2018 (r331634) +++ stable/10/sys/dev/isp/isp_freebsd.c Tue Mar 27 17:48:39 2018 (r331635) @@ -433,7 +433,7 @@ ispioctl(struct cdev *dev, u_long c, caddr_t addr, int case ISP_RESCAN: if (IS_FC(isp)) { - chan = *(int *)addr; + chan = *(intptr_t *)addr; if (chan < 0 || chan >= isp->isp_nchan) { retval = -ENXIO; break; @@ -450,7 +450,7 @@ ispioctl(struct cdev *dev, u_long c, caddr_t addr, int case ISP_FC_LIP: if (IS_FC(isp)) { - chan = *(int *)addr; + chan = *(intptr_t *)addr; if (chan < 0 || chan >= isp->isp_nchan) { retval = -ENXIO; break; Modified: stable/10/sys/modules/isp/Makefile ============================================================================== --- stable/10/sys/modules/isp/Makefile Tue Mar 27 17:46:25 2018 (r331634) +++ stable/10/sys/modules/isp/Makefile Tue Mar 27 17:48:39 2018 (r331635) @@ -4,7 +4,7 @@ KMOD= isp SRCS= bus_if.h device_if.h pci_if.h \ - opt_cam.h opt_ddb.h opt_isp.h \ + opt_cam.h opt_compat.h opt_ddb.h opt_isp.h \ isp.c isp_library.c isp_target.c isp_freebsd.c isp_pci.c .if ${MACHINE} == sparc64 From owner-svn-src-stable-10@freebsd.org Tue Mar 27 17:52:54 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DBB08F7012F; Tue, 27 Mar 2018 17:52:53 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8898A75E4C; Tue, 27 Mar 2018 17:52:53 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 835EA1F735; Tue, 27 Mar 2018 17:52:53 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2RHqrG3075186; Tue, 27 Mar 2018 17:52:53 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2RHqqXX075181; Tue, 27 Mar 2018 17:52:52 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201803271752.w2RHqqXX075181@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 27 Mar 2018 17:52:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331637 - in stable/10/sys: dev/aac dev/aacraid modules/aac modules/aacraid sys X-SVN-Group: stable-10 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in stable/10/sys: dev/aac dev/aacraid modules/aac modules/aacraid sys X-SVN-Commit-Revision: 331637 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Mar 2018 17:52:54 -0000 Author: brooks Date: Tue Mar 27 17:52:52 2018 New Revision: 331637 URL: https://svnweb.freebsd.org/changeset/base/331637 Log: MFC r330949: Fix FSACTL_GET_NEXT_ADAPTER_FIB under 32-bit compat. This includes FSACTL_LNX_GET_NEXT_ADAPTER_FIB. Reviewed by: cem Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14672 Modified: stable/10/sys/dev/aac/aac.c stable/10/sys/dev/aacraid/aacraid.c stable/10/sys/modules/aac/Makefile stable/10/sys/modules/aacraid/Makefile stable/10/sys/sys/aac_ioctl.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/aac/aac.c ============================================================================== --- stable/10/sys/dev/aac/aac.c Tue Mar 27 17:51:45 2018 (r331636) +++ stable/10/sys/dev/aac/aac.c Tue Mar 27 17:52:52 2018 (r331637) @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #define AAC_DRIVERNAME "aac" #include "opt_aac.h" +#include "opt_compat.h" /* #include */ #include @@ -43,7 +44,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include +#include #include #include @@ -3520,7 +3523,19 @@ aac_getnext_aif(struct aac_softc *sc, caddr_t arg) fwprintf(sc, HBA_FLAGS_DBG_FUNCTION_ENTRY_B, ""); - if ((error = copyin(arg, &agf, sizeof(agf))) == 0) { +#ifdef COMPAT_FREEBSD32 + if (SV_CURPROC_FLAG(SV_ILP32)) { + struct get_adapter_fib_ioctl32 agf32; + error = copyin(arg, &agf32, sizeof(agf32)); + if (error == 0) { + agf.AdapterFibContext = agf32.AdapterFibContext; + agf.Wait = agf32.Wait; + agf.AifFib = (caddr_t)(uintptr_t)agf32.AifFib; + } + } else +#endif + error = copyin(arg, &agf, sizeof(agf)); + if (error == 0) { for (ctx = sc->fibctx; ctx; ctx = ctx->next) { if (agf.AdapterFibContext == ctx->unique) break; Modified: stable/10/sys/dev/aacraid/aacraid.c ============================================================================== --- stable/10/sys/dev/aacraid/aacraid.c Tue Mar 27 17:51:45 2018 (r331636) +++ stable/10/sys/dev/aacraid/aacraid.c Tue Mar 27 17:52:52 2018 (r331637) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #define AAC_DRIVERNAME "aacraid" #include "opt_aacraid.h" +#include "opt_compat.h" /* #include */ #include @@ -44,7 +45,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include +#include #include #include @@ -3380,7 +3383,19 @@ aac_getnext_aif(struct aac_softc *sc, caddr_t arg) fwprintf(sc, HBA_FLAGS_DBG_FUNCTION_ENTRY_B, ""); mtx_lock(&sc->aac_io_lock); - if ((error = copyin(arg, &agf, sizeof(agf))) == 0) { +#ifdef COMPAT_FREEBSD32 + if (SV_CURPROC_FLAG(SV_ILP32)) { + struct get_adapter_fib_ioctl32 agf32; + error = copyin(arg, &agf32, sizeof(agf32)); + if (error == 0) { + agf.AdapterFibContext = agf32.AdapterFibContext; + agf.Wait = agf32.Wait; + agf.AifFib = (caddr_t)(uintptr_t)agf32.AifFib; + } + } else +#endif + error = copyin(arg, &agf, sizeof(agf)); + if (error == 0) { for (ctx = sc->fibctx; ctx; ctx = ctx->next) { if (agf.AdapterFibContext == ctx->unique) break; Modified: stable/10/sys/modules/aac/Makefile ============================================================================== --- stable/10/sys/modules/aac/Makefile Tue Mar 27 17:51:45 2018 (r331636) +++ stable/10/sys/modules/aac/Makefile Tue Mar 27 17:52:52 2018 (r331637) @@ -8,7 +8,7 @@ SUBDIR= aac_linux KMOD= aac SRCS= aac.c aac_pci.c aac_disk.c aac_cam.c -SRCS+= opt_scsi.h opt_cam.h opt_aac.h +SRCS+= opt_scsi.h opt_cam.h opt_compat.h opt_aac.h SRCS+= device_if.h bus_if.h pci_if.h # To enable debug output from the driver, uncomment these two lines. Modified: stable/10/sys/modules/aacraid/Makefile ============================================================================== --- stable/10/sys/modules/aacraid/Makefile Tue Mar 27 17:51:45 2018 (r331636) +++ stable/10/sys/modules/aacraid/Makefile Tue Mar 27 17:52:52 2018 (r331637) @@ -8,7 +8,7 @@ SUBDIR= aacraid_linux KMOD= aacraid SRCS= aacraid.c aacraid_pci.c aacraid_cam.c -SRCS+= opt_scsi.h opt_cam.h opt_aacraid.h +SRCS+= opt_scsi.h opt_cam.h opt_compat.h opt_aacraid.h SRCS+= device_if.h bus_if.h pci_if.h # To enable debug output from the driver, uncomment these two lines. Modified: stable/10/sys/sys/aac_ioctl.h ============================================================================== --- stable/10/sys/sys/aac_ioctl.h Tue Mar 27 17:51:45 2018 (r331636) +++ stable/10/sys/sys/aac_ioctl.h Tue Mar 27 17:52:52 2018 (r331637) @@ -173,6 +173,14 @@ struct get_adapter_fib_ioctl { caddr_t AifFib; }; +#ifdef _KERNEL +struct get_adapter_fib_ioctl32 { + u_int32_t AdapterFibContext; + int Wait; + u_int32_t AifFib; +}; +#endif + struct aac_query_disk { int32_t ContainerNumber; int32_t Bus; From owner-svn-src-stable-10@freebsd.org Tue Mar 27 20:49:48 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E9391F5A369; Tue, 27 Mar 2018 20:49:47 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B7F287FB43; Tue, 27 Mar 2018 20:49:47 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B2DB721320; Tue, 27 Mar 2018 20:49:47 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2RKnls0063889; Tue, 27 Mar 2018 20:49:47 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2RKnlVr063888; Tue, 27 Mar 2018 20:49:47 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201803272049.w2RKnlVr063888@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Tue, 27 Mar 2018 20:49:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331647 - in stable: 10/sys/dev/cxgbe 11/sys/dev/cxgbe X-SVN-Group: stable-10 X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: in stable: 10/sys/dev/cxgbe 11/sys/dev/cxgbe X-SVN-Commit-Revision: 331647 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Mar 2018 20:49:48 -0000 Author: jhb Date: Tue Mar 27 20:49:47 2018 New Revision: 331647 URL: https://svnweb.freebsd.org/changeset/base/331647 Log: MFC 318387: Add support for child devices that aren't ports. Invoke any identify routines of child drivers during attach before attaching children, and delete any remaining devices after deleting ports. Sponsored by: Chelsio Communications Modified: stable/10/sys/dev/cxgbe/t4_main.c Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/sys/dev/cxgbe/t4_main.c Directory Properties: stable/11/ (props changed) Modified: stable/10/sys/dev/cxgbe/t4_main.c ============================================================================== --- stable/10/sys/dev/cxgbe/t4_main.c Tue Mar 27 20:34:49 2018 (r331646) +++ stable/10/sys/dev/cxgbe/t4_main.c Tue Mar 27 20:49:47 2018 (r331647) @@ -1174,6 +1174,12 @@ t4_attach(device_t dev) goto done; } + rc = bus_generic_probe(dev); + if (rc != 0) { + device_printf(dev, "failed to probe child drivers: %d\n", rc); + goto done; + } + rc = bus_generic_attach(dev); if (rc != 0) { device_printf(dev, @@ -1265,6 +1271,8 @@ t4_detach_common(device_t dev) free(pi, M_CXGBE); } } + + device_delete_children(dev); if (sc->flags & FULL_INIT_DONE) adapter_full_uninit(sc); From owner-svn-src-stable-10@freebsd.org Wed Mar 28 07:45:59 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 204D0F6654B; Wed, 28 Mar 2018 07:45:59 +0000 (UTC) (envelope-from philip@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BFA9F7AD2B; Wed, 28 Mar 2018 07:45:58 +0000 (UTC) (envelope-from philip@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B2E4827E46; Wed, 28 Mar 2018 07:45:58 +0000 (UTC) (envelope-from philip@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2S7jwYK094241; Wed, 28 Mar 2018 07:45:58 GMT (envelope-from philip@FreeBSD.org) Received: (from philip@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2S7jvf6094233; Wed, 28 Mar 2018 07:45:57 GMT (envelope-from philip@FreeBSD.org) Message-Id: <201803280745.w2S7jvf6094233@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: philip set sender to philip@FreeBSD.org using -f From: Philip Paeps Date: Wed, 28 Mar 2018 07:45:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331663 - stable/10/contrib/tzdata X-SVN-Group: stable-10 X-SVN-Commit-Author: philip X-SVN-Commit-Paths: stable/10/contrib/tzdata X-SVN-Commit-Revision: 331663 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Mar 2018 07:45:59 -0000 Author: philip Date: Wed Mar 28 07:45:57 2018 New Revision: 331663 URL: https://svnweb.freebsd.org/changeset/base/331663 Log: MFC r331481: Import tzdata 2018d Added: stable/10/contrib/tzdata/ziguard.awk - copied unchanged from r331481, head/contrib/tzdata/ziguard.awk Modified: stable/10/contrib/tzdata/CONTRIBUTING stable/10/contrib/tzdata/Makefile stable/10/contrib/tzdata/NEWS stable/10/contrib/tzdata/africa stable/10/contrib/tzdata/antarctica stable/10/contrib/tzdata/asia stable/10/contrib/tzdata/australasia stable/10/contrib/tzdata/backzone stable/10/contrib/tzdata/checktab.awk stable/10/contrib/tzdata/europe stable/10/contrib/tzdata/northamerica stable/10/contrib/tzdata/southamerica stable/10/contrib/tzdata/theory.html stable/10/contrib/tzdata/version stable/10/contrib/tzdata/zishrink.awk stable/10/contrib/tzdata/zone.tab stable/10/contrib/tzdata/zone1970.tab Directory Properties: stable/10/ (props changed) Modified: stable/10/contrib/tzdata/CONTRIBUTING ============================================================================== --- stable/10/contrib/tzdata/CONTRIBUTING Wed Mar 28 07:42:50 2018 (r331662) +++ stable/10/contrib/tzdata/CONTRIBUTING Wed Mar 28 07:45:57 2018 (r331663) @@ -25,7 +25,8 @@ justification. Citations should use https: URLs if av Please submit changes against either the latest release in or the master branch of the development -repository. If you use Git the following workflow may be helpful: +repository. The latter is preferred. If you use Git the following +workflow may be helpful: * Copy the development repository. @@ -42,6 +43,12 @@ repository. If you use Git the following workflow may git checkout -b mybranch + * Sleuth by using 'git blame'. For example, when fixing data for + Africa/Sao_Tome, if the command 'git blame africa' outputs a line + '2951fa3b (Paul Eggert 2018-01-08 09:03:13 -0800 1068) Zone + Africa/Sao_Tome 0:26:56 - LMT 1884', commit 2951fa3b should + provide some justification for the 'Zone Africa/Sao_Tome' line. + * Edit source files. Include commentary that justifies the changes by citing reliable sources. @@ -66,6 +73,9 @@ repository. If you use Git the following workflow may for others to review. git send-email master + + For an archived example of such an email, see + . * Start anew by getting current with the master branch again (the second step above). Modified: stable/10/contrib/tzdata/Makefile ============================================================================== --- stable/10/contrib/tzdata/Makefile Wed Mar 28 07:42:50 2018 (r331662) +++ stable/10/contrib/tzdata/Makefile Wed Mar 28 07:45:57 2018 (r331663) @@ -10,6 +10,15 @@ VERSION= unknown # Email address for bug reports. BUGEMAIL= tz@iana.org +# Choose source data features. To get new features right away, use: +# DATAFORM= vanguard +# To wait a while before using new features, to give downstream users +# time to upgrade zic (the default), use: +# DATAFORM= main +# To wait even longer for new features, use: +# DATAFORM= rearguard +DATAFORM= main + # Change the line below for your time zone (after finding the zone you want in # the time zone files, or adding it to a time zone file). # Alternately, if you discover you've got the wrong time zone, you can just @@ -25,10 +34,10 @@ LOCALTIME= GMT # for handling POSIX-style time zone environment variables, # change the line below (after finding the zone you want in the # time zone files, or adding it to a time zone file). -# (When a POSIX-style environment variable is handled, the rules in the +# When a POSIX-style environment variable is handled, the rules in the # template file are used to determine "spring forward" and "fall back" days and # times; the environment variable itself specifies UT offsets of standard and -# summer time.) +# daylight saving time. # Alternately, if you discover you've got the wrong time zone, you can just # zic -p rightzone # to correct things. @@ -189,13 +198,18 @@ LDLIBS= # -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_WAIT_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 # -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'. # -Dssize_t=long on hosts like MS-Windows that lack ssize_t +# -DSUPPRESS_TZDIR to not prepend TZDIR to file names; this has +# security implications and is not recommended for general use # -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires; # not needed by the main-program tz code, which is single-threaded. # Append other compiler flags as needed, e.g., -pthread on GNU/Linux. @@ -394,13 +408,19 @@ SAFE_CHARSET3= 'abcdefghijklmnopqrstuvwxyz{|}~' SAFE_CHARSET= $(SAFE_CHARSET1)$(SAFE_CHARSET2)$(SAFE_CHARSET3) SAFE_CHAR= '[]'$(SAFE_CHARSET)'-]' +# Non-ASCII non-letters that OK_CHAR allows, as these characters are +# useful in commentary. XEmacs 21.5.34 displays them correctly, +# presumably because they are Latin-1. +UNUSUAL_OK_CHARSET= °±½¾× + # OK_CHAR matches any character allowed in the distributed files. -# This is the same as SAFE_CHAR, except that multibyte letters are -# also allowed so that commentary can contain people's names and quote -# non-English sources. For non-letters the sources are limited to -# ASCII renderings for the convenience of maintainers whose text editors -# mishandle UTF-8 by default (e.g., XEmacs 21.4.22). -OK_CHAR= '[][:alpha:]'$(SAFE_CHARSET)'-]' +# This is the same as SAFE_CHAR, except that UNUSUAL_OK_CHARSET and +# multibyte letters are also allowed so that commentary can contain a +# few safe symbols and people's names and can quote non-English sources. +# Other non-letters are limited to ASCII renderings for the +# convenience of maintainers using XEmacs 21.5.34, which by default +# mishandles Unicode characters U+0100 and greater. +OK_CHAR= '[][:alpha:]$(UNUSUAL_OK_CHARSET)'$(SAFE_CHARSET)'-]' # SAFE_LINE matches a line of safe characters. # SAFE_SHARP_LINE is similar, except any OK character can follow '#'; @@ -462,10 +482,12 @@ TDATA= $(YDATA) $(NDATA) $(BACKWARD) ZONETABLES= zone1970.tab zone.tab TABDATA= iso3166.tab $(TZDATA_TEXT) $(ZONETABLES) LEAP_DEPS= leapseconds.awk leap-seconds.list -TZDATA_ZI_DEPS= zishrink.awk version $(TDATA) $(PACKRATDATA) +TZDATA_ZI_DEPS= ziguard.awk zishrink.awk version $(TDATA) $(PACKRATDATA) +DSTDATA_ZI_DEPS= ziguard.awk $(TDATA) $(PACKRATDATA) DATA= $(TDATA_TO_CHECK) backzone iso3166.tab leap-seconds.list \ leapseconds yearistype.sh $(ZONETABLES) -AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk zishrink.awk +AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk \ + ziguard.awk zishrink.awk MISC= $(AWK_SCRIPTS) zoneinfo2tdf.pl TZS_YEAR= 2050 TZS= to$(TZS_YEAR).tzs @@ -499,7 +521,8 @@ VERSION_DEPS= \ SHELL= /bin/sh -all: tzselect yearistype zic zdump libtz.a $(TABDATA) +all: tzselect yearistype zic zdump libtz.a $(TABDATA) \ + vanguard.zi main.zi rearguard.zi ALL: all date $(ENCHILADA) @@ -534,11 +557,15 @@ version: $(VERSION_DEPS) printf '%s\n' "$$V" >$@.out mv $@.out $@ -# This file can be tailored by setting BACKWARD, PACKRATDATA, etc. -tzdata.zi: $(TZDATA_ZI_DEPS) +# These files can be tailored by setting BACKWARD, PACKRATDATA, etc. +vanguard.zi main.zi rearguard.zi: $(DSTDATA_ZI_DEPS) + $(AWK) -v outfile='$@' -f ziguard.awk $(TDATA) $(PACKRATDATA) \ + >$@.out + mv $@.out $@ +tzdata.zi: $(DATAFORM).zi version version=`sed 1q version` && \ LC_ALL=C $(AWK) -v version="$$version" -f zishrink.awk \ - $(TDATA) $(PACKRATDATA) >$@.out + $(DATAFORM).zi >$@.out mv $@.out $@ version.h: version @@ -614,19 +641,29 @@ posix_packrat: zones: $(REDO) +# dummy.zd is not a real file; it is mentioned here only so that the +# top-level 'make' does not have a syntax error. +ZDS = dummy.zd +# Rule used only by submakes invoked by the $(TZS_NEW) rule. +# It is separate so that GNU 'make -j' can run instances in parallel. +$(ZDS): zdump + ./zdump -i -c $(TZS_YEAR) '$(wd)/'$$(expr $@ : '\(.*\).zd') >$@ + $(TZS_NEW): tzdata.zi zdump zic - mkdir -p tzs.dir + rm -fr tzs.dir + mkdir tzs.dir $(zic) -d tzs.dir tzdata.zi $(AWK) '/^L/{print "Link\t" $$2 "\t" $$3}' \ tzdata.zi | LC_ALL=C sort >$@.out wd=`pwd` && \ - zones=`$(AWK) -v wd="$$wd" \ - '/^Z/{print wd "/tzs.dir/" $$2}' tzdata.zi \ - | LC_ALL=C sort` && \ - ./zdump -i -c $(TZS_YEAR) $$zones >>$@.out - sed 's,^TZ=".*tzs\.dir/,TZ=",' $@.out >$@.sed.out - rm -fr tzs.dir $@.out - mv $@.sed.out $@ + set x `$(AWK) '/^Z/{print "tzs.dir/" $$2 ".zd"}' tzdata.zi \ + | LC_ALL=C sort -t . -k 2,2` && \ + shift && \ + ZDS=$$* && \ + $(MAKE) wd="$$wd" TZS_YEAR=$(TZS_YEAR) ZDS="$$ZDS" $$ZDS && \ + sed 's,^TZ=".*tzs\.dir/,TZ=",' $$ZDS >>$@.out + rm -fr tzs.dir + mv $@.out $@ # If $(TZS) does not already exist (e.g., old-format tarballs), create it. # If it exists but 'make check_tzs' fails, a maintainer should inspect the @@ -669,8 +706,10 @@ check_character_set: $(ENCHILADA) sharp='#' && \ ! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \ $(MISC) $(SOURCES) $(WEB_PAGES) \ - CONTRIBUTING LICENSE Makefile README \ + CONTRIBUTING LICENSE README \ version tzdata.zi && \ + ! grep -Env $(SAFE_LINE)'|^UNUSUAL_OK_CHARSET='$(OK_CHAR)'*$$' \ + Makefile && \ ! grep -Env $(SAFE_SHARP_LINE) $(TDATA_TO_CHECK) backzone \ leapseconds yearistype.sh zone.tab && \ ! grep -Env $(OK_LINE) $(ENCHILADA); \ @@ -702,7 +741,7 @@ check_sorted: backward backzone iso3166.tab zone.tab z $(AWK) '/^[^#]/ $(CHECK_CC_LIST)' zone1970.tab | \ LC_ALL=C sort -cu -check_links: checklinks.awk $(TDATA_TO_CHECK) +check_links: checklinks.awk $(TDATA_TO_CHECK) tzdata.zi $(AWK) -f checklinks.awk $(TDATA_TO_CHECK) $(AWK) -f checklinks.awk tzdata.zi @@ -720,17 +759,26 @@ check_tzs: $(TZS) $(TZS_NEW) check_web: tz-how-to.html $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) tz-how-to.html -# Check that tzdata.zi generates the same binary data that its sources do. -check_zishrink: tzdata.zi zic leapseconds $(PACKRATDATA) $(TDATA) +# Check that zishrink.awk does not alter the data, and that ziguard.awk +# preserves main-format data. +check_zishrink: zic leapseconds $(PACKRATDATA) $(TDATA) \ + $(DATAFORM).zi tzdata.zi for type in posix right; do \ - mkdir -p time_t.dir/$$type time_t.dir/$$type-shrunk && \ + mkdir -p time_t.dir/$$type time_t.dir/$$type-t \ + time_t.dir/$$type-shrunk && \ case $$type in \ right) leap='-L leapseconds';; \ *) leap=;; \ esac && \ - $(ZIC) $$leap -d time_t.dir/$$type $(TDATA) && \ - $(AWK) '/^Rule/' $(TDATA) | \ - $(ZIC) $$leap -d time_t.dir/$$type - $(PACKRATDATA) && \ + $(ZIC) $$leap -d time_t.dir/$$type $(DATAFORM).zi && \ + case $(DATAFORM) in \ + main) \ + $(ZIC) $$leap -d time_t.dir/$$type-t $(TDATA) && \ + $(AWK) '/^Rule/' $(TDATA) | \ + $(ZIC) $$leap -d time_t.dir/$$type-t - \ + $(PACKRATDATA) && \ + diff -r time_t.dir/$$type time_t.dir/$$type-t;; \ + esac && \ $(ZIC) $$leap -d time_t.dir/$$type-shrunk tzdata.zi && \ diff -r time_t.dir/$$type time_t.dir/$$type-shrunk || exit; \ done @@ -740,7 +788,7 @@ clean_misc: rm -f core *.o *.out \ date tzselect version.h zdump zic yearistype libtz.a clean: clean_misc - rm -fr *.dir tzdata.zi tzdb-*/ $(TZS_NEW) + rm -fr *.dir *.zi tzdb-*/ $(TZS_NEW) maintainer-clean: clean @echo 'This command is intended for maintainers to use; it' @@ -856,6 +904,9 @@ tarballs traditional_tarballs signatures traditional_s VERSION=`cat version` && \ $(MAKE) VERSION="$$VERSION" $@_version +# These *_version rules are intended for use if VERSION is set by some +# other means. Ordinarily these rules are used only by the above +# non-_version rules, which set VERSION on the 'make' command line. tarballs_version: traditional_tarballs_version tzdb-$(VERSION).tar.lz traditional_tarballs_version: \ tzcode$(VERSION).tar.gz tzdata$(VERSION).tar.gz @@ -917,13 +968,17 @@ zic.o: private.h tzfile.h version.h .KEEP_STATE: .PHONY: ALL INSTALL all -.PHONY: check check_character_set check_links +.PHONY: check check_character_set check_links check_name_lengths .PHONY: check_public check_sorted check_tables .PHONY: check_time_t_alternatives check_tzs check_web check_white_space .PHONY: check_zishrink -.PHONY: clean clean_misc force_tzs +.PHONY: clean clean_misc dummy.zd force_tzs .PHONY: install install_data maintainer-clean names .PHONY: posix_only posix_packrat posix_right .PHONY: public right_only right_posix signatures signatures_version -.PHONY: tarballs tarballs_version typecheck +.PHONY: tarballs tarballs_version +.PHONY: traditional_signatures traditional_signatures_version +.PHONY: traditional_tarballs traditional_tarballs_version +.PHONY: typecheck .PHONY: zonenames zones +.PHONY: $(ZDS) Modified: stable/10/contrib/tzdata/NEWS ============================================================================== --- stable/10/contrib/tzdata/NEWS Wed Mar 28 07:42:50 2018 (r331662) +++ stable/10/contrib/tzdata/NEWS Wed Mar 28 07:45:57 2018 (r331663) @@ -1,9 +1,146 @@ News for the tz database +Release 2018d - 2018-03-22 07:05:46 -0700 + + Briefly: + + Palestine starts DST a week earlier in 2018. + Add support for vanguard and rearguard data consumers. + Add subsecond precision to source data format, though not to data. + + Changes to future time stamps + + In 2018, Palestine starts DST on March 24, not March 31. + Adjust future predictions accordingly. (Thanks to Sharef Mustafa.) + + Changes to past and future time stamps + + Casey Station in Antarctica changed from +11 to +08 on 2018-03-11 + at 04:00. (Thanks to Steffen Thorsen.) + + Changes to past time stamps + + Historical transitions for Uruguay, represented by + America/Montevideo, have been updated per official legal documents, + replacing previous data mainly originating from the inventions of + Shanks & Pottenger. This has resulted in adjustments ranging from + 30 to 90 minutes in either direction over at least two dozen + distinct periods ranging from one day to several years in length. + A mere handful of pre-1991 transitions are unaffected; data since + then has come from more reliable contemporaneous reporting. These + changes affect various timestamps in 1920-1923, 1936, 1939, + 1942-1943, 1959, 1966-1970, 1972, 1974-1980, and 1988-1990. + Additionally, Uruguay's pre-standard-time UT offset has been + adjusted westward by 7 seconds, from UT-03:44:44 to UT-03:44:51, to + match the location of the Observatory of the National Meteorological + Institute in Montevideo. + (Thanks to Jeremie Bonjour, Tim Parenti, and Michael Deckers.) + + Enderbury and Kiritimati skipped New Year's Eve 1994, not + New Year's Day 1995. (Thanks to Kerry Shetline.) + + Fix the 1912-01-01 transition for Portugual and its colonies. + This transition was at 00:00 according to the new UT offset, not + according to the old one. Also assume that Cape Verde switched on + the same date as the rest, not in 1907. This affects + Africa/Bissau, Africa/Sao_Tome, Asia/Macau, Atlantic/Azores, + Atlantic/Cape_Verde, Atlantic/Madeira, and Europe/Lisbon. + (Thanks to Michael Deckers.) + + Fix an off-by-1 error for pre-1913 timestamps in Jamaica and in + Turks & Caicos. + + Changes to past time zone abbreviations + + MMT took effect in Uruguay from 1908-06-10, not 1898-06-28. There + is no clock change associated with the transition. + + Changes to build procedure + + The new DATAFORM macro in the Makefile lets the installer choose + among three source data formats. The idea is to lessen downstream + disruption when data formats are improved. + + * DATAFORM=vanguard installs from the latest, bleeding-edge + format. DATAFORM=main (the default) installs from the format + used in the 'africa' etc. files. DATAFORM=rearguard installs + from a trailing-edge format. Eventually, elements of today's + vanguard format should move to the main format, and similarly + the main format's features should eventually move to the + rearguard format. + + * In the current version, the main and rearguard formats are + identical and match that of 2018c, so this change does not + affect default behavior. The vanguard format currently contains + one feature not in the main format: negative SAVE values. This + improves support for Ireland, which uses Irish Standard Time + (IST, UTC+01) in summer and GMT (UTC) in winter. tzcode has + supported negative SAVE values for decades, and this feature + should move to the main format soon. However, it will not move + to the rearguard format for quite some time because some + downstream parsers do not support it. + + * The build procedure constructs three files vanguard.zi, main.zi, + and rearguard.zi, one for each format. The files represent the + same data as closely as the formats allow. These three files + are intended for downstream data consumers and are not + installed. Zoneinfo parsers that do not support negative SAVE values + should start using rearguard.zi, so that they will be unaffected + when the negative-DST feature moves from vanguard to main. + Bleeding-edge Zoneinfo parsers that support the new features + already can use vanguard.zi; in this respect, current tzcode is + bleeding-edge. + + The Makefile should now be safe for parallelized builds, and 'make + -j to2050new.tzs' is now much faster on a multiprocessor host + with GNU Make. + + When built with -DSUPPRESS_TZDIR, the tzcode library no longer + prepends TZDIR/ to file names that do not begin with '/'. This is + not recommended for general use, due to its security implications. + (From a suggestion by Manuela Friedrich.) + + Changes to code + + zic now accepts subsecond precision in expressions like + 00:19:32.13, which is approximately the legal time of the + Netherlands from 1835 to 1937. However, because it is + questionable whether the few recorded uses of non-integer offsets + had subsecond precision in practice, there are no plans for tzdata + to use this feature. (Thanks to Steve Allen for pointing out + the limitations of historical data in this area.) + + The code is a bit more portable to MS-Windows. Installers can + compile with -DRESERVE_STD_EXT_IDS on MS-Windows platforms that + reserve identifiers like 'localtime'. (Thanks to Manuela + Friedrich). + + Changes to documentation and commentary + + theory.html now outlines tzdb's extensions to POSIX's model for + civil time, and has a section "POSIX features no longer needed" + that lists POSIX API components that are now vestigial. + (From suggestions by Steve Summit.) It also better distinguishes + time zones from tz regions. (From a suggestion by Guy Harris.) + + Commentary is now more consistent about using the phrase "daylight + saving time", to match the C name tm_isdst. Daylight saving time + need not occur in summer, and need not have a positive offset from + standard time. + + Commentary about historical transitions in Uruguay has been expanded + with links to many relevant legal documents. + (Thanks to Tim Parenti.) + + Commentary now uses some non-ASCII characters with Unicode value + less than U+0100, as they can be useful and should work even with + older editors such as XEmacs. + + Release 2018c - 2018-01-22 23:00:44 -0800 Briefly: - Revert Irish changes that relied on negative DST offsets. + Revert Irish changes that relied on negative SAVE values. Changes to tm_isdst @@ -14,8 +151,8 @@ Release 2018c - 2018-01-22 23:00:44 -0800 struct tm type. This reversion is intended to be a temporary workaround for problems discovered with downstream uses of releases 2018a and 2018b, which implemented Irish time by using - negative DST offsets in the Eire rules of the 'europe' file. - Although negative DST offsets have been part of tzcode for many + negative SAVE values in the Eire rules of the 'europe' file. + Although negative SAVE values have been part of tzcode for many years and are supported by many platforms, they were not documented before 2018a and ICU and OpenJDK do not currently support them. A mechanism to export data to platforms lacking @@ -900,7 +1037,7 @@ Release 2016b - 2016-03-12 17:30:14 -0800 Comments in zone tables have been improved. (Thanks to J William Piggott.) tzselect again limits its menu comments so that menus fit on a - 24x80 alphanumeric display. + 24×80 alphanumeric display. A new web page tz-how-to.html. (Thanks to Bill Seymour.) Modified: stable/10/contrib/tzdata/africa ============================================================================== --- stable/10/contrib/tzdata/africa Wed Mar 28 07:42:50 2018 (r331662) +++ stable/10/contrib/tzdata/africa Wed Mar 28 07:45:57 2018 (r331663) @@ -115,13 +115,13 @@ Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01 # Cape Verde / Cabo Verde # +# From Paul Eggert (2018-02-16): # Shanks gives 1907 for the transition to +02. -# Perhaps the 1911-05-26 Portuguese decree -# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf -# merely made it official? +# For now, ignore that and follow the 1911-05-26 Portuguese decree +# (see Europe/Lisbon). # # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Atlantic/Cape_Verde -1:34:04 - LMT 1907 # Praia +Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia -2:00 - -02 1942 Sep -2:00 1:00 -01 1945 Oct 15 -2:00 - -02 1975 Nov 25 2:00 @@ -370,15 +370,34 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct # See Africa/Abidjan. # Ghana -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + +# From Paul Eggert (2018-01-30): # Whitman says DST was observed from 1931 to "the present"; -# Shanks & Pottenger say 1936 to 1942; -# and September 1 to January 1 is given by: -# Scott Keltie J, Epstein M (eds), The Statesman's Year-Book, -# 57th ed. Macmillan, London (1920), OCLC 609408015, pp xxviii. -# For lack of better info, assume DST was observed from 1920 to 1942. -Rule Ghana 1920 1942 - Sep 1 0:00 0:20 GHST -Rule Ghana 1920 1942 - Dec 31 0:00 0 GMT +# Shanks & Pottenger say 1936 to 1942 with 20 minutes of DST, +# with transitions on 09-01 and 12-31 at 00:00. +# Page 33 of Parish GCB, Colonial Reports - Annual. No. 1066. Gold +# Coast. Report for 1919. (March 1921), OCLC 784024077 +# http://libsysdigi.library.illinois.edu/ilharvest/africana/books2011-05/5530214/5530214_1919/5530214_1919_opt.pdf +# lists the Determination of the Time Ordinance, 1919, No. 18, +# "to advance the time observed locally by the space of twenty minutes +# during the last four months of each year; the object in view being +# to extend during those months the period of daylight-time available +# for evening recreation after office hours." +# Vanessa Ogle, The Global Transformation of Time, 1870-1950 (2015), p 33, +# writes "In 1919, the Gold Coast (Ghana as of 1957) made Greenwich +# time its legal time and simultaneously legalized a summer time of +# UTC - 00:20 minutes from March to October."; a footnote lists +# the ordinance as being dated 1919-11-24. +# The Crown Colonist, Volume 12 (1942), p 176, says "the Government +# intend advancing Gold Coast time half an hour ahead of G.M.T. +# The actual date of the alteration has not yet been announced." +# These sources are incomplete and contradictory. Possibly what is +# now Ghana observed different DST regimes in different years. For +# lack of better info, use Shanks except treat the minus sign as a +# typo, and assume DST started in 1920 not 1936. +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +Rule Ghana 1920 1942 - Sep 1 0:00 0:20 - +Rule Ghana 1920 1942 - Dec 31 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Accra -0:00:52 - LMT 1918 0:00 Ghana GMT/+0020 @@ -388,13 +407,13 @@ Zone Africa/Accra -0:00:52 - LMT 1918 # Guinea-Bissau # +# From Paul Eggert (2018-02-16): # Shanks gives 1911-05-26 for the transition to WAT, # evidently confusing the date of the Portuguese decree -# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf -# with the date that it took effect, namely 1912-01-01. +# (see Europe/Lisbon) with the date that it took effect. # # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 +Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u -1:00 - -01 1975 0:00 - GMT @@ -590,9 +609,9 @@ Zone Africa/Tripoli 0:52:44 - LMT 1920 # at 2am (or 02:00) local time..." # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Mauritius 1982 only - Oct 10 0:00 1:00 S +Rule Mauritius 1982 only - Oct 10 0:00 1:00 - Rule Mauritius 1983 only - Mar 21 0:00 0 - -Rule Mauritius 2008 only - Oct lastSun 2:00 1:00 S +Rule Mauritius 2008 only - Oct lastSun 2:00 1:00 - Rule Mauritius 2009 only - Mar lastSun 2:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis @@ -1037,6 +1056,8 @@ Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Den # São Tomé and Príncipe +# See Europe/Lisbon for info about the 1912 transition. + # From Steffen Thorsen (2018-01-08): # Multiple sources tell that São Tomé changed from UTC to UTC+1 as # they entered the year 2018. @@ -1045,7 +1066,7 @@ Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Den # http://www.mnec.gov.st/index.php/publicacoes/documentos/file/90-decreto-lei-n-25-2017 Zone Africa/Sao_Tome 0:26:56 - LMT 1884 - -0:36:45 - LMT 1912 # Lisbon Mean Time + -0:36:45 - LMT 1912 Jan 1 00:00u # Lisbon MT 0:00 - GMT 2018 Jan 1 01:00 1:00 - WAT Modified: stable/10/contrib/tzdata/antarctica ============================================================================== --- stable/10/contrib/tzdata/antarctica Wed Mar 28 07:42:50 2018 (r331662) +++ stable/10/contrib/tzdata/antarctica Wed Mar 28 07:45:57 2018 (r331663) @@ -75,7 +75,8 @@ Zone Antarctica/Casey 0 - -00 1969 8:00 - +08 2011 Oct 28 2:00 11:00 - +11 2012 Feb 21 17:00u 8:00 - +08 2016 Oct 22 - 11:00 - +11 + 11:00 - +11 2018 Mar 11 4:00 + 8:00 - +08 Zone Antarctica/Davis 0 - -00 1957 Jan 13 7:00 - +07 1964 Nov 0 - -00 1969 Feb Modified: stable/10/contrib/tzdata/asia ============================================================================== --- stable/10/contrib/tzdata/asia Wed Mar 28 07:42:50 2018 (r331662) +++ stable/10/contrib/tzdata/asia Wed Mar 28 07:45:57 2018 (r331663) @@ -69,13 +69,13 @@ Rule EUAsia 1981 max - Mar lastSun 1:00u 1:00 S Rule EUAsia 1979 1995 - Sep lastSun 1:00u 0 - Rule EUAsia 1996 max - Oct lastSun 1:00u 0 - -Rule E-EurAsia 1981 max - Mar lastSun 0:00 1:00 S +Rule E-EurAsia 1981 max - Mar lastSun 0:00 1:00 - Rule E-EurAsia 1979 1995 - Sep lastSun 0:00 0 - Rule E-EurAsia 1996 max - Oct lastSun 0:00 0 - -Rule RussiaAsia 1981 1984 - Apr 1 0:00 1:00 S +Rule RussiaAsia 1981 1984 - Apr 1 0:00 1:00 - Rule RussiaAsia 1981 1983 - Oct 1 0:00 0 - Rule RussiaAsia 1984 1995 - Sep lastSun 2:00s 0 - -Rule RussiaAsia 1985 2010 - Mar lastSun 2:00s 1:00 S +Rule RussiaAsia 1985 2010 - Mar lastSun 2:00s 1:00 - Rule RussiaAsia 1996 2010 - Oct lastSun 2:00s 0 - # Afghanistan @@ -110,7 +110,7 @@ Zone Asia/Kabul 4:36:48 - LMT 1890 # (brief) # http://www.worldtimezone.com/dst_news/dst_news_armenia03.html # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Armenia 2011 only - Mar lastSun 2:00s 1:00 S +Rule Armenia 2011 only - Mar lastSun 2:00s 1:00 - Rule Armenia 2011 only - Oct lastSun 2:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2 @@ -136,7 +136,7 @@ Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2 # http://en.apa.az/xeber_azerbaijan_abolishes_daylight_savings_ti_240862.html # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Azer 1997 2015 - Mar lastSun 4:00 1:00 S +Rule Azer 1997 2015 - Mar lastSun 4:00 1:00 - Rule Azer 1997 2015 - Oct lastSun 5:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Baku 3:19:24 - LMT 1924 May 2 @@ -223,7 +223,7 @@ Zone Asia/Baku 3:19:24 - LMT 1924 May 2 # http://www.worldtimezone.com/dst_news/dst_news_bangladesh06.html # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Dhaka 2009 only - Jun 19 23:00 1:00 S +Rule Dhaka 2009 only - Jun 19 23:00 1:00 - Rule Dhaka 2009 only - Dec 31 24:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -764,8 +764,9 @@ Rule Macau 1974 1977 - Oct Sun>=15 3:30 0 S Rule Macau 1975 1977 - Apr Sun>=15 3:30 1:00 D Rule Macau 1978 1980 - Apr Sun>=15 0:00 1:00 D Rule Macau 1978 1980 - Oct Sun>=15 0:00 0 S +# See Europe/Lisbon for info about the 1912 transition. # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Macau 7:34:20 - LMT 1912 Jan 1 +Zone Asia/Macau 7:34:20 - LMT 1911 Dec 31 16:00u 8:00 Macau C%sT @@ -1106,61 +1107,61 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov # thirtieth day of Shahrivar. # # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Iran 1978 1980 - Mar 21 0:00 1:00 D -Rule Iran 1978 only - Oct 21 0:00 0 S -Rule Iran 1979 only - Sep 19 0:00 0 S -Rule Iran 1980 only - Sep 23 0:00 0 S -Rule Iran 1991 only - May 3 0:00 1:00 D -Rule Iran 1992 1995 - Mar 22 0:00 1:00 D -Rule Iran 1991 1995 - Sep 22 0:00 0 S -Rule Iran 1996 only - Mar 21 0:00 1:00 D -Rule Iran 1996 only - Sep 21 0:00 0 S -Rule Iran 1997 1999 - Mar 22 0:00 1:00 D -Rule Iran 1997 1999 - Sep 22 0:00 0 S -Rule Iran 2000 only - Mar 21 0:00 1:00 D -Rule Iran 2000 only - Sep 21 0:00 0 S -Rule Iran 2001 2003 - Mar 22 0:00 1:00 D -Rule Iran 2001 2003 - Sep 22 0:00 0 S -Rule Iran 2004 only - Mar 21 0:00 1:00 D -Rule Iran 2004 only - Sep 21 0:00 0 S -Rule Iran 2005 only - Mar 22 0:00 1:00 D -Rule Iran 2005 only - Sep 22 0:00 0 S -Rule Iran 2008 only - Mar 21 0:00 1:00 D -Rule Iran 2008 only - Sep 21 0:00 0 S -Rule Iran 2009 2011 - Mar 22 0:00 1:00 D -Rule Iran 2009 2011 - Sep 22 0:00 0 S -Rule Iran 2012 only - Mar 21 0:00 1:00 D -Rule Iran 2012 only - Sep 21 0:00 0 S -Rule Iran 2013 2015 - Mar 22 0:00 1:00 D -Rule Iran 2013 2015 - Sep 22 0:00 0 S -Rule Iran 2016 only - Mar 21 0:00 1:00 D -Rule Iran 2016 only - Sep 21 0:00 0 S -Rule Iran 2017 2019 - Mar 22 0:00 1:00 D -Rule Iran 2017 2019 - Sep 22 0:00 0 S -Rule Iran 2020 only - Mar 21 0:00 1:00 D -Rule Iran 2020 only - Sep 21 0:00 0 S -Rule Iran 2021 2023 - Mar 22 0:00 1:00 D -Rule Iran 2021 2023 - Sep 22 0:00 0 S -Rule Iran 2024 only - Mar 21 0:00 1:00 D -Rule Iran 2024 only - Sep 21 0:00 0 S -Rule Iran 2025 2027 - Mar 22 0:00 1:00 D -Rule Iran 2025 2027 - Sep 22 0:00 0 S -Rule Iran 2028 2029 - Mar 21 0:00 1:00 D -Rule Iran 2028 2029 - Sep 21 0:00 0 S -Rule Iran 2030 2031 - Mar 22 0:00 1:00 D -Rule Iran 2030 2031 - Sep 22 0:00 0 S -Rule Iran 2032 2033 - Mar 21 0:00 1:00 D -Rule Iran 2032 2033 - Sep 21 0:00 0 S -Rule Iran 2034 2035 - Mar 22 0:00 1:00 D -Rule Iran 2034 2035 - Sep 22 0:00 0 S +Rule Iran 1978 1980 - Mar 21 0:00 1:00 - +Rule Iran 1978 only - Oct 21 0:00 0 - +Rule Iran 1979 only - Sep 19 0:00 0 - +Rule Iran 1980 only - Sep 23 0:00 0 - +Rule Iran 1991 only - May 3 0:00 1:00 - +Rule Iran 1992 1995 - Mar 22 0:00 1:00 - +Rule Iran 1991 1995 - Sep 22 0:00 0 - +Rule Iran 1996 only - Mar 21 0:00 1:00 - +Rule Iran 1996 only - Sep 21 0:00 0 - +Rule Iran 1997 1999 - Mar 22 0:00 1:00 - +Rule Iran 1997 1999 - Sep 22 0:00 0 - +Rule Iran 2000 only - Mar 21 0:00 1:00 - +Rule Iran 2000 only - Sep 21 0:00 0 - +Rule Iran 2001 2003 - Mar 22 0:00 1:00 - +Rule Iran 2001 2003 - Sep 22 0:00 0 - +Rule Iran 2004 only - Mar 21 0:00 1:00 - +Rule Iran 2004 only - Sep 21 0:00 0 - +Rule Iran 2005 only - Mar 22 0:00 1:00 - +Rule Iran 2005 only - Sep 22 0:00 0 - +Rule Iran 2008 only - Mar 21 0:00 1:00 - +Rule Iran 2008 only - Sep 21 0:00 0 - +Rule Iran 2009 2011 - Mar 22 0:00 1:00 - +Rule Iran 2009 2011 - Sep 22 0:00 0 - +Rule Iran 2012 only - Mar 21 0:00 1:00 - +Rule Iran 2012 only - Sep 21 0:00 0 - +Rule Iran 2013 2015 - Mar 22 0:00 1:00 - +Rule Iran 2013 2015 - Sep 22 0:00 0 - +Rule Iran 2016 only - Mar 21 0:00 1:00 - +Rule Iran 2016 only - Sep 21 0:00 0 - +Rule Iran 2017 2019 - Mar 22 0:00 1:00 - +Rule Iran 2017 2019 - Sep 22 0:00 0 - +Rule Iran 2020 only - Mar 21 0:00 1:00 - +Rule Iran 2020 only - Sep 21 0:00 0 - +Rule Iran 2021 2023 - Mar 22 0:00 1:00 - +Rule Iran 2021 2023 - Sep 22 0:00 0 - +Rule Iran 2024 only - Mar 21 0:00 1:00 - +Rule Iran 2024 only - Sep 21 0:00 0 - +Rule Iran 2025 2027 - Mar 22 0:00 1:00 - +Rule Iran 2025 2027 - Sep 22 0:00 0 - +Rule Iran 2028 2029 - Mar 21 0:00 1:00 - +Rule Iran 2028 2029 - Sep 21 0:00 0 - +Rule Iran 2030 2031 - Mar 22 0:00 1:00 - +Rule Iran 2030 2031 - Sep 22 0:00 0 - +Rule Iran 2032 2033 - Mar 21 0:00 1:00 - +Rule Iran 2032 2033 - Sep 21 0:00 0 - +Rule Iran 2034 2035 - Mar 22 0:00 1:00 - +Rule Iran 2034 2035 - Sep 22 0:00 0 - # # The following rules are approximations starting in the year 2038. # These are the best post-2037 approximations available, given the # restrictions of a single rule using a Gregorian-based data format. # At some point this table will need to be extended, though quite # possibly Iran will change the rules first. -Rule Iran 2036 max - Mar 21 0:00 1:00 D -Rule Iran 2036 max - Sep 21 0:00 0 S +Rule Iran 2036 max - Mar 21 0:00 1:00 - +Rule Iran 2036 max - Sep 21 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Tehran 3:25:44 - LMT 1916 @@ -1196,17 +1197,17 @@ Zone Asia/Tehran 3:25:44 - LMT 1916 # https://www.timeanddate.com/news/time/iraq-dumps-daylight-saving.html # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Iraq 1982 only - May 1 0:00 1:00 D -Rule Iraq 1982 1984 - Oct 1 0:00 0 S -Rule Iraq 1983 only - Mar 31 0:00 1:00 D -Rule Iraq 1984 1985 - Apr 1 0:00 1:00 D -Rule Iraq 1985 1990 - Sep lastSun 1:00s 0 S -Rule Iraq 1986 1990 - Mar lastSun 1:00s 1:00 D +Rule Iraq 1982 only - May 1 0:00 1:00 - +Rule Iraq 1982 1984 - Oct 1 0:00 0 - +Rule Iraq 1983 only - Mar 31 0:00 1:00 - +Rule Iraq 1984 1985 - Apr 1 0:00 1:00 - +Rule Iraq 1985 1990 - Sep lastSun 1:00s 0 - +Rule Iraq 1986 1990 - Mar lastSun 1:00s 1:00 - # IATA SSIM (1991/1996) says Apr 1 12:01am UTC; guess the ':01' is a typo. # Shanks & Pottenger say Iraq did not observe DST 1992/1997; ignore this. # -Rule Iraq 1991 2007 - Apr 1 3:00s 1:00 D -Rule Iraq 1991 2007 - Oct 1 3:00s 0 S +Rule Iraq 1991 2007 - Apr 1 3:00s 1:00 - +Rule Iraq 1991 2007 - Oct 1 3:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Baghdad 2:57:40 - LMT 1890 2:57:36 - BMT 1918 # Baghdad Mean Time? @@ -1478,8 +1479,7 @@ Rule Japan 1950 1951 - May Sat>=1 24:00 1:00 D # From Hideyuki Suzuki (1998-11-09): # 'Tokyo' usually stands for the former location of Tokyo Astronomical -# Observatory: 139 degrees 44' 40.90" E (9h 18m 58.727s), -# 35 degrees 39' 16.0" N. +# Observatory: 139° 44' 40.90" E (9h 18m 58.727s), 35° 39' 16.0" N. # This data is from 'Rika Nenpyou (Chronological Scientific Tables) 1996' # edited by National Astronomical Observatory of Japan.... # JST (Japan Standard Time) has been used since 1888-01-01 00:00 (JST). @@ -1487,10 +1487,10 @@ Rule Japan 1950 1951 - May Sat>=1 24:00 1:00 D # From Hideyuki Suzuki (1998-11-16): # The ordinance No. 51 (1886) established "standard time" in Japan, -# which stands for the time on 135 degrees E. +# which stands for the time on 135° E. # In the ordinance No. 167 (1895), "standard time" was renamed to "central # standard time". And the same ordinance also established "western standard -# time", which stands for the time on 120 degrees E.... But "western standard +# time", which stands for the time on 120° E.... But "western standard # time" was abolished in the ordinance No. 529 (1937). In the ordinance No. # 167, there is no mention regarding for what place western standard time is # standard.... @@ -1903,9 +1903,9 @@ Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk # From 2005-08-12 our GMT-offset is +6, w/o any daylight saving. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Kyrgyz 1992 1996 - Apr Sun>=7 0:00s 1:00 S +Rule Kyrgyz 1992 1996 - Apr Sun>=7 0:00s 1:00 - Rule Kyrgyz 1992 1996 - Sep lastSun 0:00 0 - -Rule Kyrgyz 1997 2005 - Mar lastSun 2:30 1:00 S +Rule Kyrgyz 1997 2005 - Mar lastSun 2:30 1:00 - Rule Kyrgyz 1997 2004 - Oct lastSun 2:30 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Bishkek 4:58:24 - LMT 1924 May 2 @@ -2037,7 +2037,7 @@ Zone Asia/Beirut 2:22:00 - LMT 1880 # Malaysia # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule NBorneo 1935 1941 - Sep 14 0:00 0:20 TS # one-Third Summer +Rule NBorneo 1935 1941 - Sep 14 0:00 0:20 - Rule NBorneo 1935 1941 - Dec 14 0:00 0 - # # peninsular Malaysia @@ -2182,7 +2182,7 @@ Zone Indian/Maldives 4:54:00 - LMT 1880 # Malé # http://zasag.mn/news/view/8969 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Mongol 1983 1984 - Apr 1 0:00 1:00 S +Rule Mongol 1983 1984 - Apr 1 0:00 1:00 - Rule Mongol 1983 only - Oct 1 0:00 0 - # Shanks & Pottenger and IATA SSIM say 1990s switches occurred at 00:00, # but McDow says the 2001 switches occurred at 02:00. Also, IATA SSIM @@ -2199,13 +2199,13 @@ Rule Mongol 1983 only - Oct 1 0:00 0 - # Mongolian Government meeting has concluded today to cancel daylight # saving time adoption in Mongolia. Source: http://zasag.mn/news/view/16192 -Rule Mongol 1985 1998 - Mar lastSun 0:00 1:00 S +Rule Mongol 1985 1998 - Mar lastSun 0:00 1:00 - Rule Mongol 1984 1998 - Sep lastSun 0:00 0 - # IATA SSIM (1999-09) says Mongolia no longer observes DST. -Rule Mongol 2001 only - Apr lastSat 2:00 1:00 S +Rule Mongol 2001 only - Apr lastSat 2:00 1:00 - Rule Mongol 2001 2006 - Sep lastSat 2:00 0 - -Rule Mongol 2002 2006 - Mar lastSat 2:00 1:00 S -Rule Mongol 2015 2016 - Mar lastSat 2:00 1:00 S +Rule Mongol 2002 2006 - Mar lastSat 2:00 1:00 - +Rule Mongol 2015 2016 - Mar lastSat 2:00 1:00 - Rule Mongol 2015 2016 - Sep lastSat 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -2639,9 +2639,6 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # [Google translation]: "The Council also decided to start daylight # saving in Palestine as of one o'clock on Saturday morning, # 2016-03-26, to provide the clock 60 minutes ahead." -# -# From Paul Eggert (2016-03-12): -# Predict spring transitions on March's last Saturday at 01:00 from now on. # From Sharef Mustafa (2016-10-19): # [T]he Palestinian cabinet decision (Mar 8th 2016) published on @@ -2658,6 +2655,16 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # https://www.timeanddate.com/time/change/gaza-strip/gaza # https://www.timeanddate.com/time/change/west-bank/hebron +# From Sharef Mustafa (2018-03-16): +# Palestine summer time will start on Mar 24th 2018 by advancing the +# clock by 60 minutes as per Palestinian cabinet decision published on +# the offical website, though the decree did not specify the exact +# time of the time shift. +# http://www.palestinecabinet.gov.ps/Website/AR/NDecrees/ViewFile.ashx?ID=e7a42ab7-ee23-435a-b9c8-a4f7e81f3817 +# +# From Paul Eggert (2018-03-16): +# For 2016 on, predict spring transitions on March's fourth Saturday at 01:00. + # Rule NAME FROM TO TYPE 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 - @@ -2687,7 +2694,7 @@ Rule Palestine 2012 only - Sep 21 1:00 0 - Rule Palestine 2013 only - Sep Fri>=21 0:00 0 - Rule Palestine 2014 2015 - Oct Fri>=21 0:00 0 - Rule Palestine 2015 only - Mar lastFri 24:00 1:00 S -Rule Palestine 2016 max - Mar lastSat 1:00 1:00 S +Rule Palestine 2016 max - Mar Sat>=22 1:00 1:00 S Rule Palestine 2016 max - Oct lastSat 1:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -2737,11 +2744,11 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct # http://www.philstar.com/headlines/2014/08/05/1354152/pnoy-urged-declare-use-daylight-saving-time # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Phil 1936 only - Nov 1 0:00 1:00 S +Rule Phil 1936 only - Nov 1 0:00 1:00 - Rule Phil 1937 only - Feb 1 0:00 0 - -Rule Phil 1954 only - Apr 12 0:00 1:00 S +Rule Phil 1954 only - Apr 12 0:00 1:00 - Rule Phil 1954 only - Jul 1 0:00 0 - -Rule Phil 1978 only - Mar 22 0:00 1:00 S +Rule Phil 1978 only - Mar 22 0:00 1:00 - Rule Phil 1978 only - Sep 21 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31 @@ -3097,9 +3104,9 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2 # and is the basis for the information below. # # The 1906 transition was effective July 1 and standardized Indochina to -# Phù Liễn Observatory, legally 104 deg. 17'17" east of Paris. +# Phù Liễn Observatory, legally 104° 17' 17" east of Paris. # It's unclear whether this meant legal Paris Mean Time (00:09:21) or -# the Paris Meridian (2 deg. 20'14.03" E); the former yields 07:06:30.1333... +# the Paris Meridian (2° 20' 14.03" E); the former yields 07:06:30.1333... # and the latter 07:06:29.333... so either way it rounds to 07:06:30, # which is used below even though the modern-day Phù Liễn Observatory # is closer to 07:06:31. Abbreviate Phù Liễn Mean Time as PLMT. Modified: stable/10/contrib/tzdata/australasia ============================================================================== --- stable/10/contrib/tzdata/australasia Wed Mar 28 07:42:50 2018 (r331662) +++ stable/10/contrib/tzdata/australasia Wed Mar 28 07:45:57 2018 (r331663) @@ -196,20 +196,20 @@ Zone Australia/Broken_Hill 9:25:48 - LMT 1895 Feb # Lord Howe Island # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule LH 1981 1984 - Oct lastSun 2:00 1:00 D -Rule LH 1982 1985 - Mar Sun>=1 2:00 0 S -Rule LH 1985 only - Oct lastSun 2:00 0:30 D -Rule LH 1986 1989 - Mar Sun>=15 2:00 0 S -Rule LH 1986 only - Oct 19 2:00 0:30 D -Rule LH 1987 1999 - Oct lastSun 2:00 0:30 D -Rule LH 1990 1995 - Mar Sun>=1 2:00 0 S -Rule LH 1996 2005 - Mar lastSun 2:00 0 S -Rule LH 2000 only - Aug lastSun 2:00 0:30 D -Rule LH 2001 2007 - Oct lastSun 2:00 0:30 D -Rule LH 2006 only - Apr Sun>=1 2:00 0 S -Rule LH 2007 only - Mar lastSun 2:00 0 S -Rule LH 2008 max - Apr Sun>=1 2:00 0 S -Rule LH 2008 max - Oct Sun>=1 2:00 0:30 D +Rule LH 1981 1984 - Oct lastSun 2:00 1:00 - +Rule LH 1982 1985 - Mar Sun>=1 2:00 0 - +Rule LH 1985 only - Oct lastSun 2:00 0:30 - +Rule LH 1986 1989 - Mar Sun>=15 2:00 0 - +Rule LH 1986 only - Oct 19 2:00 0:30 - +Rule LH 1987 1999 - Oct lastSun 2:00 0:30 - +Rule LH 1990 1995 - Mar Sun>=1 2:00 0 - +Rule LH 1996 2005 - Mar lastSun 2:00 0 - +Rule LH 2000 only - Aug lastSun 2:00 0:30 - +Rule LH 2001 2007 - Oct lastSun 2:00 0:30 - +Rule LH 2006 only - Apr Sun>=1 2:00 0 - +Rule LH 2007 only - Mar lastSun 2:00 0 - +Rule LH 2008 max - Apr Sun>=1 2:00 0 - +Rule LH 2008 max - Oct Sun>=1 2:00 0:30 - Zone Australia/Lord_Howe 10:36:20 - LMT 1895 Feb 10:00 - AEST 1981 Mar 10:30 LH +1030/+1130 1985 Jul @@ -367,15 +367,15 @@ Zone Indian/Cocos 6:27:40 - LMT 1900 # practice than guessing no DST. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 S +Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 - Rule Fiji 1999 2000 - Feb lastSun 3:00 0 - -Rule Fiji 2009 only - Nov 29 2:00 1:00 S +Rule Fiji 2009 only - Nov 29 2:00 1:00 - Rule Fiji 2010 only - Mar lastSun 3:00 0 - -Rule Fiji 2010 2013 - Oct Sun>=21 2:00 1:00 S +Rule Fiji 2010 2013 - Oct Sun>=21 2:00 1:00 - Rule Fiji 2011 only - Mar Sun>=1 3:00 0 - Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 - Rule Fiji 2014 only - Jan Sun>=18 2:00 0 - -Rule Fiji 2014 max - Nov Sun>=1 2:00 1:00 S +Rule Fiji 2014 max - Nov Sun>=1 2:00 1:00 - Rule Fiji 2015 max - Jan Sun>=14 3:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva @@ -406,11 +406,11 @@ Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki 12:00 - +12 Zone Pacific/Enderbury -11:24:20 - LMT 1901 -12:00 - -12 1979 Oct - -11:00 - -11 1995 + -11:00 - -11 1994 Dec 31 13:00 - +13 Zone Pacific/Kiritimati -10:29:20 - LMT 1901 -10:40 - -1040 1979 Oct - -10:00 - -10 1995 + -10:00 - -10 1994 Dec 31 14:00 - +14 # N Mariana Is @@ -447,9 +447,9 @@ Zone Pacific/Nauru 11:07:40 - LMT 1921 Jan 15 # Uaobe # New Caledonia # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule NC 1977 1978 - Dec Sun>=1 0:00 1:00 S +Rule NC 1977 1978 - Dec Sun>=1 0:00 1:00 - Rule NC 1978 1979 - Feb 27 0:00 0 - -Rule NC 1996 only - Dec 1 2:00s 1:00 S +Rule NC 1996 only - Dec 1 2:00s 1:00 - # Shanks & Pottenger say the following was at 2:00; go with IATA. Rule NC 1997 only - Mar 2 2:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -469,27 +469,28 @@ Rule NZ 1929 1933 - Mar Sun>=15 2:00 0 M Rule NZ 1934 1940 - Apr lastSun 2:00 0 M Rule NZ 1934 1940 - Sep lastSun 2:00 0:30 S Rule NZ 1946 only - Jan 1 0:00 0 S -# Since 1957 Chatham has been 45 minutes ahead of NZ, but there's no -# convenient single notation for the date and time of this transition -# so we must duplicate the Rule lines. +# Since 1957 Chatham has been 45 minutes ahead of NZ, but until 2018a +# there was no documented single notation for the date and time of this +# transition. Duplicate the Rule lines for now, to give the 2018a change *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable-10@freebsd.org Wed Mar 28 13:44:03 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 08B06F5F342; Wed, 28 Mar 2018 13:44:03 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id AAA9E6AB75; Wed, 28 Mar 2018 13:44:02 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A58303CB0; Wed, 28 Mar 2018 13:44:02 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2SDi2Qu075439; Wed, 28 Mar 2018 13:44:02 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2SDi2Fp075438; Wed, 28 Mar 2018 13:44:02 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201803281344.w2SDi2Fp075438@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 28 Mar 2018 13:44:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331671 - stable/10/sys/i386/ibcs2 X-SVN-Group: stable-10 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/10/sys/i386/ibcs2 X-SVN-Commit-Revision: 331671 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Mar 2018 13:44:03 -0000 Author: emaste Date: Wed Mar 28 13:44:02 2018 New Revision: 331671 URL: https://svnweb.freebsd.org/changeset/base/331671 Log: MFC r331329: Fix kernel memory disclosure in ibcs2_getdents ibcs2_getdents() copies a dirent structure to userland. The ibcs2 dirent structure contains a 2 byte pad element. This element is never initialized, but copied to userland none-the-less. Note that ibcs2 has not built on HEAD since r302095. Submitted by: Domagoj Stolfa Reported by: Ilja Van Sprundel Security: Kernel memory disclosure (803) Sponsored by: The FreeBSD Foundation Modified: stable/10/sys/i386/ibcs2/ibcs2_misc.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/i386/ibcs2/ibcs2_misc.c ============================================================================== --- stable/10/sys/i386/ibcs2/ibcs2_misc.c Wed Mar 28 13:41:43 2018 (r331670) +++ stable/10/sys/i386/ibcs2/ibcs2_misc.c Wed Mar 28 13:44:02 2018 (r331671) @@ -352,6 +352,7 @@ ibcs2_getdents(td, uap) #define BSD_DIRENT(cp) ((struct dirent *)(cp)) #define IBCS2_RECLEN(reclen) (reclen + sizeof(u_short)) + memset(&idb, 0, sizeof(idb)); error = getvnode(td->td_proc->p_fd, uap->fd, cap_rights_init(&rights, CAP_READ), &fp); if (error != 0) From owner-svn-src-stable-10@freebsd.org Thu Mar 29 00:42:45 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9868CF5B262; Thu, 29 Mar 2018 00:42:45 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 451776C4E3; Thu, 29 Mar 2018 00:42:45 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3D97112788; Thu, 29 Mar 2018 00:42:45 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2T0gjCZ011936; Thu, 29 Mar 2018 00:42:45 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2T0gj8H011935; Thu, 29 Mar 2018 00:42:45 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201803290042.w2T0gj8H011935@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 29 Mar 2018 00:42:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331717 - in stable: 10/release/tools 11/release/tools X-SVN-Group: stable-10 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: in stable: 10/release/tools 11/release/tools X-SVN-Commit-Revision: 331717 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Mar 2018 00:42:45 -0000 Author: gjb Date: Thu Mar 29 00:42:44 2018 New Revision: 331717 URL: https://svnweb.freebsd.org/changeset/base/331717 Log: MFC r331559: Escape trailing newlines in a long variable list for consistency. Sponsored by: The FreeBSD Foundation Modified: stable/10/release/tools/gce.conf Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/release/tools/gce.conf Directory Properties: stable/11/ (props changed) Modified: stable/10/release/tools/gce.conf ============================================================================== --- stable/10/release/tools/gce.conf Thu Mar 29 00:12:50 2018 (r331716) +++ stable/10/release/tools/gce.conf Thu Mar 29 00:42:44 2018 (r331717) @@ -11,8 +11,8 @@ export VM_EXTRA_PACKAGES="firstboot-freebsd-update fir # Set to a list of third-party software to enable in rc.conf(5). export VM_RC_LIST="ntpd sshd firstboot_growfs \ firstboot_pkgs firstboot_freebsd_update google_startup \ - google_accounts_daemon google_clock_skew_daemon - google_instance_setup google_ip_forwarding_daemon + google_accounts_daemon google_clock_skew_daemon \ + google_instance_setup google_ip_forwarding_daemon \ google_network_setup" vm_extra_install_base() { From owner-svn-src-stable-10@freebsd.org Thu Mar 29 01:20:59 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 00F08F5FD72; Thu, 29 Mar 2018 01:20:59 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A5F866E7C0; Thu, 29 Mar 2018 01:20:58 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A080D12CD6; Thu, 29 Mar 2018 01:20:58 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2T1KwKJ030151; Thu, 29 Mar 2018 01:20:58 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2T1KwIn030148; Thu, 29 Mar 2018 01:20:58 GMT (envelope-from np@FreeBSD.org) Message-Id: <201803290120.w2T1KwIn030148@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 29 Mar 2018 01:20:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331719 - in stable/10/sys: conf dev/cxgbe/firmware dev/cxgbe/iw_cxgbe modules/cxgbe/t4_firmware modules/cxgbe/t5_firmware modules/cxgbe/t6_firmware X-SVN-Group: stable-10 X-SVN-Commit-Author: np X-SVN-Commit-Paths: in stable/10/sys: conf dev/cxgbe/firmware dev/cxgbe/iw_cxgbe modules/cxgbe/t4_firmware modules/cxgbe/t5_firmware modules/cxgbe/t6_firmware X-SVN-Commit-Revision: 331719 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Mar 2018 01:20:59 -0000 Author: np Date: Thu Mar 29 01:20:58 2018 New Revision: 331719 URL: https://svnweb.freebsd.org/changeset/base/331719 Log: MFC r323006 and r324386. This brings the cxgbe(4) firmware up to 1.16.63.0. Sponsored by: Chelsio Communications Added: stable/10/sys/dev/cxgbe/firmware/t4fw-1.16.63.0.bin.uu - copied unchanged from r324386, head/sys/dev/cxgbe/firmware/t4fw-1.16.63.0.bin.uu stable/10/sys/dev/cxgbe/firmware/t5fw-1.16.63.0.bin.uu - copied unchanged from r324386, head/sys/dev/cxgbe/firmware/t5fw-1.16.63.0.bin.uu stable/10/sys/dev/cxgbe/firmware/t6fw-1.16.63.0.bin.uu - copied unchanged from r324386, head/sys/dev/cxgbe/firmware/t6fw-1.16.63.0.bin.uu Deleted: stable/10/sys/dev/cxgbe/firmware/t4fw-1.16.45.0.bin.uu stable/10/sys/dev/cxgbe/firmware/t5fw-1.16.45.0.bin.uu stable/10/sys/dev/cxgbe/firmware/t6fw-1.16.45.0.bin.uu Modified: stable/10/sys/conf/files stable/10/sys/dev/cxgbe/firmware/t4fw_interface.h stable/10/sys/dev/cxgbe/firmware/t6fw_cfg.txt stable/10/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt stable/10/sys/dev/cxgbe/iw_cxgbe/qp.c stable/10/sys/modules/cxgbe/t4_firmware/Makefile stable/10/sys/modules/cxgbe/t5_firmware/Makefile stable/10/sys/modules/cxgbe/t6_firmware/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/conf/files ============================================================================== --- stable/10/sys/conf/files Thu Mar 29 00:55:11 2018 (r331718) +++ stable/10/sys/conf/files Thu Mar 29 01:20:58 2018 (r331719) @@ -1195,7 +1195,7 @@ t4fw.fwo optional cxgbe \ no-implicit-rule \ clean "t4fw.fwo" t4fw.fw optional cxgbe \ - dependency "$S/dev/cxgbe/firmware/t4fw-1.16.45.0.bin.uu" \ + dependency "$S/dev/cxgbe/firmware/t4fw-1.16.63.0.bin.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "t4fw.fw" @@ -1219,7 +1219,7 @@ t5fw.fwo optional cxgbe \ no-implicit-rule \ clean "t5fw.fwo" t5fw.fw optional cxgbe \ - dependency "$S/dev/cxgbe/firmware/t5fw-1.16.45.0.bin.uu" \ + dependency "$S/dev/cxgbe/firmware/t5fw-1.16.63.0.bin.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "t5fw.fw" @@ -1243,7 +1243,7 @@ t6fw.fwo optional cxgbe \ no-implicit-rule \ clean "t6fw.fwo" t6fw.fw optional cxgbe \ - dependency "$S/dev/cxgbe/firmware/t6fw-1.16.45.0.bin.uu" \ + dependency "$S/dev/cxgbe/firmware/t6fw-1.16.63.0.bin.uu" \ compile-with "${NORMAL_FW}" \ no-obj no-implicit-rule \ clean "t6fw.fw" Copied: stable/10/sys/dev/cxgbe/firmware/t4fw-1.16.63.0.bin.uu (from r324386, head/sys/dev/cxgbe/firmware/t4fw-1.16.63.0.bin.uu) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/10/sys/dev/cxgbe/firmware/t4fw-1.16.63.0.bin.uu Thu Mar 29 01:20:58 2018 (r331719, copy of r324386, head/sys/dev/cxgbe/firmware/t4fw-1.16.63.0.bin.uu) @@ -0,0 +1,9567 @@ +/*- + * Copyright (c) 2017 Chelsio Communications, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +begin-base64 644 t4fw +AAAEJgEQPwAAAQkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAABAkEGAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAENoZWxzaW8gRlcgUlVOTUVNIERFQlVHPTAgKEJ1aWx0IEZyaSBTZXAgIDggMTA6 +MTg6MzMgUERUIDIwMTcgb24gdm5jNC5hc2ljZGVzaWduZXJzLmNvbTovaG9tZS9maXJtd2FyZS9j +dnMvZnctcmVsZWFzZSksIFZlcnNpb24gVDR4eCAwMS4xMC4zZi4wMAAAAAAAAAAAAAAAABRhxKxg +AMgA4QB78AAQAADhADC4eP///x/84UCAAAAB4QB7cAAAEAAf//4A4QGUcCAAAADhAZwE4QB5AAAC +AEDhAHmAAAYAQAACAAoABgAK4QB5BAAMAACAAAEC4QB7POEAe0ThAHvk4gAAAAABAADhAHuQIAAA +AAAAgADhAHsAAABAAeEAe5wAAEAAREREQuAAAADjAARzREREQOMACAAgAAJcAAAAAB//jhAAAAAA +H/+OFAAAAAAf/44YAAAAAB//jhwf/8AAAAAAAAAAAADAABL/zRP/zZMgEv/NE//NhCAEMwGTIBH/ +zBL/zJIQEf/MEv/MkhAR/8wB9DER/8siCv+SEADkMQAFMQECABL/yALnMQIWABH/x4EQAQFfwCEC +EQHJERH/xBL/xJIQEf/EEv/EkhBgAA8R/78S/8OSEBH/vxL/wpIQgRAR/8HAIJIREv/AkhLAIJIT +Ev+/khCCEALyUGUv9xH/vccvkhAR/7ySEBL/vBP/vJMgwDKTIRP/u5MigiIS/7oT/7qTICMiIRT/ +uQQzAck4E/+4gzADgxQIMxEU/7akM5MhE/+qkyJgAAjCMJMhE/+nkyIS/7GQIJAhkCKQI5AkkCWQ +JpAnkCiQKZAqkCuQLJAtkC6QLyAmECAmEYIiEv+kwDAtNzAtNzQtNzgtNzwjPQFyM+0AAgAS/6HA +MC83AC83EC83IC83MCM9AXIz7QACABL/l8AwKDcwKDc0KDc4KDc8Iz0BcjPtEv+VwDAnNwAnNxAn +NyAnNzAjPQFyM+0S/5AV/5AW/5HAMNcgBWYBYAAZAAAAAAAAAAQ2BQACANMP0w8FMwxuOxQHRxQH +BEN2MeYENgUFMwxvO+0AAgAS/4MV/4EjCgACJwIHBEMEPgUFMwwHRxRvO/ADAgAS/33JLoMghCGF +IrwidDsOhlC0VZYwtDN0M/Rj/+YAZT/iZV/fEv9xwDIDLgUDAgAS/2jAMCg3QCg3RCg3SCg3TCM9 +AXIz7QACABL/ay0nAMARAUkxAEgxAQIAwAAU/2gE0jEV/2eUUBT/ZwTTMRX/ZpRQFP9mBNQxFf9m +lFAU/2UE1TEV/2WUUBD/ZQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/AAA +H/wAAOMACfgf/AAAH/wAAOMACfgf/AAAH/wAAOMACfgf/4AAH/+FsOMACfgf/4WwH/+FsOMAD6gf +/4WwH/+FsOMAD6gf/4WwH/+HWOMAD6gf/4dYH/+OEOMAEVAf/44QH/+v4OMAGAgf/6/gH/+v4OMA +Odgf/8AAH//+7eMAOdggAAAAIAABauMAeMggAAF4IAABfOMAejQgAAF8IAABheMAejggAAGYIAAB +nOMAekQgAAGcIAABpeMAekggAAG4IAABvOMAelQgAAG8IAABxeMAelggAAHYIAAB2OMAemQgAAHc +IAAB4uMAemQgAAH4IAAB+OMAemwgAAH8IAAB/OMAemwgAAIYIAACGOMAemwgAAIcIAACHOMAemwg +AAI4IAACOOMAemwgAAI8IAACPOMAemwgAAJYIAACWOMAemwgAAJcIAACYuMAemwgAAJ4IAACeOMA +enQgAAJ8IAACguMAenQgAAKYIAH5KeMAenwgAwAAIAMXMOMCcRAgAxcwIAMXMOMCiEAgAxcwIAb7 +tOMCiEAgBvvAIAb/MOMGbNAgCAAAIAgS0OMGcEAgCBLQIAksJuMGgxAgCSwwIAks/OMHnHAgCwAA +IAsAAOMHnTwgCwAAIAsAAOMHnTwgCwAAIAt0COMHnTwAAAAAAAAAAAAAAAAgABQWIAAUCCAAF/Ig +ABQIIAAXbSAAFAggABS6IAAXBSAAFoogABQIIAAWOSAAFfIgABWFIAAT9SAAFS8gABQIIAAUCCAA +FAggABTaAAAAAP///////w/8///w////APwgALbmIAC4WiAAuIogALhQIAC4ESAAuAcgALfWIAC3 +zCAAt8AgALdvIAC4iCAAt2UgALc1IAC4iiAAtysgALcZARAYAQAEAAAAAAAAAAAAAAACAgUFCAgL +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 +H/+AsB//rFBnRSMB782riZi63P4QMlR2H/+AAAAAPyggAxBcz////yALBfAQAAAAP////wIAAABA +AAAAGgAAAB/84HQgoAAAH/+naCAAHeAgAB98gAAAAAAAgAD//v//AAAQAABAAAAgADqUIAAi5CAA +AAAgACNIIAsIwP//f///+///D/aAACALCPAgCwkgAAEAAAAEAAAf/6fYIAtRYCALCbAgADSoIAA1 ++CAAMtwgCwtQIAsKECALCqAgADEkIAsK8FMAAAAA////UgAAAFEAAAAgAek0H/+l4AAA//8gBAv4 +H/+piCAAOfgf/6mwIAsLcB//mMQf/6lUIAsNkBQAAACAAAACfFAAAIAAABCAAAAGgACwAAAACgAA +/zSS///wD4AAsQDhAZoAAAIAACALDSAf/5Y4AAB+QCALDWAf/6mEAP/AAAEAAAAoAAAA4AAAACYA +AAAf/48gBgAAAAWAAAAf/6U4KwAAACAAVZggC1OwH/+nBAOAAAAH////BAEACDUAAAADAAAAAD// +/4BAAAAID///H////wAAwAAf/6loPQAAAB//lLAHAAAAgQQBAIEEAAAf/6lAAAA6mMMAAAAAAA// +AEMAAB//psgAAAgABAAAACALVBAf/68UH/+tYB//lBAABgAA4QB6AB//lIAf/6l0H/+Y1B//mMAg +C1RAAAMHgCALVLAIAAAAH/+WoAAgAAAAAAkAAAAwAv/8+H/AAAAAo/+7AKP/ugANAAAA4AMAAIP/ +tgAP////D//4AP8AAAAgC1TwIAsO0CALDwAgC1WAAA8AAAAKAAD//wAPA//AAIP/wAAgC1YAIAtW +cB//qlgf/63Q/2DwAB//rbAf/44gBIAACB//gFAARAAA/x///wDAAAABgMIAAAICAOEAAADhAOAA +AACBAPAAAACBgAAA/3///x//pBT/v/////8AAACAAAAAAIbdH/+aHB/84gAf/48Q7gAAAAAACcwf +/OIMDwAAACALD0Af/6n4AAAIzB//qwQf/5qYH/+UrB//gGAgBv1gAAAwAAAAJxAf/9zwIAtdICAL +XPAf/6pkH/+UpAAA//4f/5i03q2+7yADCCA0AAAAPwAAAB//qzQAAIkGAJkAAB//rNgQAAcCAcCA +AJkAAAAf/6ugAIgACIKAAAEf/60o///wAAMVAAADEQAAAA8D/yAA8BQgAPQAKQAAAAAAiRQgAPjU +IAMLRAAAQAAgAw5wDAAAACABA7gf/63wAAAfkCADC1Qf/6rgH/+r+B//qYz/AP8A8PDw8KqqqqrM +zMzMH/+liAAD//8AACf/IAMLmCALXXAgARQQAA9CQCADXVAf/6ooAAkAAAAASACCAAAAIAEocB// +qdw7AAAIDgAAANAAAAAf/4CgAAAgegAACFAAAB9AH/+plCALHoAgCx6gIAsewAAJAAgf/60kMAAA +AH8AAAAgCyHgAAAP/iALIRAgCyFwIAshsAAA4AD///f/IAsicCADY5wAAIP/IAcDaBWgAAAgBwRg +H/+s6AAACAYAAIjMH/+WUAAEA/8KAAAAIAb/+CAHAZggBwBAH/+ZYIP/twCD/7YgIAsioDMAAAAf +/6zwH/+t5AP/4AB///8AAD/2kAAAIIgD//AAIAtIMCALR/AgC0hQH/+u8B//rOwAD///H/+q8B// +qZAgC2EQH/+Y9CAAcuggBvzoIAAFiB//pGAf/5XMH/+UTB//qMQgCyMgwAQAAB//p4Af/6d0H/+n +jB//raAf/60UIAPlMCALI2AgAw8gH/+ljCAAc8jgAQAAH/+aICALYkAgCyOgH/+aGCAAszAgALAw +IAthwCALYhAf/5ZwIAslsOD//gAgC0rQH/+aJCALMIAf/47kH/+QnB//qYAf/62UIAs88CALPSBI +AAAAIAG8CB//pxQgAb4MH/+VAB//pewf/6TkH/+n1B//pKwAABhAAAAWTB//p+QgBv90H/+lNB// +lIThAC4AH/+n8OEAXgDhAg4A//+//+EADgDhAY4A//++/x//mLwf/6W8IAHDOCABz2DgBQAAA/8A +AB//pPQgAw54H/y//zwAAAAABf//gwAAAB//pOwPPAAAIAtHsCAB76wgAfKoH/+qdCAB9mAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAACBgAAAAAAAAP////////////////////8f//zoH//86B///LAf//ywH//8sB// +/LAf//Y4H//5YB//97wf//e8H//3vCAG03gAAAAAAAAAAAAAAAAAAAAAIAbWwCAG1sAAAAAAAAAA +AAAAAAAAAAAAIAbTeCAG03gf//pUH//6VB//+lQf//pUH//6VB//+lQAAAAAIAHEUAAAAAAAAAAA +AAAAAAAAAAACAQAAAAAAAAAAAAAAAAAABAAAAAAAAACBgAAAAAAAEAUAAAAAAAAEAAAAAAAAAAAA +AAAAAAAAAIEAAAAAAAAYBQAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +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 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable-10@freebsd.org Thu Mar 29 15:01:02 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4FED5F51EBE; Thu, 29 Mar 2018 15:01:02 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0585F7256C; Thu, 29 Mar 2018 15:01:02 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 005981B5FF; Thu, 29 Mar 2018 15:01:02 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2TF112O041961; Thu, 29 Mar 2018 15:01:01 GMT (envelope-from rpokala@FreeBSD.org) Received: (from rpokala@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2TF11x0041960; Thu, 29 Mar 2018 15:01:01 GMT (envelope-from rpokala@FreeBSD.org) Message-Id: <201803291501.w2TF11x0041960@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rpokala set sender to rpokala@FreeBSD.org using -f From: Ravi Pokala Date: Thu, 29 Mar 2018 15:01:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331734 - stable/10/sys/dev/jedec_dimm X-SVN-Group: stable-10 X-SVN-Commit-Author: rpokala X-SVN-Commit-Paths: stable/10/sys/dev/jedec_dimm X-SVN-Commit-Revision: 331734 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Mar 2018 15:01:02 -0000 Author: rpokala Date: Thu Mar 29 15:01:01 2018 New Revision: 331734 URL: https://svnweb.freebsd.org/changeset/base/331734 Log: MFC 331345: jedec_dimm: Use correct string length when populating sc->slotid_str Don't limit the copy to the size of the target string *pointer* (always 4 on 32-bit / 8 on 64-bit). Instead, just use strdup(). Modified: stable/10/sys/dev/jedec_dimm/jedec_dimm.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/jedec_dimm/jedec_dimm.c ============================================================================== --- stable/10/sys/dev/jedec_dimm/jedec_dimm.c Thu Mar 29 15:00:48 2018 (r331733) +++ stable/10/sys/dev/jedec_dimm/jedec_dimm.c Thu Mar 29 15:01:01 2018 (r331734) @@ -341,10 +341,7 @@ jedec_dimm_attach(device_t dev) if (resource_string_value(device_get_name(dev), device_get_unit(dev), "slotid", &slotid_str) == 0) { if (slotid_str != NULL) { - sc->slotid_str = malloc(strlen(slotid_str) + 1, - M_DEVBUF, (M_WAITOK | M_ZERO)); - strlcpy(sc->slotid_str, slotid_str, - sizeof(sc->slotid_str)); + sc->slotid_str = strdup(slotid_str, M_DEVBUF); SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "slotid", CTLFLAG_RD | CTLFLAG_MPSAFE, sc->slotid_str, 0, "DIMM Slot Identifier"); From owner-svn-src-stable-10@freebsd.org Thu Mar 29 19:29:14 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 28BB3F6FA50; Thu, 29 Mar 2018 19:29:14 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CA6207F4C3; Thu, 29 Mar 2018 19:29:13 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C52AD1E425; Thu, 29 Mar 2018 19:29:13 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2TJTDqg077123; Thu, 29 Mar 2018 19:29:13 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2TJTDuT077116; Thu, 29 Mar 2018 19:29:13 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201803291929.w2TJTDuT077116@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 29 Mar 2018 19:29:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331741 - in stable: 10/release/arm 11/release/arm X-SVN-Group: stable-10 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: in stable: 10/release/arm 11/release/arm X-SVN-Commit-Revision: 331741 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Mar 2018 19:29:14 -0000 Author: gjb Date: Thu Mar 29 19:29:12 2018 New Revision: 331741 URL: https://svnweb.freebsd.org/changeset/base/331741 Log: MFC r331562 (manu): release: arm: Copy boot.scr from ports Latest u-boot update need u-boot script to load and start ubldr. (See D14230 for more details) Copy this file for our arm release on the fat partition. Modified: stable/10/release/arm/BEAGLEBONE.conf stable/10/release/arm/CUBOX-HUMMINGBOARD.conf stable/10/release/arm/GUMSTIX.conf stable/10/release/arm/PANDABOARD.conf stable/10/release/arm/RPI-B.conf stable/10/release/arm/RPI2.conf stable/10/release/arm/WANDBOARD.conf Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/release/arm/BANANAPI.conf stable/11/release/arm/BEAGLEBONE.conf stable/11/release/arm/CUBIEBOARD.conf stable/11/release/arm/CUBIEBOARD2.conf stable/11/release/arm/CUBOX-HUMMINGBOARD.conf stable/11/release/arm/GUMSTIX.conf stable/11/release/arm/PANDABOARD.conf stable/11/release/arm/RPI-B.conf stable/11/release/arm/RPI2.conf stable/11/release/arm/WANDBOARD.conf Directory Properties: stable/11/ (props changed) Modified: stable/10/release/arm/BEAGLEBONE.conf ============================================================================== --- stable/10/release/arm/BEAGLEBONE.conf Thu Mar 29 17:44:55 2018 (r331740) +++ stable/10/release/arm/BEAGLEBONE.conf Thu Mar 29 19:29:12 2018 (r331741) @@ -25,6 +25,7 @@ arm_install_uboot() { chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/MLO ${FATMOUNT}/MLO chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/u-boot.img ${FATMOUNT}/u-boot.img + chroot ${CHROOTDIR} cp ${UBOOT_DIR}/boot.scr ${FATMOUNT}/boot.scr chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr.bin \ ${FATMOUNT}/ubldr.bin chroot ${CHROOTDIR} ln ${UFSMOUNT}/boot/dtb/beaglebone.dtb \ Modified: stable/10/release/arm/CUBOX-HUMMINGBOARD.conf ============================================================================== --- stable/10/release/arm/CUBOX-HUMMINGBOARD.conf Thu Mar 29 17:44:55 2018 (r331740) +++ stable/10/release/arm/CUBOX-HUMMINGBOARD.conf Thu Mar 29 19:29:12 2018 (r331741) @@ -27,6 +27,7 @@ arm_install_uboot() { of=/dev/${mddev} bs=512 seek=2 conv=sync chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}" chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT} + chroot ${CHROOTDIR} cp ${UBOOT_DIR}/boot.scr ${FATMOUNT}/boot.scr chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr.bin \ ${FATMOUNT}/ubldr.bin Modified: stable/10/release/arm/GUMSTIX.conf ============================================================================== --- stable/10/release/arm/GUMSTIX.conf Thu Mar 29 17:44:55 2018 (r331740) +++ stable/10/release/arm/GUMSTIX.conf Thu Mar 29 19:29:12 2018 (r331741) @@ -26,6 +26,7 @@ arm_install_uboot() { chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/MLO ${FATMOUNT}/MLO chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/u-boot.img ${FATMOUNT}/u-boot.img + chroot ${CHROOTDIR} cp ${UBOOT_DIR}/boot.scr ${FATMOUNT}/boot.scr chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr.bin \ ${FATMOUNT}/ubldr.bin chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot Modified: stable/10/release/arm/PANDABOARD.conf ============================================================================== --- stable/10/release/arm/PANDABOARD.conf Thu Mar 29 17:44:55 2018 (r331740) +++ stable/10/release/arm/PANDABOARD.conf Thu Mar 29 19:29:12 2018 (r331741) @@ -25,6 +25,7 @@ arm_install_uboot() { chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/MLO ${FATMOUNT}/MLO chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/u-boot.img ${FATMOUNT}/u-boot.img + chroot ${CHROOTDIR} cp ${UBOOT_DIR}/boot.scr ${FATMOUNT}/boot.scr chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr.bin \ ${FATMOUNT}/ubldr.bin chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot Modified: stable/10/release/arm/RPI-B.conf ============================================================================== --- stable/10/release/arm/RPI-B.conf Thu Mar 29 17:44:55 2018 (r331740) +++ stable/10/release/arm/RPI-B.conf Thu Mar 29 19:29:12 2018 (r331741) @@ -40,6 +40,7 @@ arm_install_uboot() { ${FATMOUNT}/ubldr.bin chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/dtb/rpi.dtb \ ${FATMOUNT}/rpi.dtb + chroot ${CHROOTDIR} cp ${UBOOT_DIR}/boot.scr ${FATMOUNT}/boot.scr chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot sync umount_loop ${CHROOTDIR}/${FATMOUNT} Modified: stable/10/release/arm/RPI2.conf ============================================================================== --- stable/10/release/arm/RPI2.conf Thu Mar 29 17:44:55 2018 (r331740) +++ stable/10/release/arm/RPI2.conf Thu Mar 29 19:29:12 2018 (r331741) @@ -34,6 +34,7 @@ arm_install_uboot() { ${FATMOUNT}/ubldr.bin chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/dtb/rpi2.dtb \ ${FATMOUNT}/rpi2.dtb + chroot ${CHROOTDIR} cp ${UBOOT_DIR}/boot.scr ${FATMOUNT}/boot.scr chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot sync umount_loop ${CHROOTDIR}/${FATMOUNT} Modified: stable/10/release/arm/WANDBOARD.conf ============================================================================== --- stable/10/release/arm/WANDBOARD.conf Thu Mar 29 17:44:55 2018 (r331740) +++ stable/10/release/arm/WANDBOARD.conf Thu Mar 29 19:29:12 2018 (r331741) @@ -27,6 +27,7 @@ arm_install_uboot() { of=/dev/${mddev} bs=512 seek=2 conv=sync chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}" chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT} + chroot ${CHROOTDIR} cp ${UBOOT_DIR}/boot.scr ${FATMOUNT}/boot.scr chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr.bin \ ${FATMOUNT}/ubldr.bin From owner-svn-src-stable-10@freebsd.org Thu Mar 29 22:31:14 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CD729F4F902; Thu, 29 Mar 2018 22:31:14 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7FB1A6804A; Thu, 29 Mar 2018 22:31:14 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7A7222028A; Thu, 29 Mar 2018 22:31:14 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2TMVElS070746; Thu, 29 Mar 2018 22:31:14 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2TMVEA2070745; Thu, 29 Mar 2018 22:31:14 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201803292231.w2TMVEA2070745@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 29 Mar 2018 22:31:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331749 - stable/10/sys/compat/svr4 X-SVN-Group: stable-10 X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: stable/10/sys/compat/svr4 X-SVN-Commit-Revision: 331749 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Mar 2018 22:31:15 -0000 Author: emaste Date: Thu Mar 29 22:31:14 2018 New Revision: 331749 URL: https://svnweb.freebsd.org/changeset/base/331749 Log: MF11 r331330: Fix kernel memory disclosure in svr4_sys_getdents64 svr4_sys_getdents64() copies a dirent structure to userland. When calculating the record length for any given dirent entry alignment is performed. However, the aligned bytes are not cleared, this will trigger an info leak. Reported by: Ilja Van Sprundel Security: Kernel memory disclosure (801) Sponsored by: The FreeBSD Foundation Modified: stable/10/sys/compat/svr4/svr4_misc.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/compat/svr4/svr4_misc.c ============================================================================== --- stable/10/sys/compat/svr4/svr4_misc.c Thu Mar 29 20:39:05 2018 (r331748) +++ stable/10/sys/compat/svr4/svr4_misc.c Thu Mar 29 22:31:14 2018 (r331749) @@ -260,6 +260,7 @@ svr4_sys_getdents64(td, uap) u_long *cookies = NULL, *cookiep; int ncookies; + memset(&svr4_dirent, 0, sizeof(svr4_dirent)); DPRINTF(("svr4_sys_getdents64(%d, *, %d)\n", uap->fd, uap->nbytes)); error = getvnode(td->td_proc->p_fd, uap->fd, From owner-svn-src-stable-10@freebsd.org Sat Mar 31 01:37:15 2018 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F334FF7A933; Sat, 31 Mar 2018 01:37:14 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9942769F12; Sat, 31 Mar 2018 01:37:14 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9151910FB5; Sat, 31 Mar 2018 01:37:14 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2V1bE8Y097951; Sat, 31 Mar 2018 01:37:14 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2V1bEb3097950; Sat, 31 Mar 2018 01:37:14 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201803310137.w2V1bEb3097950@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Sat, 31 Mar 2018 01:37:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r331835 - in stable: 10/share/man/man7 11/share/man/man7 X-SVN-Group: stable-10 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: in stable: 10/share/man/man7 11/share/man/man7 X-SVN-Commit-Revision: 331835 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 Mar 2018 01:37:15 -0000 Author: gjb Date: Sat Mar 31 01:37:14 2018 New Revision: 331835 URL: https://svnweb.freebsd.org/changeset/base/331835 Log: MFC r331696, r331697: r331696: Update the Release Engineering article URL to the modern version. r331697: Add an example for building SD card images for the RPI-B and RPI3. Note, this commit manually fixes a merge conflict caused by r325096, which does a seemingly recursive http -> https update, which this commit was never marked for MFC. Sponsored by: The FreeBSD Foundation Modified: stable/10/share/man/man7/release.7 Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/share/man/man7/release.7 Directory Properties: stable/11/ (props changed) Modified: stable/10/share/man/man7/release.7 ============================================================================== --- stable/10/share/man/man7/release.7 Sat Mar 31 00:30:47 2018 (r331834) +++ stable/10/share/man/man7/release.7 Sat Mar 31 01:37:14 2018 (r331835) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 28, 2017 +.Dd March 28, 2018 .Dt RELEASE 7 .Os .Sh NAME @@ -679,6 +679,23 @@ cd /usr/src/release sh release.sh -c $HOME/release.conf .Ed .Pp +Configuration files specific to various supported embedded systems, such as +the Raspberry Pi, exist in the directory corresponding to the +.Va TARGET +.Xr make 1 +variable. +For example, to build an image for the Raspberry Pi: +.Bd -literal -offset indent +cd /usr/src/release +sh release.sh -c arm/RPI-B.conf +.Ed +.Pp +To build an image for the Raspberry Pi 3: +.Bd -literal -offset indent +cd /usr/src/release +sh release.sh -c arm64/RPI3.conf +.Ed +.Pp After running these commands, all prepared release files are available in the .Pa /scratch directory. @@ -701,7 +718,7 @@ variable in .Xr sysctl 8 .Rs .%T "FreeBSD Release Engineering" -.%U http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng/ +.%U https://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/freebsd-releng/ .Re .Rs .%T "FreeBSD Release Engineering of Third Party Packages"