On Thu, Sep 03, 2020 at 02:02:36PM +0200, Christian Weisgerber wrote: > Otto Moerbeek: > > > Currently testing this. > > For "port unreachable" replies, this caused ntpd to become unsynced, but > the peer still remains valid.
Hmm, it looks like we need to reduce trustlevel as well for the case: something was received but it was not a valid ntp packet. Will look into it. Thanks for testing. -Otto > > -------------------- > 1/1 peers valid, clock unsynced > > peer > wt tl st next poll offset delay jitter > fddd:28ee:243:2:213:95ff:fe06:1bb7 ntp > 1 10 1 1212s 3199s -0.409ms 1.027ms 0.388ms > -------------------- > > > Index: client.c > > =================================================================== > > RCS file: /cvs/src/usr.sbin/ntpd/client.c,v > > retrieving revision 1.113 > > diff -u -p -r1.113 client.c > > --- client.c 30 Jan 2020 15:55:41 -0000 1.113 > > +++ client.c 1 Sep 2020 19:15:22 -0000 > > @@ -456,7 +456,7 @@ client_dispatch(struct ntp_peer *p, u_in > > if (++p->shift >= OFFSET_ARRAY_SIZE) > > p->shift = 0; > > > > - return (0); > > + return (1); > > } > > > > int > > Index: ntp.c > > =================================================================== > > RCS file: /cvs/src/usr.sbin/ntpd/ntp.c,v > > retrieving revision 1.166 > > diff -u -p -r1.166 ntp.c > > --- ntp.c 30 Aug 2020 16:21:29 -0000 1.166 > > +++ ntp.c 1 Sep 2020 19:15:22 -0000 > > @@ -403,12 +403,9 @@ ntp_main(struct ntpd_conf *nconf, struct > > for (; nfds > 0 && j < idx_clients; j++) { > > if (pfd[j].revents & (POLLIN|POLLERR)) { > > nfds--; > > - last_action = now; > > if (client_dispatch(idx2peer[j - idx_peers], > > - conf->settime, conf->automatic) == -1) { > > - log_warn("pipe write error (settime)"); > > - ntp_quit = 1; > > - } > > + conf->settime, conf->automatic) == 1) > > + last_action = now; > > } > > } > > > > -- > Christian "naddy" Weisgerber na...@mips.inka.de