diff options
author | Alexander Guy <alexander@cvs.openbsd.org> | 2004-07-11 00:15:11 +0000 |
---|---|---|
committer | Alexander Guy <alexander@cvs.openbsd.org> | 2004-07-11 00:15:11 +0000 |
commit | 5f5956ff6c46b9cb957cf649150284eee373cbf6 (patch) | |
tree | e0a37591f2fedb011e9bf4949072749766d541bb /usr.sbin/ntpd | |
parent | dde475e446050ba522ede0ec39f98f954367bc70 (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')
-rw-r--r-- | usr.sbin/ntpd/client.c | 11 | ||||
-rw-r--r-- | usr.sbin/ntpd/ntpd.h | 24 |
2 files changed, 28 insertions, 7 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) diff --git a/usr.sbin/ntpd/ntpd.h b/usr.sbin/ntpd/ntpd.h index ae9acee3e96..452dace9c65 100644 --- a/usr.sbin/ntpd/ntpd.h +++ b/usr.sbin/ntpd/ntpd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ntpd.h,v 1.23 2004/07/10 23:12:57 alexander Exp $ */ +/* $OpenBSD: ntpd.h,v 1.24 2004/07/11 00:15:10 alexander Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> @@ -70,12 +70,24 @@ struct ntp_addr { struct sockaddr_storage ss; }; +struct ntp_status { + u_int8_t leap; + u_int8_t stratum; + int8_t precision; + double rootdelay; + double rootdispersion; + u_int32_t refid; + double reftime; + u_int8_t poll; +}; + struct ntp_offset { - u_int8_t good; - double offset; - double delay; - double error; - time_t rcvd; + u_int8_t good; + double offset; + double delay; + double error; + time_t rcvd; + struct ntp_status status; }; struct ntp_peer { |