--- 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