ntp: don't check for synchronization loop in special reference modes
If a special reference mode is enabled, always pass the test for synchronization loop. This allows chronyd using the initstepslew directive (or the -q/-Q option) to accept time from its own clients after restart as is documented in the chrony.conf man page. This was broken since update to NTPv4.
This commit is contained in:
parent
d1f4e5876b
commit
b48e4421de
1 changed files with 2 additions and 1 deletions
|
@ -1348,7 +1348,8 @@ receive_packet(NTP_Packet *message, struct timeval *now, double now_err, NCR_Ins
|
|||
|
||||
/* Test D requires that the remote peer is not synchronised to us to
|
||||
prevent a synchronisation loop */
|
||||
testD = message->stratum <= 1 || pkt_refid != UTI_IPToRefid(&local_addr->ip_addr);
|
||||
testD = message->stratum <= 1 || REF_GetMode() != REF_ModeNormal ||
|
||||
pkt_refid != UTI_IPToRefid(&local_addr->ip_addr);
|
||||
} else {
|
||||
offset = delay = dispersion = 0.0;
|
||||
sample_time = *now;
|
||||
|
|
Loading…
Reference in a new issue