From: Juergen Perlinger Date: Fri, 6 Sep 2019 15:06:02 +0000 (+0200) Subject: [Bug 3613] 'pool' directive doesn't honor 'noselect' flag X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c28172d36bfd096dc599fa4ac99aff57a938972;p=thirdparty%2Fntp.git [Bug 3613] 'pool' directive doesn't honor 'noselect' flag bk: 5d7275da509YjnYRjd1t7lTj7ep9wQ --- diff --git a/ntpd/ntp_proto.c b/ntpd/ntp_proto.c index 793a5f3c0..c5c3d6c14 100644 --- a/ntpd/ntp_proto.c +++ b/ntpd/ntp_proto.c @@ -78,6 +78,11 @@ nak_error_codes { */ #define POOL_SOLICIT_WINDOW 8 +/* + * flag bits propagated from pool to individual peers + */ +#define POOL_FLAG_PMASK (FLAG_IBURST | FLAG_NOSELECT) + /* * peer_select groups statistics for a peer used by clock_select() and * clock_cluster(). @@ -1386,11 +1391,8 @@ receive( peer = newpeer(&rbufp->recv_srcadr, NULL, rbufp->dstadr, r4a.ippeerlimit, MODE_CLIENT, hisversion, peer2->minpoll, peer2->maxpoll, - ( FLAG_PREEMPT - | (FLAG_IBURST & peer2->flags) - | (FLAG_NOSELECT & peer2->flags) - ), - MDF_UCAST | MDF_UCLNT, 0, skeyid, sys_ident); + (FLAG_PREEMPT | (POOL_FLAG_PMASK & peer2->flags)), + (MDF_UCAST | MDF_UCLNT), 0, skeyid, sys_ident); if (NULL == peer) { DPRINTF(2, ("receive: AM_MANYCAST drop: duplicate\n")); sys_declined++;