diff options
Diffstat (limited to 'usr.sbin/ntpd/client.c')
-rw-r--r-- | usr.sbin/ntpd/client.c | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/usr.sbin/ntpd/client.c b/usr.sbin/ntpd/client.c index 139cd309779..0016488a604 100644 --- a/usr.sbin/ntpd/client.c +++ b/usr.sbin/ntpd/client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: client.c,v 1.52 2005/01/27 10:32:29 dtucker Exp $ */ +/* $OpenBSD: client.c,v 1.53 2005/01/27 14:44:00 dtucker Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> @@ -43,20 +43,6 @@ set_deadline(struct ntp_peer *p, time_t t) p->next = 0; } -time_t -scale_interval(time_t requested, double offset) -{ - if (offset < 0) - offset = -offset; - - if (offset > QSCALE_OFF_MAX) - return (requested); - else if (offset < QSCALE_OFF_MIN) - return (requested * (QSCALE_OFF_MAX / QSCALE_OFF_MIN)); - else - return (requested * (QSCALE_OFF_MAX / offset)); -} - int client_peer_init(struct ntp_peer *p) { @@ -128,7 +114,7 @@ client_query(struct ntp_peer *p) int tos = IPTOS_LOWDELAY; if (p->addr == NULL && client_nextaddr(p) == -1) { - set_next(p, INTERVAL_QUERY_PATHETIC); + set_next(p, error_interval()); return (-1); } @@ -142,7 +128,7 @@ client_query(struct ntp_peer *p) if (errno == ECONNREFUSED || errno == ENETUNREACH || errno == EHOSTUNREACH) { client_nextaddr(p); - set_next(p, INTERVAL_QUERY_PATHETIC); + set_next(p, error_interval()); return (-1); } else fatal("client_query connect"); @@ -197,8 +183,7 @@ client_dispatch(struct ntp_peer *p, u_int8_t settime) errno == ENETDOWN || errno == ECONNREFUSED) { log_warn("recvfrom %s", log_sockaddr((struct sockaddr *)&p->addr->ss)); - interval = scale_interval(INTERVAL_QUERY_PATHETIC, 0.0); - set_next(p, interval); + set_next(p, error_interval()); return (0); } else fatal("recvfrom"); @@ -214,7 +199,7 @@ client_dispatch(struct ntp_peer *p, u_int8_t settime) if ((msg.status & LI_ALARM) == LI_ALARM || msg.stratum == 0 || msg.stratum > NTP_MAXSTRATUM) { - interval = scale_interval(INTERVAL_QUERY_PATHETIC, 0.0); + interval = error_interval(); set_next(p, interval); log_info("reply from %s: not synced, next query %ds", log_sockaddr((struct sockaddr *)&p->addr->ss), interval); @@ -260,8 +245,7 @@ client_dispatch(struct ntp_peer *p, u_int8_t settime) else if (p->trustlevel < TRUSTLEVEL_AGRESSIVE) interval = INTERVAL_QUERY_AGRESSIVE; else - interval = scale_interval(INTERVAL_QUERY_NORMAL, - p->reply[p->shift].offset); + interval = scale_interval(INTERVAL_QUERY_NORMAL); set_next(p, interval); p->state = STATE_REPLY_RECEIVED; |