48 + /* equivalenced to */ NO_EQUIVALENT, |
48 + /* equivalenced to */ NO_EQUIVALENT, |
49 + /* min, max, act ct */ 0, 1, 0, |
49 + /* min, max, act ct */ 0, 1, 0, |
50 /* opt state flags */ MODIFYMMTIMER_FLAGS, 0, |
50 /* opt state flags */ MODIFYMMTIMER_FLAGS, 0, |
51 /* last opt argumnt */ { NULL }, |
51 /* last opt argumnt */ { NULL }, |
52 /* arg list/cookie */ NULL, |
52 /* arg list/cookie */ NULL, |
53 @@ -644,8 +674,8 @@ |
53 @@ -685,8 +715,8 @@ |
54 /* desc, NAME, name */ zModifymmtimerText, zModifymmtimer_NAME, zModifymmtimer_Name, |
54 /* desc, NAME, name */ zModifymmtimerText, zModifymmtimer_NAME, zModifymmtimer_Name, |
55 /* disablement strs */ NULL, NULL }, |
55 /* disablement strs */ NULL, NULL }, |
56 |
56 |
57 - { /* entry idx, value */ 16, VALUE_OPT_NOFORK, |
57 - { /* entry idx, value */ 16, VALUE_OPT_NOFORK, |
58 - /* equiv idx, value */ 16, VALUE_OPT_NOFORK, |
58 - /* equiv idx, value */ 16, VALUE_OPT_NOFORK, |
59 + { /* entry idx, value */ 17, VALUE_OPT_NOFORK, |
59 + { /* entry idx, value */ 17, VALUE_OPT_NOFORK, |
60 + /* equiv idx, value */ 17, VALUE_OPT_NOFORK, |
60 + /* equiv idx, value */ 17, VALUE_OPT_NOFORK, |
61 /* equivalenced to */ NO_EQUIVALENT, |
61 /* equivalenced to */ NO_EQUIVALENT, |
62 /* min, max, act ct */ 0, 1, 0, |
62 /* min, max, act ct */ 0, 1, 0, |
63 /* opt state flags */ NOFORK_FLAGS, 0, |
63 /* opt state flags */ NOFORK_FLAGS, 0, |
64 @@ -656,8 +686,8 @@ |
64 @@ -697,8 +727,8 @@ |
65 /* desc, NAME, name */ zNoforkText, zNofork_NAME, zNofork_Name, |
65 /* desc, NAME, name */ zNoforkText, zNofork_NAME, zNofork_Name, |
66 /* disablement strs */ NULL, NULL }, |
66 /* disablement strs */ NULL, NULL }, |
67 |
67 |
68 - { /* entry idx, value */ 17, VALUE_OPT_NICE, |
68 - { /* entry idx, value */ 17, VALUE_OPT_NICE, |
69 - /* equiv idx, value */ 17, VALUE_OPT_NICE, |
69 - /* equiv idx, value */ 17, VALUE_OPT_NICE, |
70 + { /* entry idx, value */ 18, VALUE_OPT_NICE, |
70 + { /* entry idx, value */ 18, VALUE_OPT_NICE, |
71 + /* equiv idx, value */ 18, VALUE_OPT_NICE, |
71 + /* equiv idx, value */ 18, VALUE_OPT_NICE, |
72 /* equivalenced to */ NO_EQUIVALENT, |
72 /* equivalenced to */ NO_EQUIVALENT, |
73 /* min, max, act ct */ 0, 1, 0, |
73 /* min, max, act ct */ 0, 1, 0, |
74 /* opt state flags */ NICE_FLAGS, 0, |
74 /* opt state flags */ NICE_FLAGS, 0, |
75 @@ -668,8 +698,8 @@ |
75 @@ -709,8 +739,8 @@ |
76 /* desc, NAME, name */ zNiceText, zNice_NAME, zNice_Name, |
76 /* desc, NAME, name */ zNiceText, zNice_NAME, zNice_Name, |
77 /* disablement strs */ NULL, NULL }, |
77 /* disablement strs */ NULL, NULL }, |
78 |
78 |
79 - { /* entry idx, value */ 18, VALUE_OPT_PIDFILE, |
79 - { /* entry idx, value */ 18, VALUE_OPT_PIDFILE, |
80 - /* equiv idx, value */ 18, VALUE_OPT_PIDFILE, |
80 - /* equiv idx, value */ 18, VALUE_OPT_PIDFILE, |
81 + { /* entry idx, value */ 19, VALUE_OPT_PIDFILE, |
81 + { /* entry idx, value */ 19, VALUE_OPT_PIDFILE, |
82 + /* equiv idx, value */ 19, VALUE_OPT_PIDFILE, |
82 + /* equiv idx, value */ 19, VALUE_OPT_PIDFILE, |
83 /* equivalenced to */ NO_EQUIVALENT, |
83 /* equivalenced to */ NO_EQUIVALENT, |
84 /* min, max, act ct */ 0, 1, 0, |
84 /* min, max, act ct */ 0, 1, 0, |
85 /* opt state flags */ PIDFILE_FLAGS, 0, |
85 /* opt state flags */ PIDFILE_FLAGS, 0, |
86 @@ -680,8 +710,8 @@ |
86 @@ -721,8 +751,8 @@ |
87 /* desc, NAME, name */ zPidfileText, zPidfile_NAME, zPidfile_Name, |
87 /* desc, NAME, name */ zPidfileText, zPidfile_NAME, zPidfile_Name, |
88 /* disablement strs */ NULL, NULL }, |
88 /* disablement strs */ NULL, NULL }, |
89 |
89 |
90 - { /* entry idx, value */ 19, VALUE_OPT_PRIORITY, |
90 - { /* entry idx, value */ 19, VALUE_OPT_PRIORITY, |
91 - /* equiv idx, value */ 19, VALUE_OPT_PRIORITY, |
91 - /* equiv idx, value */ 19, VALUE_OPT_PRIORITY, |
92 + { /* entry idx, value */ 20, VALUE_OPT_PRIORITY, |
92 + { /* entry idx, value */ 20, VALUE_OPT_PRIORITY, |
93 + /* equiv idx, value */ 20, VALUE_OPT_PRIORITY, |
93 + /* equiv idx, value */ 20, VALUE_OPT_PRIORITY, |
94 /* equivalenced to */ NO_EQUIVALENT, |
94 /* equivalenced to */ NO_EQUIVALENT, |
95 /* min, max, act ct */ 0, 1, 0, |
95 /* min, max, act ct */ 0, 1, 0, |
96 /* opt state flags */ PRIORITY_FLAGS, 0, |
96 /* opt state flags */ PRIORITY_FLAGS, 0, |
97 @@ -692,8 +722,8 @@ |
97 @@ -733,8 +763,8 @@ |
98 /* desc, NAME, name */ zPriorityText, zPriority_NAME, zPriority_Name, |
98 /* desc, NAME, name */ zPriorityText, zPriority_NAME, zPriority_Name, |
99 /* disablement strs */ NULL, NULL }, |
99 /* disablement strs */ NULL, NULL }, |
100 |
100 |
101 - { /* entry idx, value */ 20, VALUE_OPT_QUIT, |
101 - { /* entry idx, value */ 20, VALUE_OPT_QUIT, |
102 - /* equiv idx, value */ 20, VALUE_OPT_QUIT, |
102 - /* equiv idx, value */ 20, VALUE_OPT_QUIT, |
103 + { /* entry idx, value */ 21, VALUE_OPT_QUIT, |
103 + { /* entry idx, value */ 21, VALUE_OPT_QUIT, |
104 + /* equiv idx, value */ 21, VALUE_OPT_QUIT, |
104 + /* equiv idx, value */ 21, VALUE_OPT_QUIT, |
105 /* equivalenced to */ NO_EQUIVALENT, |
105 /* equivalenced to */ NO_EQUIVALENT, |
106 /* min, max, act ct */ 0, 1, 0, |
106 /* min, max, act ct */ 0, 1, 0, |
107 /* opt state flags */ QUIT_FLAGS, 0, |
107 /* opt state flags */ QUIT_FLAGS, 0, |
108 @@ -704,8 +734,8 @@ |
108 @@ -745,8 +775,8 @@ |
109 /* desc, NAME, name */ zQuitText, zQuit_NAME, zQuit_Name, |
109 /* desc, NAME, name */ zQuitText, zQuit_NAME, zQuit_Name, |
110 /* disablement strs */ NULL, NULL }, |
110 /* disablement strs */ NULL, NULL }, |
111 |
111 |
112 - { /* entry idx, value */ 21, VALUE_OPT_PROPAGATIONDELAY, |
112 - { /* entry idx, value */ 21, VALUE_OPT_PROPAGATIONDELAY, |
113 - /* equiv idx, value */ 21, VALUE_OPT_PROPAGATIONDELAY, |
113 - /* equiv idx, value */ 21, VALUE_OPT_PROPAGATIONDELAY, |
114 + { /* entry idx, value */ 22, VALUE_OPT_PROPAGATIONDELAY, |
114 + { /* entry idx, value */ 22, VALUE_OPT_PROPAGATIONDELAY, |
115 + /* equiv idx, value */ 22, VALUE_OPT_PROPAGATIONDELAY, |
115 + /* equiv idx, value */ 22, VALUE_OPT_PROPAGATIONDELAY, |
116 /* equivalenced to */ NO_EQUIVALENT, |
116 /* equivalenced to */ NO_EQUIVALENT, |
117 /* min, max, act ct */ 0, 1, 0, |
117 /* min, max, act ct */ 0, 1, 0, |
118 /* opt state flags */ PROPAGATIONDELAY_FLAGS, 0, |
118 /* opt state flags */ PROPAGATIONDELAY_FLAGS, 0, |
119 @@ -716,8 +746,8 @@ |
119 @@ -757,8 +787,8 @@ |
120 /* desc, NAME, name */ zPropagationdelayText, zPropagationdelay_NAME, zPropagationdelay_Name, |
120 /* desc, NAME, name */ zPropagationdelayText, zPropagationdelay_NAME, zPropagationdelay_Name, |
121 /* disablement strs */ NULL, NULL }, |
121 /* disablement strs */ NULL, NULL }, |
122 |
122 |
123 - { /* entry idx, value */ 22, VALUE_OPT_STATSDIR, |
123 - { /* entry idx, value */ 22, VALUE_OPT_STATSDIR, |
124 - /* equiv idx, value */ 22, VALUE_OPT_STATSDIR, |
124 - /* equiv idx, value */ 22, VALUE_OPT_STATSDIR, |
125 + { /* entry idx, value */ 23, VALUE_OPT_STATSDIR, |
125 + { /* entry idx, value */ 23, VALUE_OPT_STATSDIR, |
126 + /* equiv idx, value */ 23, VALUE_OPT_STATSDIR, |
126 + /* equiv idx, value */ 23, VALUE_OPT_STATSDIR, |
127 /* equivalenced to */ NO_EQUIVALENT, |
127 /* equivalenced to */ NO_EQUIVALENT, |
128 /* min, max, act ct */ 0, 1, 0, |
128 /* min, max, act ct */ 0, 1, 0, |
129 /* opt state flags */ STATSDIR_FLAGS, 0, |
129 /* opt state flags */ STATSDIR_FLAGS, 0, |
130 @@ -728,8 +758,8 @@ |
130 @@ -769,8 +799,8 @@ |
131 /* desc, NAME, name */ zStatsdirText, zStatsdir_NAME, zStatsdir_Name, |
131 /* desc, NAME, name */ zStatsdirText, zStatsdir_NAME, zStatsdir_Name, |
132 /* disablement strs */ NULL, NULL }, |
132 /* disablement strs */ NULL, NULL }, |
133 |
133 |
134 - { /* entry idx, value */ 23, VALUE_OPT_TRUSTEDKEY, |
134 - { /* entry idx, value */ 23, VALUE_OPT_TRUSTEDKEY, |
135 - /* equiv idx, value */ 23, VALUE_OPT_TRUSTEDKEY, |
135 - /* equiv idx, value */ 23, VALUE_OPT_TRUSTEDKEY, |
136 + { /* entry idx, value */ 24, VALUE_OPT_TRUSTEDKEY, |
136 + { /* entry idx, value */ 24, VALUE_OPT_TRUSTEDKEY, |
137 + /* equiv idx, value */ 24, VALUE_OPT_TRUSTEDKEY, |
137 + /* equiv idx, value */ 24, VALUE_OPT_TRUSTEDKEY, |
138 /* equivalenced to */ NO_EQUIVALENT, |
138 /* equivalenced to */ NO_EQUIVALENT, |
139 /* min, max, act ct */ 0, NOLIMIT, 0, |
139 /* min, max, act ct */ 0, NOLIMIT, 0, |
140 /* opt state flags */ TRUSTEDKEY_FLAGS, 0, |
140 /* opt state flags */ TRUSTEDKEY_FLAGS, 0, |
141 @@ -740,8 +770,8 @@ |
141 @@ -781,8 +811,8 @@ |
142 /* desc, NAME, name */ zTrustedkeyText, zTrustedkey_NAME, zTrustedkey_Name, |
142 /* desc, NAME, name */ zTrustedkeyText, zTrustedkey_NAME, zTrustedkey_Name, |
143 /* disablement strs */ NULL, NULL }, |
143 /* disablement strs */ NULL, NULL }, |
144 |
144 |
145 - { /* entry idx, value */ 24, VALUE_OPT_USER, |
145 - { /* entry idx, value */ 24, VALUE_OPT_USER, |
146 - /* equiv idx, value */ 24, VALUE_OPT_USER, |
146 - /* equiv idx, value */ 24, VALUE_OPT_USER, |
147 + { /* entry idx, value */ 25, VALUE_OPT_USER, |
147 + { /* entry idx, value */ 25, VALUE_OPT_USER, |
148 + /* equiv idx, value */ 25, VALUE_OPT_USER, |
148 + /* equiv idx, value */ 25, VALUE_OPT_USER, |
149 /* equivalenced to */ NO_EQUIVALENT, |
149 /* equivalenced to */ NO_EQUIVALENT, |
150 /* min, max, act ct */ 0, 1, 0, |
150 /* min, max, act ct */ 0, 1, 0, |
151 /* opt state flags */ USER_FLAGS, 0, |
151 /* opt state flags */ USER_FLAGS, 0, |
152 @@ -752,8 +782,8 @@ |
152 @@ -793,8 +823,8 @@ |
153 /* desc, NAME, name */ zUserText, zUser_NAME, zUser_Name, |
153 /* desc, NAME, name */ zUserText, zUser_NAME, zUser_Name, |
154 /* disablement strs */ NULL, NULL }, |
154 /* disablement strs */ NULL, NULL }, |
155 |
155 |
156 - { /* entry idx, value */ 25, VALUE_OPT_UPDATEINTERVAL, |
156 - { /* entry idx, value */ 25, VALUE_OPT_UPDATEINTERVAL, |
157 - /* equiv idx, value */ 25, VALUE_OPT_UPDATEINTERVAL, |
157 - /* equiv idx, value */ 25, VALUE_OPT_UPDATEINTERVAL, |
158 + { /* entry idx, value */ 26, VALUE_OPT_UPDATEINTERVAL, |
158 + { /* entry idx, value */ 26, VALUE_OPT_UPDATEINTERVAL, |
159 + /* equiv idx, value */ 26, VALUE_OPT_UPDATEINTERVAL, |
159 + /* equiv idx, value */ 26, VALUE_OPT_UPDATEINTERVAL, |
160 /* equivalenced to */ NO_EQUIVALENT, |
160 /* equivalenced to */ NO_EQUIVALENT, |
161 /* min, max, act ct */ 0, 1, 0, |
161 /* min, max, act ct */ 0, 1, 0, |
162 /* opt state flags */ UPDATEINTERVAL_FLAGS, 0, |
162 /* opt state flags */ UPDATEINTERVAL_FLAGS, 0, |
163 @@ -764,8 +794,8 @@ |
163 @@ -805,8 +835,8 @@ |
164 /* desc, NAME, name */ zUpdateintervalText, zUpdateinterval_NAME, zUpdateinterval_Name, |
164 /* desc, NAME, name */ zUpdateintervalText, zUpdateinterval_NAME, zUpdateinterval_Name, |
165 /* disablement strs */ NULL, NULL }, |
165 /* disablement strs */ NULL, NULL }, |
166 |
166 |
167 - { /* entry idx, value */ 26, VALUE_OPT_VAR, |
167 - { /* entry idx, value */ 26, VALUE_OPT_VAR, |
168 - /* equiv idx, value */ 26, VALUE_OPT_VAR, |
168 - /* equiv idx, value */ 26, VALUE_OPT_VAR, |
169 + { /* entry idx, value */ 27, VALUE_OPT_VAR, |
169 + { /* entry idx, value */ 27, VALUE_OPT_VAR, |
170 + /* equiv idx, value */ 27, VALUE_OPT_VAR, |
170 + /* equiv idx, value */ 27, VALUE_OPT_VAR, |
171 /* equivalenced to */ NO_EQUIVALENT, |
171 /* equivalenced to */ NO_EQUIVALENT, |
172 /* min, max, act ct */ 0, NOLIMIT, 0, |
172 /* min, max, act ct */ 0, NOLIMIT, 0, |
173 /* opt state flags */ VAR_FLAGS, 0, |
173 /* opt state flags */ VAR_FLAGS, 0, |
174 @@ -776,8 +806,8 @@ |
174 @@ -817,8 +847,8 @@ |
175 /* desc, NAME, name */ zVarText, zVar_NAME, zVar_Name, |
175 /* desc, NAME, name */ zVarText, zVar_NAME, zVar_Name, |
176 /* disablement strs */ NULL, NULL }, |
176 /* disablement strs */ NULL, NULL }, |
177 |
177 |
178 - { /* entry idx, value */ 27, VALUE_OPT_DVAR, |
178 - { /* entry idx, value */ 27, VALUE_OPT_DVAR, |
179 - /* equiv idx, value */ 27, VALUE_OPT_DVAR, |
179 - /* equiv idx, value */ 27, VALUE_OPT_DVAR, |
180 + { /* entry idx, value */ 28, VALUE_OPT_DVAR, |
180 + { /* entry idx, value */ 28, VALUE_OPT_DVAR, |
181 + /* equiv idx, value */ 28, VALUE_OPT_DVAR, |
181 + /* equiv idx, value */ 28, VALUE_OPT_DVAR, |
182 /* equivalenced to */ NO_EQUIVALENT, |
182 /* equivalenced to */ NO_EQUIVALENT, |
183 /* min, max, act ct */ 0, NOLIMIT, 0, |
183 /* min, max, act ct */ 0, NOLIMIT, 0, |
184 /* opt state flags */ DVAR_FLAGS, 0, |
184 /* opt state flags */ DVAR_FLAGS, 0, |
185 @@ -788,8 +818,8 @@ |
185 @@ -829,8 +859,8 @@ |
186 /* desc, NAME, name */ zDvarText, zDvar_NAME, zDvar_Name, |
186 /* desc, NAME, name */ zDvarText, zDvar_NAME, zDvar_Name, |
187 /* disablement strs */ NULL, NULL }, |
187 /* disablement strs */ NULL, NULL }, |
188 |
188 |
189 - { /* entry idx, value */ 28, VALUE_OPT_SLEW, |
189 - { /* entry idx, value */ 28, VALUE_OPT_SLEW, |
190 - /* equiv idx, value */ 28, VALUE_OPT_SLEW, |
190 - /* equiv idx, value */ 28, VALUE_OPT_SLEW, |
191 + { /* entry idx, value */ 29, VALUE_OPT_SLEW, |
191 + { /* entry idx, value */ 29, VALUE_OPT_SLEW, |
192 + /* equiv idx, value */ 29, VALUE_OPT_SLEW, |
192 + /* equiv idx, value */ 29, VALUE_OPT_SLEW, |
193 /* equivalenced to */ NO_EQUIVALENT, |
193 /* equivalenced to */ NO_EQUIVALENT, |
194 /* min, max, act ct */ 0, 1, 0, |
194 /* min, max, act ct */ 0, 1, 0, |
195 /* opt state flags */ SLEW_FLAGS, 0, |
195 /* opt state flags */ SLEW_FLAGS, 0, |
196 @@ -899,7 +929,7 @@ |
196 @@ -967,7 +997,7 @@ |
197 NO_EQUIVALENT /* index of '-#' option */, |
197 NO_EQUIVALENT, /* '-#' option index */ |
198 NO_EQUIVALENT /* index of default opt */ |
198 NO_EQUIVALENT /* index of default opt */ |
199 }, |
199 }, |
200 - 32 /* full option count */, 29 /* user option count */ |
200 - 34 /* full option count */, 31 /* user option count */, |
201 + 33 /* full option count */, 30 /* user option count */ |
201 + 35 /* full option count */, 32 /* user option count */, |
|
202 ntpd_full_usage, ntpd_short_usage, |
|
203 NULL, NULL |
202 }; |
204 }; |
203 |
205 --- ntpd/ntpd.c.orig Wed Aug 12 04:07:05 2009 |
204 /* |
206 +++ ntpd/ntpd.c Thu Jul 29 09:48:44 2010 |
205 --- ntpd/ntpd.c.orig Thu May 14 06:34:41 2009 |
207 @@ -166,7 +166,7 @@ |
206 +++ ntpd/ntpd.c Thu May 14 06:15:13 2009 |
208 * after we have synched the first time. If the attempt fails, then try again once per |
207 @@ -160,6 +160,14 @@ |
209 * minute for up to 5 times. After all, we may be starting before mDNS. |
208 */ |
210 */ |
209 int nofork = 0; /* Fork by default */ |
211 -int mdnsreg = 1; |
210 |
|
211 +/* |
|
212 + * mDNS registration flag. If set, we attempt to register with the mDNS system, but only |
|
213 + * after we have synched the first time. If the attempt fails, then try again once per |
|
214 + * minute for up to 5 times. After all, we may be starting before mDNS. |
|
215 + */ |
|
216 +int mdnsreg = 0; |
212 +int mdnsreg = 0; |
217 +int mdnstries = 5; |
213 int mdnstries = 5; |
218 + |
214 #endif /* HAVE_DNSREGISTRATION */ |
219 #ifdef HAVE_DROPROOT |
215 |
220 int droproot = 0; |
216 @@ -540,6 +540,9 @@ |
221 char *user = NULL; /* User to switch to */ |
|
222 @@ -527,6 +535,9 @@ |
|
223 if (HAVE_OPT( NOVIRTUALIPS )) |
217 if (HAVE_OPT( NOVIRTUALIPS )) |
224 listen_to_virtual_ips = 0; |
218 listen_to_virtual_ips = 0; |
225 |
219 |
226 + if (HAVE_OPT( MDNS )) |
220 + if (HAVE_OPT( MDNS )) |
227 + mdnsreg = 1; |
221 + mdnsreg = 1; |
228 + |
222 + |
229 /* |
223 /* |
230 * Limit specific interfaces |
224 * Limit specific interfaces |
231 */ |
225 */ |
232 @@ -840,13 +851,6 @@ |
226 --- ntpd/ntpd-opts.h.orig Wed Aug 12 04:42:23 2009 |
233 loop_config(LOOP_DRIFTCOMP, old_drift); |
227 +++ ntpd/ntpd-opts.h Thu Jul 29 09:39:13 2010 |
234 initializing = 0; |
228 @@ -67,28 +67,29 @@ |
235 |
229 INDEX_OPT_KEYFILE = 12, |
236 -#ifdef HAVE_DNSREGISTRATION |
230 INDEX_OPT_LOGFILE = 13, |
237 - msyslog(LOG_INFO, "Attemping to register mDNS"); |
231 INDEX_OPT_NOVIRTUALIPS = 14, |
238 - if ( DNSServiceRegister (&mdns, 0, 0, NULL, "_ntp._udp", NULL, NULL, htons(NTP_PORT), 0, NULL, NULL, NULL) != kDNSServiceErr_NoError ) { |
232 - INDEX_OPT_MODIFYMMTIMER = 15, |
239 - msyslog(LOG_ERR, "Unable to register mDNS"); |
233 - INDEX_OPT_NOFORK = 16, |
240 - } |
234 - INDEX_OPT_NICE = 17, |
241 -#endif |
235 - INDEX_OPT_PIDFILE = 18, |
242 - |
236 - INDEX_OPT_PRIORITY = 19, |
243 #ifdef HAVE_DROPROOT |
237 - INDEX_OPT_QUIT = 20, |
244 if( droproot ) { |
238 - INDEX_OPT_PROPAGATIONDELAY = 21, |
245 /* Drop super-user privileges and chroot now if the OS supports this */ |
239 - INDEX_OPT_STATSDIR = 22, |
246 @@ -1148,6 +1152,25 @@ |
240 - INDEX_OPT_TRUSTEDKEY = 23, |
247 /* |
241 - INDEX_OPT_USER = 24, |
248 * Go around again |
242 - INDEX_OPT_UPDATEINTERVAL = 25, |
249 */ |
243 - INDEX_OPT_VAR = 26, |
250 + |
244 - INDEX_OPT_DVAR = 27, |
251 +#ifdef HAVE_DNSREGISTRATION |
245 - INDEX_OPT_SLEW = 28, |
252 + if (mdnsreg && (current_time - mdnsreg ) > 60 && mdnstries && sys_leap != LEAP_NOTINSYNC) { |
246 - INDEX_OPT_USEPCC = 29, |
253 + mdnsreg = current_time; |
247 - INDEX_OPT_PCCFREQ = 30, |
254 + msyslog(LOG_INFO, "Attemping to register mDNS"); |
248 - INDEX_OPT_VERSION = 31, |
255 + if ( DNSServiceRegister (&mdns, 0, 0, NULL, "_ntp._udp", NULL, NULL, |
249 - INDEX_OPT_HELP = 32, |
256 + htons(NTP_PORT), 0, NULL, NULL, NULL) != kDNSServiceErr_NoError ) { |
250 - INDEX_OPT_MORE_HELP = 33 |
257 + if (!--mdnstries) { |
251 + INDEX_OPT_MDNS = 15, |
258 + msyslog(LOG_ERR, "Unable to register mDNS, giving up."); |
252 + INDEX_OPT_MODIFYMMTIMER = 16, |
259 + } else { |
253 + INDEX_OPT_NOFORK = 17, |
260 + msyslog(LOG_INFO, "Unable to register mDNS, will try later."); |
254 + INDEX_OPT_NICE = 18, |
261 + } |
255 + INDEX_OPT_PIDFILE = 19, |
262 + } else { |
256 + INDEX_OPT_PRIORITY = 20, |
263 + msyslog(LOG_INFO, "mDNS service registered."); |
257 + INDEX_OPT_QUIT = 21, |
264 + mdnsreg = 0; |
258 + INDEX_OPT_PROPAGATIONDELAY = 22, |
265 + } |
259 + INDEX_OPT_STATSDIR = 23, |
266 + } |
260 + INDEX_OPT_TRUSTEDKEY = 24, |
267 +#endif /* HAVE_DNSREGISTRATION */ |
261 + INDEX_OPT_USER = 25, |
268 + |
262 + INDEX_OPT_UPDATEINTERVAL = 26, |
269 } |
263 + INDEX_OPT_VAR = 27, |
270 UNBLOCK_IO_AND_ALARM(); |
264 + INDEX_OPT_DVAR = 28, |
271 return 1; |
265 + INDEX_OPT_SLEW = 29, |
272 --- ntpd/ntpd-opts.h.orig Thu May 14 06:34:41 2009 |
266 + INDEX_OPT_USEPCC = 30, |
273 +++ ntpd/ntpd-opts.h Thu May 14 06:15:13 2009 |
267 + INDEX_OPT_PCCFREQ = 31, |
274 @@ -67,26 +67,27 @@ |
268 + INDEX_OPT_VERSION = 32, |
275 INDEX_OPT_KEYFILE = 12, |
269 + INDEX_OPT_HELP = 33, |
276 INDEX_OPT_LOGFILE = 13, |
270 + INDEX_OPT_MORE_HELP = 34 |
277 INDEX_OPT_NOVIRTUALIPS = 14, |
|
278 - INDEX_OPT_MODIFYMMTIMER = 15, |
|
279 - INDEX_OPT_NOFORK = 16, |
|
280 - INDEX_OPT_NICE = 17, |
|
281 - INDEX_OPT_PIDFILE = 18, |
|
282 - INDEX_OPT_PRIORITY = 19, |
|
283 - INDEX_OPT_QUIT = 20, |
|
284 - INDEX_OPT_PROPAGATIONDELAY = 21, |
|
285 - INDEX_OPT_STATSDIR = 22, |
|
286 - INDEX_OPT_TRUSTEDKEY = 23, |
|
287 - INDEX_OPT_USER = 24, |
|
288 - INDEX_OPT_UPDATEINTERVAL = 25, |
|
289 - INDEX_OPT_VAR = 26, |
|
290 - INDEX_OPT_DVAR = 27, |
|
291 - INDEX_OPT_SLEW = 28, |
|
292 - INDEX_OPT_VERSION = 29, |
|
293 - INDEX_OPT_HELP = 30, |
|
294 - INDEX_OPT_MORE_HELP = 31 |
|
295 + INDEX_OPT_MDNS = 15, |
|
296 + INDEX_OPT_MODIFYMMTIMER = 16, |
|
297 + INDEX_OPT_NOFORK = 17, |
|
298 + INDEX_OPT_NICE = 18, |
|
299 + INDEX_OPT_PIDFILE = 19, |
|
300 + INDEX_OPT_PRIORITY = 20, |
|
301 + INDEX_OPT_QUIT = 21, |
|
302 + INDEX_OPT_PROPAGATIONDELAY = 22, |
|
303 + INDEX_OPT_STATSDIR = 23, |
|
304 + INDEX_OPT_TRUSTEDKEY = 24, |
|
305 + INDEX_OPT_USER = 25, |
|
306 + INDEX_OPT_UPDATEINTERVAL = 26, |
|
307 + INDEX_OPT_VAR = 27, |
|
308 + INDEX_OPT_DVAR = 28, |
|
309 + INDEX_OPT_SLEW = 29, |
|
310 + INDEX_OPT_VERSION = 30, |
|
311 + INDEX_OPT_HELP = 31, |
|
312 + INDEX_OPT_MORE_HELP = 32 |
|
313 } teOptIndex; |
271 } teOptIndex; |
314 |
272 |
315 -#define OPTION_CT 32 |
273 -#define OPTION_CT 34 |
316 +#define OPTION_CT 33 |
274 +#define OPTION_CT 35 |
317 #define NTPD_VERSION "4.2.5p172" |
275 #define NTPD_VERSION "4.2.5p200" |
318 #define NTPD_FULL_VERSION "ntpd - NTP daemon program - Ver. 4.2.5p172" |
276 #define NTPD_FULL_VERSION "ntpd - NTP daemon program - Ver. 4.2.5p200" |
319 |
277 |
320 @@ -175,6 +176,10 @@ |
278 @@ -177,6 +178,10 @@ |
321 # warning undefining NOVIRTUALIPS due to option name conflict |
279 # warning undefining NOVIRTUALIPS due to option name conflict |
322 # undef NOVIRTUALIPS |
280 # undef NOVIRTUALIPS |
323 # endif |
281 # endif |
324 +# ifdef MDNS |
282 +# ifdef MDNS |
325 +# warning undefining MDNS due to option name conflict |
283 +# warning undefining MDNS due to option name conflict |
326 +# undef MDNS |
284 +# undef MDNS |
327 +# endif |
285 +# endif |
328 # ifdef MODIFYMMTIMER |
286 # ifdef MODIFYMMTIMER |
329 # warning undefining MODIFYMMTIMER due to option name conflict |
287 # warning undefining MODIFYMMTIMER due to option name conflict |
330 # undef MODIFYMMTIMER |
288 # undef MODIFYMMTIMER |
331 @@ -247,6 +252,7 @@ |
289 @@ -257,6 +262,7 @@ |
332 # undef KEYFILE |
290 # undef KEYFILE |
333 # undef LOGFILE |
291 # undef LOGFILE |
334 # undef NOVIRTUALIPS |
292 # undef NOVIRTUALIPS |
335 +# undef MDNS |
293 +# undef MDNS |
336 # undef MODIFYMMTIMER |
294 # undef MODIFYMMTIMER |
337 # undef NOFORK |
295 # undef NOFORK |
338 # undef NICE |
296 # undef NICE |
339 @@ -289,6 +295,9 @@ |
297 @@ -302,6 +308,9 @@ |
340 #define VALUE_OPT_KEYFILE 'k' |
298 #define VALUE_OPT_KEYFILE 'k' |
341 #define VALUE_OPT_LOGFILE 'l' |
299 #define VALUE_OPT_LOGFILE 'l' |
342 #define VALUE_OPT_NOVIRTUALIPS 'L' |
300 #define VALUE_OPT_NOVIRTUALIPS 'L' |
343 +#ifdef HAVE_DNSREGISTRATION |
301 +#ifdef HAVE_DNSREGISTRATION |
344 +#define VALUE_OPT_MDNS 'm' |
302 +#define VALUE_OPT_MDNS 'm' |
345 +#endif /* HAVE_DNSREGISTRATION */ |
303 +#endif /* HAVE_DNSREGISTRATION */ |
346 #ifdef SYS_WINNT |
304 #ifdef SYS_WINNT |
347 #define VALUE_OPT_MODIFYMMTIMER 'M' |
305 #define VALUE_OPT_MODIFYMMTIMER 'M' |
348 #endif /* SYS_WINNT */ |
306 #endif /* SYS_WINNT */ |
349 @@ -306,8 +315,8 @@ |
307 @@ -319,8 +328,8 @@ |
350 #endif /* HAVE_DROPROOT */ |
308 #endif /* HAVE_DROPROOT */ |
351 #define VALUE_OPT_UPDATEINTERVAL 'U' |
309 #define VALUE_OPT_UPDATEINTERVAL 'U' |
352 #define OPT_VALUE_UPDATEINTERVAL (DESC(UPDATEINTERVAL).optArg.argInt) |
310 #define OPT_VALUE_UPDATEINTERVAL (DESC(UPDATEINTERVAL).optArg.argInt) |
353 -#define VALUE_OPT_VAR 26 |
311 -#define VALUE_OPT_VAR 26 |
354 -#define VALUE_OPT_DVAR 27 |
312 -#define VALUE_OPT_DVAR 27 |
355 +#define VALUE_OPT_VAR 27 |
313 +#define VALUE_OPT_VAR 27 |
356 +#define VALUE_OPT_DVAR 28 |
314 +#define VALUE_OPT_DVAR 28 |
357 #define VALUE_OPT_SLEW 'x' |
315 #define VALUE_OPT_SLEW 'x' |
358 |
316 #ifdef SYS_WINNT |
359 #define VALUE_OPT_VERSION INDEX_OPT_VERSION |
317 #define VALUE_OPT_USEPCC 29 |