20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest...
authorBrian Utterback <brian.utterback@oracle.com>
Thu, 23 Apr 2015 18:39:04 -0700
changeset 4185 65ec845ad48f
parent 4183 b177c3d42668
child 4187 383dafe219dc
20728422 ntpq4 -c mrulis randomly returns no data and posts error latest.newest... 20783962 There is no way to adjust the leap second by slewmode in ntpd(v4). 20853665 problem in SERVICE/NTP 20853731 problem in SERVICE/NTP 20952293 problem in SERVICE/NTP
components/ntp/Makefile
components/ntp/ntp.p5m
components/ntp/patches/70-leapslew.patch
components/ntp/patches/80-ipv6-einval.patch
--- a/components/ntp/Makefile	Thu Apr 23 14:52:17 2015 -0700
+++ b/components/ntp/Makefile	Thu Apr 23 18:39:04 2015 -0700
@@ -27,7 +27,7 @@
 
 COMPONENT_NAME=		ntp
 COMPONENT_VERSION=	4.2.8
-COMPONENT_PATCH_VERSION=	1
+COMPONENT_PATCH_VERSION=	2
 COMPONENT_RC_VERSION=	1
 HUMAN_VERSION=		$(COMPONENT_VERSION)p$(COMPONENT_PATCH_VERSION)
 IPS_COMPONENT_VERSION=	$(COMPONENT_VERSION).$(COMPONENT_PATCH_VERSION)
@@ -36,7 +36,7 @@
 COMPONENT_SRC=		$(COMPONENT_SRC_NAME)-$(HUMAN_VERSION)
 COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
 COMPONENT_ARCHIVE_HASH=	 \
-    sha256:948274b88f1ed002d867ced6aaefdfd0999668b11285ac2b3a67ff2629d59d88
+    sha256:0d69bc0e95caad43ea04fdad410e756bae1a71e67b1c2bd799b76b55e04c9b31
 COMPONENT_ARCHIVE_URL=	http://archive.ntp.org/ntp4/ntp-4.2/$(COMPONENT_ARCHIVE)
 COMPONENT_BUGDB= service/ntp
 
--- a/components/ntp/ntp.p5m	Thu Apr 23 14:52:17 2015 -0700
+++ b/components/ntp/ntp.p5m	Thu Apr 23 18:39:04 2015 -0700
@@ -105,6 +105,7 @@
 file path=usr/share/doc/ntp/drivers/driver43.html
 file path=usr/share/doc/ntp/drivers/driver44.html
 file path=usr/share/doc/ntp/drivers/driver45.html
+file path=usr/share/doc/ntp/drivers/driver46.html
 file path=usr/share/doc/ntp/drivers/driver5.html
 file path=usr/share/doc/ntp/drivers/driver6.html
 file path=usr/share/doc/ntp/drivers/driver7.html
@@ -245,8 +246,10 @@
 file path=usr/share/doc/ntp/pic/radio2.jpg
 file path=usr/share/doc/ntp/pic/sheepb.jpg
 file path=usr/share/doc/ntp/pic/stack1a.jpg
+file path=usr/share/doc/ntp/pic/stats.gif
 file path=usr/share/doc/ntp/pic/sx5.gif
 file path=usr/share/doc/ntp/pic/thunderbolt.jpg
+file path=usr/share/doc/ntp/pic/time1.gif
 file path=usr/share/doc/ntp/pic/tonea.gif
 file path=usr/share/doc/ntp/pic/tribeb.gif
 file path=usr/share/doc/ntp/pic/wingdorothy.gif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ntp/patches/70-leapslew.patch	Thu Apr 23 18:39:04 2015 -0700
@@ -0,0 +1,42 @@
+This patch can be removed when upgrading to community version that has
+NTP bug 2745 fixed. See http://bugzilla.ntp.org/show_bug.cgi?id=2745
+
+--- ntpd/ntp_timer.c
++++ ntpd/ntp_timer.c
[email protected]@ -472,7 +472,7 @@ alarming(
+ # endif
+ # ifdef DEBUG
+ 	if (debug >= 4)
+-		write(1, msg, strlen(msg));
++		(void)(0 != write(1, msg, strlen(msg)));
+ # endif
+ }
+ #endif /* SYS_WINNT */
[email protected]@ -521,11 +521,23 @@ check_leapsec(
+ 		 * announce the leap event has happened.
+ 		 */
+ 		if (lsdata.warped < 0) {
+-			step_systime(lsdata.warped);
+-			msyslog(LOG_NOTICE, "Inserting positive leap second.");
++			if (clock_max_back > 0.0 &&
++			    clock_max_back < fabs(lsdata.warped)) {
++				step_systime(lsdata.warped);
++				msyslog(LOG_NOTICE, "Positive leap second, stepped backward.");
++			} else {
++				msyslog(LOG_NOTICE, "Positive leap second, expect slowdown slew soon."
++				    " System clock will be inaccurate until it finishes.");
++			}
+ 		} else 	if (lsdata.warped > 0) {
+-			step_systime(lsdata.warped);
+-			msyslog(LOG_NOTICE, "Inserting negative leap second.");
++			if (clock_max_fwd > 0.0 &&
++			    clock_max_fwd < fabs(lsdata.warped)) {
++				step_systime(lsdata.warped);
++				msyslog(LOG_NOTICE, "Negative leap second, stepped forward.");
++			} else {
++				msyslog(LOG_NOTICE, "Negative leap second, expect speedup slew soon."
++				    " System clock will be inaccurate until it finishes.");
++			}
+ 		}
+ 		report_event(EVNT_LEAP, NULL, NULL);
+ 		lsprox  = LSPROX_NOWARN;
--- a/components/ntp/patches/80-ipv6-einval.patch	Thu Apr 23 14:52:17 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-This patch inserts if_nametoindex calls in each of the internal ISC
-routines that lookup the interface attributes. Neither getifaddrs or
-the existing ioctl calls lookup the index for the interface.
-
-This has been submitted as a patch for NTP bug 1960, and it can be
-removed when NTP is upgraded to version that includes a fix for 
-1960.
-
---- lib/isc/unix/ifiter_getifaddrs.c
-+++ lib/isc/unix/ifiter_getifaddrs.c
[email protected]@ -204,6 +204,9 @@ internal_current(isc_interfaceiter_t *it
- 		get_addr(family, &iter->current.broadcast, ifa->ifa_broadaddr,
- 			 ifa->ifa_name);
- 
-+#ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX
-+	iter->current.ifindex = if_nametoindex(iter->current.name);
-+#endif
- 	return (ISC_R_SUCCESS);
- }
- 
---- lib/isc/unix/ifiter_ioctl.c
-+++ lib/isc/unix/ifiter_ioctl.c
[email protected]@ -588,6 +588,9 @@ internal_current4(isc_interfaceiter_t *i
- 		}
- 		iter->current.netmask.type.in6.s6_addr[i] = (~0 << bits) & 0xff;
- 	}
-+#ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX
-+	iter->current.ifindex = if_nametoindex(iter->current.name);
-+#endif
- 	return (ISC_R_SUCCESS);
- 
-  inet:
[email protected]@ -664,6 +667,9 @@ internal_current4(isc_interfaceiter_t *i
- 	}
- 	get_addr(family, &iter->current.netmask,
- 		 (struct sockaddr *)&ifreq.ifr_addr, ifreq.ifr_name);
-+#ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX
-+	iter->current.ifindex = if_nametoindex(iter->current.name);
-+#endif
- 	return (ISC_R_SUCCESS);
- }
- 
[email protected]@ -704,7 +710,6 @@ internal_current6(isc_interfaceiter_t *i
- 	get_addr(family, &iter->current.address,
- 		 (struct sockaddr *)&lifreq.lifr_addr, lifreq.lifr_name);
- 
--	iter->current.ifindex = lifreq.lifr_index;
- 	if (isc_netaddr_islinklocal(&iter->current.address))
- 		isc_netaddr_setzone(&iter->current.address, 
- 				    (isc_uint32_t)lifreq.lifr_index);
[email protected]@ -844,7 +849,9 @@ internal_current6(isc_interfaceiter_t *i
- 			iter->current.netmask.type.in6.s6_addr[i / 8] =
- 				(~0 << bits) & 0xff;
- 		}
--
-+#ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX
-+		iter->current.ifindex = if_nametoindex(iter->current.name);
-+#endif
- 		return (ISC_R_SUCCESS);
- 	}
- #endif
[email protected]@ -867,6 +874,9 @@ internal_current6(isc_interfaceiter_t *i
- 	get_addr(family, &iter->current.netmask,
- 		 (struct sockaddr *)&lifreq.lifr_addr, lifreq.lifr_name);
- 
-+#ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX
-+	iter->current.ifindex = if_nametoindex(iter->current.name);
-+#endif
- 	return (ISC_R_SUCCESS);
- }
- #endif