]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
Broadcast and transit phase cleanup from Dave Mills
authorHarlan Stenn <stenn@ntp.org>
Thu, 8 Oct 2009 23:48:15 +0000 (19:48 -0400)
committerHarlan Stenn <stenn@ntp.org>
Thu, 8 Oct 2009 23:48:15 +0000 (19:48 -0400)
bk: 4ace7a3fiffP7_5KZBotmQNrs6OsJQ

ChangeLog
ntpd/ntp_crypto.c
ntpd/ntp_proto.c

index e8a978b3edef9e0a6271900d3397a9c9bb9f8725..cfba5184fca1a8ffb631c42acc5681358e85143e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,4 @@
+* Broadcast and transit phase cleanup from Dave Mills.
 (4.2.5p229) 2009/10/07 Released by Harlan Stenn <stenn@ntp.org>
 * [Bug 1334] ntpsnmpd undefined reference to `ntpqOptions'.
 * Change ntpsnmpd/Makefile.am include file order to fix FreeBSD build.
index 90d2be0b9317e4a192d42924e3b174273889588c..89d01891c378743f10d2a02cf3b09c2f7f682f5e 100644 (file)
@@ -1437,8 +1437,8 @@ crypto_verify(
        if (len < VALUE_LEN)
                return (XEVNT_LEN);
 
-       if (opcode == (CRYPTO_AUTO | CRYPTO_RESP) &&
-           peer->cast_flags & MDF_BCLNT) {
+       if (opcode == (CRYPTO_AUTO | CRYPTO_RESP) && (peer->pmode ==
+           MODE_BROADCAST || (peer->cast_flags & MDF_BCLNT))) {
                if (ntohl(ep->associd) != peer->assoc)
                        return (XEVNT_ERR);
        } else {
index 0e0b492567bcbb73afcca799d4c62c2147d319cc..1b9d4432e0db90a253c368ee5681d282f6c22b34 100644 (file)
@@ -1287,11 +1287,17 @@ receive(
        process_packet(peer, pkt, rbufp->recv_length);
 
        /*
-        * In interleaved mode update the state variables.
+        * In interleaved mode update the state variables. Also adjust the
+        * transmit phase to avoid crossover.
         */
        if (peer->flip != 0) {
                peer->rec = p_rec;
                peer->dst = rbufp->recv_time;
+               if (peer->nextdate - current_time < (1 << min(peer->ppoll,
+                   peer->hpoll)) / 2)
+                       peer->nextdate++;
+               else
+                       peer->nextdate--;
        }
 }