usr/src/cmd/ntpd/Patches/mdns.patch
changeset 42 b6f829cb6d9e
parent 0 b34509ac961f
--- a/usr/src/cmd/ntpd/Patches/mdns.patch	Thu Aug 05 23:45:52 2010 -0700
+++ b/usr/src/cmd/ntpd/Patches/mdns.patch	Sat Aug 21 11:47:07 2010 -0700
@@ -1,6 +1,6 @@
---- ntpd/ntpd-opts.c.orig	Thu May 14 06:34:41 2009
-+++ ntpd/ntpd-opts.c	Thu May 14 06:15:13 2009
-@@ -237,6 +237,24 @@
+--- ntpd/ntpd-opts.c.orig	Thu Jul 29 09:29:51 2010
++++ ntpd/ntpd-opts.c	Thu Jul 29 09:43:40 2010
+@@ -243,6 +243,24 @@
  #define NOVIRTUALIPS_FLAGS       (OPTST_DISABLED)
  
  /*
@@ -25,7 +25,7 @@
   *  Modifymmtimer option description:
   */
  #ifdef SYS_WINNT
-@@ -632,10 +650,22 @@
+@@ -673,10 +691,22 @@
       /* desc, NAME, name */ zNovirtualipsText, zNovirtualips_NAME, zNovirtualips_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -50,7 +50,7 @@
       /* opt state flags  */ MODIFYMMTIMER_FLAGS, 0,
       /* last opt argumnt */ { NULL },
       /* arg list/cookie  */ NULL,
-@@ -644,8 +674,8 @@
+@@ -685,8 +715,8 @@
       /* desc, NAME, name */ zModifymmtimerText, zModifymmtimer_NAME, zModifymmtimer_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -61,7 +61,7 @@
       /* equivalenced to  */ NO_EQUIVALENT,
       /* min, max, act ct */ 0, 1, 0,
       /* opt state flags  */ NOFORK_FLAGS, 0,
-@@ -656,8 +686,8 @@
+@@ -697,8 +727,8 @@
       /* desc, NAME, name */ zNoforkText, zNofork_NAME, zNofork_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -72,7 +72,7 @@
       /* equivalenced to  */ NO_EQUIVALENT,
       /* min, max, act ct */ 0, 1, 0,
       /* opt state flags  */ NICE_FLAGS, 0,
-@@ -668,8 +698,8 @@
+@@ -709,8 +739,8 @@
       /* desc, NAME, name */ zNiceText, zNice_NAME, zNice_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -83,7 +83,7 @@
       /* equivalenced to  */ NO_EQUIVALENT,
       /* min, max, act ct */ 0, 1, 0,
       /* opt state flags  */ PIDFILE_FLAGS, 0,
-@@ -680,8 +710,8 @@
+@@ -721,8 +751,8 @@
       /* desc, NAME, name */ zPidfileText, zPidfile_NAME, zPidfile_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -94,7 +94,7 @@
       /* equivalenced to  */ NO_EQUIVALENT,
       /* min, max, act ct */ 0, 1, 0,
       /* opt state flags  */ PRIORITY_FLAGS, 0,
-@@ -692,8 +722,8 @@
+@@ -733,8 +763,8 @@
       /* desc, NAME, name */ zPriorityText, zPriority_NAME, zPriority_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -105,7 +105,7 @@
       /* equivalenced to  */ NO_EQUIVALENT,
       /* min, max, act ct */ 0, 1, 0,
       /* opt state flags  */ QUIT_FLAGS, 0,
-@@ -704,8 +734,8 @@
+@@ -745,8 +775,8 @@
       /* desc, NAME, name */ zQuitText, zQuit_NAME, zQuit_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -116,7 +116,7 @@
       /* equivalenced to  */ NO_EQUIVALENT,
       /* min, max, act ct */ 0, 1, 0,
       /* opt state flags  */ PROPAGATIONDELAY_FLAGS, 0,
-@@ -716,8 +746,8 @@
+@@ -757,8 +787,8 @@
       /* desc, NAME, name */ zPropagationdelayText, zPropagationdelay_NAME, zPropagationdelay_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -127,7 +127,7 @@
       /* equivalenced to  */ NO_EQUIVALENT,
       /* min, max, act ct */ 0, 1, 0,
       /* opt state flags  */ STATSDIR_FLAGS, 0,
-@@ -728,8 +758,8 @@
+@@ -769,8 +799,8 @@
       /* desc, NAME, name */ zStatsdirText, zStatsdir_NAME, zStatsdir_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -138,7 +138,7 @@
       /* equivalenced to  */ NO_EQUIVALENT,
       /* min, max, act ct */ 0, NOLIMIT, 0,
       /* opt state flags  */ TRUSTEDKEY_FLAGS, 0,
-@@ -740,8 +770,8 @@
+@@ -781,8 +811,8 @@
       /* desc, NAME, name */ zTrustedkeyText, zTrustedkey_NAME, zTrustedkey_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -149,7 +149,7 @@
       /* equivalenced to  */ NO_EQUIVALENT,
       /* min, max, act ct */ 0, 1, 0,
       /* opt state flags  */ USER_FLAGS, 0,
-@@ -752,8 +782,8 @@
+@@ -793,8 +823,8 @@
       /* desc, NAME, name */ zUserText, zUser_NAME, zUser_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -160,7 +160,7 @@
       /* equivalenced to  */ NO_EQUIVALENT,
       /* min, max, act ct */ 0, 1, 0,
       /* opt state flags  */ UPDATEINTERVAL_FLAGS, 0,
-@@ -764,8 +794,8 @@
+@@ -805,8 +835,8 @@
       /* desc, NAME, name */ zUpdateintervalText, zUpdateinterval_NAME, zUpdateinterval_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -171,7 +171,7 @@
       /* equivalenced to  */ NO_EQUIVALENT,
       /* min, max, act ct */ 0, NOLIMIT, 0,
       /* opt state flags  */ VAR_FLAGS, 0,
-@@ -776,8 +806,8 @@
+@@ -817,8 +847,8 @@
       /* desc, NAME, name */ zVarText, zVar_NAME, zVar_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -182,7 +182,7 @@
       /* equivalenced to  */ NO_EQUIVALENT,
       /* min, max, act ct */ 0, NOLIMIT, 0,
       /* opt state flags  */ DVAR_FLAGS, 0,
-@@ -788,8 +818,8 @@
+@@ -829,8 +859,8 @@
       /* desc, NAME, name */ zDvarText, zDvar_NAME, zDvar_Name,
       /* disablement strs */ NULL, NULL },
  
@@ -193,33 +193,27 @@
       /* equivalenced to  */ NO_EQUIVALENT,
       /* min, max, act ct */ 0, 1, 0,
       /* opt state flags  */ SLEW_FLAGS, 0,
-@@ -899,7 +929,7 @@
-       NO_EQUIVALENT /* index of '-#' option */,
+@@ -967,7 +997,7 @@
+       NO_EQUIVALENT, /* '-#' option index */
        NO_EQUIVALENT /* index of default opt */
      },
--    32 /* full option count */, 29 /* user option count */
-+    33 /* full option count */, 30 /* user option count */
+-    34 /* full option count */, 31 /* user option count */,
++    35 /* full option count */, 32 /* user option count */,
+     ntpd_full_usage, ntpd_short_usage,
+     NULL, NULL
  };
- 
- /*
---- ntpd/ntpd.c.orig	Thu May 14 06:34:41 2009
-+++ ntpd/ntpd.c	Thu May 14 06:15:13 2009
-@@ -160,6 +160,14 @@
+--- ntpd/ntpd.c.orig	Wed Aug 12 04:07:05 2009
++++ ntpd/ntpd.c	Thu Jul 29 09:48:44 2010
+@@ -166,7 +166,7 @@
+  * after we have synched the first time. If the attempt fails, then try again once per 
+  * minute for up to 5 times. After all, we may be starting before mDNS.
   */
- int nofork = 0;			/* Fork by default */
+-int mdnsreg = 1;
++int mdnsreg = 0;
+ int mdnstries = 5;
+ #endif  /* HAVE_DNSREGISTRATION */
  
-+/*
-+ * mDNS registration flag. If set, we attempt to register with the mDNS system, but only
-+ * after we have synched the first time. If the attempt fails, then try again once per 
-+ * minute for up to 5 times. After all, we may be starting before mDNS.
-+ */
-+int mdnsreg = 0;
-+int mdnstries = 5;
-+
- #ifdef HAVE_DROPROOT
- int droproot = 0;
- char *user = NULL;		/* User to switch to */
-@@ -527,6 +535,9 @@
+@@ -540,6 +540,9 @@
  	if (HAVE_OPT( NOVIRTUALIPS ))
  		listen_to_virtual_ips = 0;
  
@@ -229,95 +223,59 @@
  	/*
  	 * Limit specific interfaces
  	 */
-@@ -840,13 +851,6 @@
- 	loop_config(LOOP_DRIFTCOMP, old_drift);
- 	initializing = 0;
- 
--#ifdef HAVE_DNSREGISTRATION
--	msyslog(LOG_INFO, "Attemping to register mDNS");
--	if ( DNSServiceRegister (&mdns, 0, 0, NULL, "_ntp._udp", NULL, NULL, htons(NTP_PORT), 0, NULL, NULL, NULL) != kDNSServiceErr_NoError ) {
--		msyslog(LOG_ERR, "Unable to register mDNS");
--	}
--#endif
--
- #ifdef HAVE_DROPROOT
- 	if( droproot ) {
- 		/* Drop super-user privileges and chroot now if the OS supports this */
-@@ -1148,6 +1152,25 @@
- 		/*
- 		 * Go around again
- 		 */
-+
-+#ifdef HAVE_DNSREGISTRATION
-+		if (mdnsreg && (current_time - mdnsreg ) > 60 && mdnstries && sys_leap != LEAP_NOTINSYNC) {
-+			mdnsreg = current_time;
-+			msyslog(LOG_INFO, "Attemping to register mDNS");
-+			if ( DNSServiceRegister (&mdns, 0, 0, NULL, "_ntp._udp", NULL, NULL, 
-+			    htons(NTP_PORT), 0, NULL, NULL, NULL) != kDNSServiceErr_NoError ) {
-+				if (!--mdnstries) {
-+					msyslog(LOG_ERR, "Unable to register mDNS, giving up.");
-+				} else {	
-+					msyslog(LOG_INFO, "Unable to register mDNS, will try later.");
-+				}
-+			} else {
-+				msyslog(LOG_INFO, "mDNS service registered.");
-+				mdnsreg = 0;
-+			}
-+		}
-+#endif /* HAVE_DNSREGISTRATION */
-+
- 	}
- 	UNBLOCK_IO_AND_ALARM();
- 	return 1;
---- ntpd/ntpd-opts.h.orig	Thu May 14 06:34:41 2009
-+++ ntpd/ntpd-opts.h	Thu May 14 06:15:13 2009
-@@ -67,26 +67,27 @@
-         INDEX_OPT_KEYFILE          = 12,
-         INDEX_OPT_LOGFILE          = 13,
-         INDEX_OPT_NOVIRTUALIPS     = 14,
--        INDEX_OPT_MODIFYMMTIMER    = 15,
--        INDEX_OPT_NOFORK           = 16,
--        INDEX_OPT_NICE             = 17,
--        INDEX_OPT_PIDFILE          = 18,
--        INDEX_OPT_PRIORITY         = 19,
--        INDEX_OPT_QUIT             = 20,
--        INDEX_OPT_PROPAGATIONDELAY = 21,
--        INDEX_OPT_STATSDIR         = 22,
--        INDEX_OPT_TRUSTEDKEY       = 23,
--        INDEX_OPT_USER             = 24,
--        INDEX_OPT_UPDATEINTERVAL   = 25,
--        INDEX_OPT_VAR              = 26,
--        INDEX_OPT_DVAR             = 27,
--        INDEX_OPT_SLEW             = 28,
--        INDEX_OPT_VERSION          = 29,
--        INDEX_OPT_HELP             = 30,
--        INDEX_OPT_MORE_HELP        = 31
-+	INDEX_OPT_MDNS             = 15,
-+        INDEX_OPT_MODIFYMMTIMER    = 16,
-+        INDEX_OPT_NOFORK           = 17,
-+        INDEX_OPT_NICE             = 18,
-+        INDEX_OPT_PIDFILE          = 19,
-+        INDEX_OPT_PRIORITY         = 20,
-+        INDEX_OPT_QUIT             = 21,
-+        INDEX_OPT_PROPAGATIONDELAY = 22,
-+        INDEX_OPT_STATSDIR         = 23,
-+        INDEX_OPT_TRUSTEDKEY       = 24,
-+        INDEX_OPT_USER             = 25,
-+        INDEX_OPT_UPDATEINTERVAL   = 26,
-+        INDEX_OPT_VAR              = 27,
-+        INDEX_OPT_DVAR             = 28,
-+        INDEX_OPT_SLEW             = 29,
-+        INDEX_OPT_VERSION          = 30,
-+        INDEX_OPT_HELP             = 31,
-+        INDEX_OPT_MORE_HELP        = 32
+--- ntpd/ntpd-opts.h.orig	Wed Aug 12 04:42:23 2009
++++ ntpd/ntpd-opts.h	Thu Jul 29 09:39:13 2010
+@@ -67,28 +67,29 @@
+     INDEX_OPT_KEYFILE           = 12,
+     INDEX_OPT_LOGFILE           = 13,
+     INDEX_OPT_NOVIRTUALIPS      = 14,
+-    INDEX_OPT_MODIFYMMTIMER     = 15,
+-    INDEX_OPT_NOFORK            = 16,
+-    INDEX_OPT_NICE              = 17,
+-    INDEX_OPT_PIDFILE           = 18,
+-    INDEX_OPT_PRIORITY          = 19,
+-    INDEX_OPT_QUIT              = 20,
+-    INDEX_OPT_PROPAGATIONDELAY  = 21,
+-    INDEX_OPT_STATSDIR          = 22,
+-    INDEX_OPT_TRUSTEDKEY        = 23,
+-    INDEX_OPT_USER              = 24,
+-    INDEX_OPT_UPDATEINTERVAL    = 25,
+-    INDEX_OPT_VAR               = 26,
+-    INDEX_OPT_DVAR              = 27,
+-    INDEX_OPT_SLEW              = 28,
+-    INDEX_OPT_USEPCC            = 29,
+-    INDEX_OPT_PCCFREQ           = 30,
+-    INDEX_OPT_VERSION           = 31,
+-    INDEX_OPT_HELP              = 32,
+-    INDEX_OPT_MORE_HELP         = 33
++    INDEX_OPT_MDNS              = 15,
++    INDEX_OPT_MODIFYMMTIMER     = 16,
++    INDEX_OPT_NOFORK            = 17,
++    INDEX_OPT_NICE              = 18,
++    INDEX_OPT_PIDFILE           = 19,
++    INDEX_OPT_PRIORITY          = 20,
++    INDEX_OPT_QUIT              = 21,
++    INDEX_OPT_PROPAGATIONDELAY  = 22,
++    INDEX_OPT_STATSDIR          = 23,
++    INDEX_OPT_TRUSTEDKEY        = 24,
++    INDEX_OPT_USER              = 25,
++    INDEX_OPT_UPDATEINTERVAL    = 26,
++    INDEX_OPT_VAR               = 27,
++    INDEX_OPT_DVAR              = 28,
++    INDEX_OPT_SLEW              = 29,
++    INDEX_OPT_USEPCC            = 30,
++    INDEX_OPT_PCCFREQ           = 31,
++    INDEX_OPT_VERSION           = 32,
++    INDEX_OPT_HELP              = 33,
++    INDEX_OPT_MORE_HELP         = 34
  } teOptIndex;
  
--#define OPTION_CT    32
-+#define OPTION_CT    33
- #define NTPD_VERSION       "4.2.5p172"
- #define NTPD_FULL_VERSION  "ntpd - NTP daemon program - Ver. 4.2.5p172"
+-#define OPTION_CT    34
++#define OPTION_CT    35
+ #define NTPD_VERSION       "4.2.5p200"
+ #define NTPD_FULL_VERSION  "ntpd - NTP daemon program - Ver. 4.2.5p200"
  
-@@ -175,6 +176,10 @@
+@@ -177,6 +178,10 @@
  #  warning undefining NOVIRTUALIPS due to option name conflict
  #  undef   NOVIRTUALIPS
  # endif
@@ -328,7 +286,7 @@
  # ifdef    MODIFYMMTIMER
  #  warning undefining MODIFYMMTIMER due to option name conflict
  #  undef   MODIFYMMTIMER
-@@ -247,6 +252,7 @@
+@@ -257,6 +262,7 @@
  # undef KEYFILE
  # undef LOGFILE
  # undef NOVIRTUALIPS
@@ -336,7 +294,7 @@
  # undef MODIFYMMTIMER
  # undef NOFORK
  # undef NICE
-@@ -289,6 +295,9 @@
+@@ -302,6 +308,9 @@
  #define VALUE_OPT_KEYFILE        'k'
  #define VALUE_OPT_LOGFILE        'l'
  #define VALUE_OPT_NOVIRTUALIPS   'L'
@@ -346,7 +304,7 @@
  #ifdef SYS_WINNT
  #define VALUE_OPT_MODIFYMMTIMER  'M'
  #endif /* SYS_WINNT */
-@@ -306,8 +315,8 @@
+@@ -319,8 +328,8 @@
  #endif /* HAVE_DROPROOT */
  #define VALUE_OPT_UPDATEINTERVAL 'U'
  #define OPT_VALUE_UPDATEINTERVAL (DESC(UPDATEINTERVAL).optArg.argInt)
@@ -355,5 +313,5 @@
 +#define VALUE_OPT_VAR            27
 +#define VALUE_OPT_DVAR           28
  #define VALUE_OPT_SLEW           'x'
- 
- #define VALUE_OPT_VERSION       INDEX_OPT_VERSION
+ #ifdef SYS_WINNT
+ #define VALUE_OPT_USEPCC         29