From: Harlan Stenn Date: Sat, 11 Sep 2010 05:11:46 +0000 (-0400) Subject: [Bug 1620] [Backward Incompatible] "discard minimum" value should be in seconds,... X-Git-Tag: NTP_4_2_7P47~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=87cc999e7f149017128040138f273421e0fc3832;p=thirdparty%2Fntp.git [Bug 1620] [Backward Incompatible] "discard minimum" value should be in seconds, not log2 seconds bk: 4c8b0f92Tg9rn2b0O0O5epVL5KrnDA --- diff --git a/ChangeLog b/ChangeLog index d821bc016..ecaad40dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,6 @@ * [Bug 1588] finish configure --disable-autokey implementation. +* [Bug 1620] [Backward Incompatible] "discard minimum" value should be in + seconds, not log2 seconds. (4.2.7p46) 2010/09/10 Released by Harlan Stenn * Use AC_SEARCH_LIBS instead of AC_CHECK_LIB for NTP_LIB_M. (4.2.7p45) 2010/09/05 Released by Harlan Stenn diff --git a/include/ntp.h b/include/ntp.h index d4a051aea..9ecee5d4b 100644 --- a/include/ntp.h +++ b/include/ntp.h @@ -112,7 +112,7 @@ typedef char s_char; #define NTP_MAXDPOLL 10 /* log2 default max poll (~17 m) */ #define NTP_MAXPOLL 17 /* log2 max poll interval (~36 h) */ #define NTP_RETRY 3 /* max packet retries */ -#define NTP_MINPKT 1 /* log2 min interburst interval (2 s) */ +#define NTP_MINPKT 2 /* guard time (s) */ /* * Clock filter algorithm tuning parameters diff --git a/ntpd/ntp_monitor.c b/ntpd/ntp_monitor.c index 7941ba912..f284587e3 100644 --- a/ntpd/ntp_monitor.c +++ b/ntpd/ntp_monitor.c @@ -383,7 +383,7 @@ ntp_monitor( * This rate-limits the KoDs to no less than the average * headway. */ - if (interval + 1 >= (1 << ntp_minpkt) && leak < limit) { + if (interval + 1 >= ntp_minpkt && leak < limit) { mon->leak = leak - 2; restrict_mask &= ~(RES_LIMITED | RES_KOD); } else if (mon->leak < limit) diff --git a/ntpd/ntp_proto.c b/ntpd/ntp_proto.c index 6af7dbf2e..9a2249cb2 100644 --- a/ntpd/ntp_proto.c +++ b/ntpd/ntp_proto.c @@ -1843,7 +1843,6 @@ poll_update( u_char mpoll ) { - int minpkt; u_long next, utemp; u_char hpoll; @@ -1899,9 +1898,8 @@ poll_update( * slink away. If called from the poll process, delay 1 s for a * reference clock, otherwise 2 s. */ - minpkt = 1 << ntp_minpkt; utemp = current_time + max(peer->throttle - (NTP_SHIFT - 1) * - (1 << peer->minpoll), minpkt); + (1 << peer->minpoll), ntp_minpkt); if (peer->burst > 0) { if (peer->nextdate > current_time) return; @@ -1919,7 +1917,7 @@ poll_update( */ } else if (peer->cmmd != NULL) { if (peer->nextdate > current_time) { - if (peer->nextdate + minpkt != utemp) + if (peer->nextdate + ntp_minpkt != utemp) peer->nextdate = utemp; } else { peer->nextdate = utemp; @@ -1957,7 +1955,7 @@ poll_update( else peer->nextdate = utemp; if (peer->throttle > (1 << peer->minpoll)) - peer->nextdate += minpkt; + peer->nextdate += ntp_minpkt; } #ifdef DEBUG if (debug > 1) @@ -2048,7 +2046,7 @@ peer_clear( if (initializing) { peer->nextdate += peer_associations; } else if (peer->hmode == MODE_PASSIVE) { - peer->nextdate += 1 << ntp_minpkt; + peer->nextdate += ntp_minpkt; } else { peer->nextdate += ntp_random() % peer_associations; }