summaryrefslogtreecommitdiff
path: root/usr.sbin/ntpd/client.c
diff options
context:
space:
mode:
authorAlexander Guy <alexander@cvs.openbsd.org>2004-07-11 00:15:11 +0000
committerAlexander Guy <alexander@cvs.openbsd.org>2004-07-11 00:15:11 +0000
commit5f5956ff6c46b9cb957cf649150284eee373cbf6 (patch)
treee0a37591f2fedb011e9bf4949072749766d541bb /usr.sbin/ntpd/client.c
parentdde475e446050ba522ede0ec39f98f954367bc70 (diff)
Start collecting the remote server state along with the calculated
offsets, in preparation for having correct server statistics in responses to client queries. ok henning@
Diffstat (limited to 'usr.sbin/ntpd/client.c')
-rw-r--r--usr.sbin/ntpd/client.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/usr.sbin/ntpd/client.c b/usr.sbin/ntpd/client.c
index efe730e9bfe..149ab165bc1 100644
--- a/usr.sbin/ntpd/client.c
+++ b/usr.sbin/ntpd/client.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: client.c,v 1.23 2004/07/10 19:16:06 henning Exp $ */
+/* $OpenBSD: client.c,v 1.24 2004/07/11 00:15:10 alexander Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -169,6 +169,15 @@ client_dispatch(struct ntp_peer *p)
p->reply[p->shift].rcvd = time(NULL);
p->reply[p->shift].good = 1;
+ p->reply[p->shift].status.leap = (msg.status & LIMASK) >> 6;
+ p->reply[p->shift].status.stratum = msg.stratum;
+ p->reply[p->shift].status.precision = msg.precision;
+ p->reply[p->shift].status.rootdelay = sfp_to_d(msg.distance);
+ p->reply[p->shift].status.rootdispersion = sfp_to_d(msg.dispersion);
+ p->reply[p->shift].status.refid = htonl(msg.refid);
+ p->reply[p->shift].status.reftime = lfp_to_d(msg.reftime);
+ p->reply[p->shift].status.poll = msg.ppoll;
+
if (p->trustlevel < TRUSTLEVEL_PATHETIC)
interval = INTERVAL_QUERY_PATHETIC;
else if (p->trustlevel < TRUSTLEVEL_AGRESSIVE)