Snow Leopard users: Turn off automatic date and time in System Preferences immediately

http://arstechnica.com/apple/2014/12/apple-automatically-patches-macs-to-fix-sev ere-ntp-security-flaw/


When exploited, the NTP flaw can cause buffer overflows that allow remote attackers to execute code on your system.

What this means is that, if you allow date and time to be set automatically by outside servers, you risk having your computer taken over.


This is a critical issue, it's being exploited as we speak, and Apple has not provided the update to Snow Leopard users, only to 10.8/Mountain Lion and above. I strongly doubt Apple will ever get around to issuing an update for Snow Leopard, or they would have already. Chances of that happening are close to zero

Posted on Dec 23, 2014 4:34 PM

Reply
175 replies

Dec 27, 2014 10:54 PM in response to flatsixracer

flatsixracer wrote:


Here is the correct link to the installer. (I can't update/edit the link on my previous post)

https://drive.google.com/folderview?id=0BxQCbeIgpA2uVjFiN1h4bGZNQ2c&usp=sharing


I'd like to know if others see the following behavior on their Snow Leopard system using flatsixracer's installer (or your own privately built ntpd from www.ntp.org)...


When you restart ntpd via the Date&Time preferences (toggle the "Set date and time automatically" checkbox), do a ps ax|grep ntpd on the terminal. How many ntpd processes do you see? Also what do you see in the system.log (using Console) when you restart ntpd?


For me I see two ntpd processes and a bunch of system.log messages. None of this happens with my original 4.2.4p4 ntpd on my 10.6.7 system. I would like to know if this is specific to my 10.6.7 environment or Snow Leopard in general.


My current theory is that if you do see two ntpd processes I believe it is related to the stuff reported in the system.log and the (parent?) ntpd process spawns the second. Eventually that second ntpd process times out (I think it's a time out) leaving only the original ntpd process. I do not know if this is acceptable behavior so at the moment I am a bit wary of using ntp 4.2.8 in my system at the moment.

Dec 27, 2014 11:55 PM in response to flatsixracer

flatsixracer wrote:


Have you tried to restart the system/computer? I think the old ntpd process is a hanging state, because it's binary was replaced with the new ntpd.


Note: I rebooted all my systems after I applied the ntp 4.2.8 fix. On one of my computer I also had two ntpd's running, but that was fixed after the reboot.


ps -ef|grep -i ntpd

0 32782 1 0 0:01.93 ?? 0:02.86 /usr/sbin/ntpd -c /private/etc/ntp-restrict.conf -n -g -p /var/run/ntpd.pid -f /var/db/ntp.drift


Of course I reboot just to be sure all "old" ntp related files are not "floating" around :-) But did you try the toggle test I described, i.e., toggle the ntpd off and on via Date&Time, watching system.log, and seeing how many ntpd processes are running at that point?


FWIW, here's the portion of the system.log I see when toggling ntpd back on. I captured this portion at a time when testing my own build of ntp 4.2.8 (and it also happens with 4.2.8p1-beta2) but using your build results in basically the same (not running on that test system at the moment):

Dec 26 14:32:45 xxxx _cvmsroot[700]: /usr/bin/sntp: illegal option -- v

Dec 26 14:32:45 xxxx _cvmsroot[700]: sntp - standard Simple Network Time Protocol client program - Ver. 4.2.8p1-beta1

Dec 26 14:32:45 xxxx _cvmsroot[700]: Usage: sntp [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \

Dec 26 14:32:45 xxxx _cvmsroot[700]: [ hostname-or-IP ...]

Dec 26 14:32:45 xxxx _cvmsroot[700]: Try 'sntp --help' for more information.

Dec 26 14:32:45 xxxx ntpd[696]: ntpd 4.2.8p1-beta1@1.3265-o Thu Dec 25 11:28:35 UTC 2014 (1): Starting

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: ntpd 4.2.8p1-beta1@1.3265-o Thu Dec 25 11:28:35 UTC 2014 (1): Starting

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: Command line: /usr/sbin/ntpd -c /private/etc/ntp-restrict.conf -n -g -p /var/run/ntpd.pid -f /var/db/ntp.drift

Dec 26 14:32:45 xxxx ntpd[696]: proto: fuzz beneath 0.077 usec

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: proto: precision = 1.000 usec (-20)

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: proto: fuzz beneath 0.077 usec

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: Listen and drop on 0 v6wildcard [::]:123

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: Listen and drop on 1 v4wildcard 0.0.0.0:123

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: Listen normally on 2 lo0 [::1]:123

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: Listen normally on 3 lo0 [fe80::1%1]:123

Dec 26 14:32:45 xxxx ntpd[696]: setsockopt IPV6_MULTICAST_IF 0 for fe80::1%1 fails: Can't assign requested address

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: setsockopt IPV6_MULTICAST_IF 0 for fe80::1%1 fails: Can't assign requested address

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: Listen normally on 4 lo0 127.0.0.1:123

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: Listen normally on 5 en0 [fe80::ea06:88ff:fecd:4ae9%4]:123

Dec 26 14:32:45 xxxx ntpd[696]: setsockopt IPV6_MULTICAST_IF 0 for fe80::ea06:88ff:fecd:4ae9%4 fails: Can't assign requested address

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: setsockopt IPV6_MULTICAST_IF 0 for fe80::ea06:88ff:fecd:4ae9%4 fails: Can't assign requested address

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: Listen normally on 6 en0 192.168.1.68:123

Dec 26 14:32:45 xxxx ntpd[696]: restrict default: KOD does nothing without LIMITED.

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: Listening on routing socket on fd #27 for interface updates

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: restrict default: KOD does nothing without LIMITED.

Dec 26 14:32:45 xxxx ntpd[696]: restrict ::: KOD does nothing without LIMITED.

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: restrict default: KOD does nothing without LIMITED.

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: restrict ::: KOD does nothing without LIMITED.

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: restrict ::: KOD does nothing without LIMITED.

Dec 26 14:32:45 xxxx ntpd[696]: mlockall(): Function not implemented

Dec 26 14:32:45 xxxx org.ntp.ntpd[696]: 26 Dec 14:32:45 ntpd[696]: mlockall(): Function not implemented


Note, the obvious strange things here are the error complaining about -v not being a valid sntp argument. The -v isn't in a valid sntp argument with the sntp installed with these builds. But then that then begs the question on whether ntpd-wrapper needs changing since it looks to me that's where sntp -v is used.


The second thing is the error at the end about mlockall() not being implemented. That has me a little concerned.


Like I said I still don't know if this is specific to my 10.6.7 or a general "problem" with 4.2.8 on Snow Leopard. Do the toggle test and tell me what you see. Thanks in advance.


One final point. It may be true that 4.2.8 might do more logging than 4.2.4p4 so just because 4.2.4p4 is silent in the system.log is not an indications that some things may even be happening there. But one thing for sure, I never see two ntpd processes with 4.2.4p4 in the toggle test and I always do with 4.2.8.

Dec 28, 2014 1:56 AM in response to flatsixracer

flatsixracer wrote:


Thanks for your feedback.

I re-compiled the source code from http://bugs.ntp.org (with and without the ntpd/ntp_io.c patch), but I still get these log entries you reported. Maybe there will be a new release that will address the issue.


But for me the solution of running 4.2.8 with a few additional log entires still beats turning off ntp.


Yeah, I guess you should add that ntpd-ntp_io.c patch for 4.2.8 (FWIW it's supposed to be already included in the 4.2.8p1-beta1).


At any rate I am glad this is not specific to my configuration :-) That was getting me a little worried.


I did do some more research and I believe at least the -v error can be removed by using the ntpd-wrapper that comes with Mountain Lion (probably the other later OS installations too, didn't check). It looks like the one shown on this page. The sntp call in this newer version uses the (new) sntp -K (a history file specification, in this case /dev/null) and -s (set time with adjtime) options. This of course does nothing to help all the rest of the log reports.


While I agree with you that the security fix is probably better than having a few system.log entries, it still remains to be verified whether those errors are insignificant enough so as to still let the clock keep proper time. If not it's no better than just turning off ntp. Being so hung up on these log "errors" I certainly haven't had the time (no pun intended) running the system with the 4.2.8 to verify the clock accuracy.

Dec 28, 2014 2:14 AM in response to xyzzy-xyzzy

xyzzy-xyzzy wrote:


When you restart ntpd via the Date&Time preferences (toggle the "Set date and time automatically" checkbox), do a ps ax|grep ntpd on the terminal. How many ntpd processes do you see? Also what do you see in the system.log (using Console) when you restart ntpd?

(My system was rebooted after applying the fix.)

When I toggle the checkbox Terminal shows two processes. Console logs the same occurrences as in your post.


When I reboot after this experiment Terminal shows one process.


So what does it mean? Never stop your work to toggle date & time settings? Or is it worse than that?

Dec 28, 2014 2:45 AM in response to RobBT

See the last paragraph in my previous post. At the moment I don't know what the implications are. It's one of the reasons I posted this here.


Edit:

Just an afterthought -- the more I think about it the more I believe that the ntpd-wrapper must be changed since I think it's that sntp call that actually corrects the clock. Since it's erroring out with the invalid argument using the "old" (current Snow Leopard) ntpd-wrapper I don't think there is any correction being done to the clock -- ever!

Dec 28, 2014 3:12 AM in response to xyzzy-xyzzy

Can't edit my previous post, so,...


FYI: Just a quick addition for those who may not know what ntpd-wrapper is. It (/usr/libexec/ntpd-wrapper) is the shell script invoked by /System/Library/LaunchDaemons/org.ntp.ntpd.plist. ntpd-wrapper in turn invokes ntpd, the process you see in your process list.


ntpd-wrapper is specific to Apple and thus not something that is built when using the standard ntp sources from www.ntp.org (where all this ntp stuff comes from). That's why I think it's slipping through the cracks here.


--- and now that I've said all this "out loud" I really am not sure how all this machinery works, i.e., where above I thought that the failure of sntp would not ever set the clock, I really now not sure what ntpd's role in all this is. How do these two work together? It's too late now, got to go to bed, my brain hurts! :-)

Dec 28, 2014 7:16 AM in response to xyzzy-xyzzy

FWIW, from my Snow updated to 4.2.8 using flatsixracer's command line version. system log filtered for "ntpd." Not that I understand everything here, but it appears to be working properly.

At startup

Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: ntpd 4.2.8@1.3265-o Wed Dec 24 22:32:16 UTC 2014 (1): Starting
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: Command line: /usr/sbin/ntpd -c /private/etc/ntp-restrict.conf -n -g -p /var/run/ntpd.pid -f /var/db/ntp.drift
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: proto: precision = 1.000 usec (-20)
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: proto: fuzz beneath 0.091 usec
Dec 28 09:57:26 *** ntpd[13]: proto: fuzz beneath 0.091 usec
Dec 28 09:57:26 *** ntpd[13]: setsockopt IPV6_MULTICAST_IF 0 for fe80::1%1 fails: Can't assign requested address
Dec 28 09:57:26 *** ntpd[13]: restrict default: KOD does nothing without LIMITED.
Dec 28 09:57:26 *** ntpd[13]: restrict ::: KOD does nothing without LIMITED.
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: Listen and drop on 0 v6wildcard [::]:123
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: Listen normally on 2 lo0 [::1]:123
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: Listen normally on 3 lo0 [fe80::1%1]:123
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: setsockopt IPV6_MULTICAST_IF 0 for fe80::1%1 fails: Can't assign requested address
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: Listen normally on 4 lo0 127.0.0.1:123
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: Listen normally on 5 en1 192.168.1.47:123
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: Listening on routing socket on fd #26 for interface updates
Dec 28 09:57:26 *** org.ntp.ntpd[13]: restrict default: KOD does nothing without LIMITED.
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: restrict default: KOD does nothing without LIMITED.
Dec 28 09:57:26 *** org.ntp.ntpd[13]: restrict ::: KOD does nothing without LIMITED.
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: restrict ::: KOD does nothing without LIMITED.
Dec 28 09:57:26 *** ntpd[13]: mlockall(): Function not implemented
Dec 28 09:57:26 *** org.ntp.ntpd[13]: 28 Dec 09:57:26 ntpd[13]: mlockall(): Function not implemented


------------------
After unchecking then rechecking automatic time
Dec 28 10:07:51 *** ntpd[268]: ntpd 4.2.8@1.3265-o Wed Dec 24 22:32:16 UTC 2014 (1): Starting
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: ntpd 4.2.8@1.3265-o Wed Dec 24 22:32:16 UTC 2014 (1): Starting
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: Command line: /usr/sbin/ntpd -c /private/etc/ntp-restrict.conf -n -g -p /var/run/ntpd.pid -f /var/db/ntp.drift
Dec 28 10:07:51 *** ntpd[268]: proto: fuzz beneath 0.091 usec
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: proto: precision = 1.000 usec (-20)
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: proto: fuzz beneath 0.091 usec
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: Listen and drop on 0 v6wildcard [::]:123
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Dec 28 10:07:51 *** ntpd[268]: setsockopt IPV6_MULTICAST_IF 0 for fe80::1%1 fails: Can't assign requested address
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: Listen normally on 2 lo0 [::1]:123
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: Listen normally on 3 lo0 [fe80::1%1]:123
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: setsockopt IPV6_MULTICAST_IF 0 for fe80::1%1 fails: Can't assign requested address
Dec 28 10:07:51 *** ntpd[268]: restrict default: KOD does nothing without LIMITED.
Dec 28 10:07:51 *** ntpd[268]: restrict ::: KOD does nothing without LIMITED.
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: Listen normally on 4 lo0 127.0.0.1:123
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: Listen normally on 5 en1 192.168.1.47:123
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: Listening on routing socket on fd #26 for interface updates
Dec 28 10:07:51 *** org.ntp.ntpd[268]: restrict default: KOD does nothing without LIMITED.
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: restrict default: KOD does nothing without LIMITED.
Dec 28 10:07:51 *** org.ntp.ntpd[268]: restrict ::: KOD does nothing without LIMITED.
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: restrict ::: KOD does nothing without LIMITED.
Dec 28 10:07:51 *** ntpd[268]: mlockall(): Function not implemented
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: mlockall(): Function not implemented

Dec 28, 2014 8:29 AM in response to WZZZ

Dec 28 10:07:51 *** org.ntp.ntpd[268]: restrict default: KOD does nothing without LIMITED.
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: restrict default: KOD does nothing without LIMITED.
Dec 28 10:07:51 *** org.ntp.ntpd[268]: restrict ::: KOD does nothing without LIMITED.
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: restrict ::: KOD does nothing without LIMITED.
Dec 28 10:07:51 *** ntpd[268]: mlockall(): Function not implemented
Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: mlockall(): Function not implemented

No idea what these lines about KOD mean. Anything here to be concerned about? Are all these messages only related to the preceding messages re. IPv6_MULTLICAST? My IPv6 is not enabled.

Dec 28 10:07:51 *** org.ntp.ntpd[268]: 28 Dec 10:07:51 ntpd[268]: setsockopt IPV6_MULTICAST_IF 0 for fe80::1%1 fails: Can't assign requested address

Or is it "kiss of death packets"? http://en.wikipedia.org/wiki/NTP_server_misuse_and_abuse

After these incidents, it became clear that apart from stating a server's access policy, a technical means of enforcing a policy was needed. One such mechanism was provided by extending semantics of a Reference Identifier field in an NTP packet when a Stratum field is 0.


In January 2006, RFC 4330

was published, updating details of the SNTP protocol, but also provisionally clarifying and extending the related NTP protocol in some areas. Sections 8 to 11 of RFC 4330

are of particular relevance to this topic (The Kiss-o'-Death Packet, On Being a Good Network Citizen, Best Practices, Security Considerations). Section 8 introduces Kiss-o'-Death packets:


"In NTPv4 and SNTPv4, packets of this kind are called Kiss-o'-Death (KoD) packets, and the ASCII messages they convey are called kiss codes. The KoD packets got their name because an early use was to tell clients to stop sending packets that violate server access controls".


The new requirements of the NTP protocol do not work retroactively, and old clients and implementations of earlier version of the protocol do not recognize KoD and act on it. For the time being there are no good technical means to counteract misuse of NTP servers.

Dec 28, 2014 11:55 AM in response to xyzzy-xyzzy

You are correct, good catch.


Changing the ntp-wrapper to use the new parameters, resolved the: "/usr/bin/sntp: illegal option -- v- " log entr, but the others remain. I am not too worried about the IPV6_MULTICAST_IF messages, but I want to understand the "mlockall(): Function not implemented" message. I may take a closer look at the code and compiler options, but this can quickly become a big project.


But for now (based on xyzzy-xyzzy's discovery). I updated the ntp 4.2.8 installer, with the corrected /usr/libexec/ntpd-wrapper script, so it can be updated by simply reinstalling the ntp 4.2.8 installer package.


--- ntpd-wrapper version > 4.2.6 (compared with patched OS X 10.9)

...

< for server in $(awk '/^server/ {print $NF}' /etc/ntp.conf); do

< if sntp -K /dev/null -s ${server} &> ${LOG}; then

...

--- ntpd-wrapper version < 4.2.4

...

> for server in $(awk '/^server/ {print $2}' /etc/ntp.conf); do

> if sntp -v -r -P no -l /var/run/sntp.pid ${server} &> ${LOG}; then

...

Dec 28, 2014 12:23 PM in response to WZZZ

Ahh, so that's what "KoD" probably means. Thanks for researching that.


WZZZ, I notice in your logs that you don't have the sntp -v error I have in my log. Then can I assume you are running on a system with a /user/libexec/ntpd-wrapper that looks like the one on this page? Specifically the sntp line with the -K and -s arguments? Maybe that change already exists in systems beyond Snow Leopard's ntpd 4.2.4p4. I don't have anything beyond so I cannot check.


As for the mlockall() message, I did a little deeper investigation. I think I found that it comes from ntpd/ntpd.c in the ntpd sources. The code sequence looks like this:

# if defined(HAVE_MLOCKALL)

/*

* lock the process into memory

*/

if (!HAVE_OPT(SAVECONFIGQUIT) &&

0 != mlockall(MCL_CURRENT|MCL_FUTURE))

msyslog(LOG_ERR, "mlockall(): %m");

# else /* !HAVE_MLOCKALL follows */


So if I am right I (like to) believe it's just a warning more-or-less since it doesn't change overall code flow and the locking failure doesn't cause problems . Note that mlockall() is a valid function in Snow Leopard (declared in /usr/include/sys/mman.h) which is why HAVE_MLOCKALL is defined. I am not sure why that mlockall() fails because I didn't dig deeper into understanding its call arguments.

Dec 28, 2014 12:38 PM in response to flatsixracer

flatsixracer wrote:


...<snip>...But for now (based on xyzzy-xyzzy's discovery). I updated the ntp 4.2.8 installer, with the corrected /usr/libexec/ntpd-wrapper script, so it can be updated by simply reinstalling the ntp 4.2.8 installer package...<snip>..


One more suggestion about your installer pkg. I suggest you change the installer from requiring a forced logout to a forced reboot just for safety.


Just a thought.

Dec 28, 2014 1:09 PM in response to xyzzy-xyzzy

You guys are way over my head on this ntpd stuff, but here is /usr/libexec/ntpd-wrapper from my 10.6. Not seeing the same sntp entries at all.


#!/bin/sh


PATH=/usr/sbin:/usr/bin:/bin
TIMEOUT=30
KEY=State:/Network/Global/DNS
DNS=/var/run/resolv.conf
# sentinel to special case DNS readiness at boot
LOG=/var/run/sntp.log


ipconfig waitall


if [[ ! -f ${LOG} ]]; then
DEADLINE=$((SECONDS+TIMEOUT))
for (( CURTIMEOUT=TIMEOUT; SECONDS < DEADLINE; CURTIMEOUT=DEADLINE-SECONDS )); do
if scutil -w ${KEY} -t ${CURTIMEOUT}; then
if [[ -f ${DNS} ]]; then
break;
fi # else retry false alarms
else
logger -p daemon.err "$0: scutil key ${KEY} not present after ${TIMEOUT} seconds"
break;
fi
done
fi


for server in $(awk '/^server/ {print $2}' /etc/ntp.conf); do
if sntp -v -r -P no -l /var/run/sntp.pid ${server} &> ${LOG}; then
break
else
logger -p daemon.err -f ${LOG}
fi
done


# Un-comment the following line to run ntp with a sandbox profile.
# Sandbox profiles restrict processes from performing unauthorized
# operations; so it may be necessary to update the profile
# (/usr/share/sandbox/ntpd.sb) if any changes are made to the ntp
# configuration (/etc/ntp.conf).
#sb=/usr/bin/sandbox-exec -f /usr/share/sandbox/ntpd.sb


exec $sb /usr/sbin/ntpd -c /private/etc/ntp-restrict.conf -n -g -p /var/run/ntpd.pid -f /var/db/ntp.drift

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Snow Leopard users: Turn off automatic date and time in System Preferences immediately

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.