From: Dave Hart Date: Sun, 27 Nov 2011 00:39:11 +0000 (+0000) Subject: [Bug 2072] Orphan parent selection metric needs ntohl(). X-Git-Tag: NTP_4_2_6P5_RC2~4^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f4a55fed2606c77e9de2e3ddd8ab40023dce9a5c;p=thirdparty%2Fntp.git [Bug 2072] Orphan parent selection metric needs ntohl(). bk: 4ed186af4FZG9_UE-EyiYs3bSV7f2g --- diff --git a/ChangeLog b/ChangeLog index b81fa6d8d..ce47bd3d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ --- * [Bug 2050] Orphan mode stratum counting to infinity. +* [Bug 2072] Orphan parent selection metric needs ntohl(). --- (4.2.6p5-RC1) 2011/10/18 Released by Harlan Stenn diff --git a/libntp/a_md5encrypt.c b/libntp/a_md5encrypt.c index 05c109a9f..fe5dbb0d4 100644 --- a/libntp/a_md5encrypt.c +++ b/libntp/a_md5encrypt.c @@ -87,6 +87,7 @@ MD5authdecrypt( * Calculate the reference id from the address. If it is an IPv4 * address, use it as is. If it is an IPv6 address, do a md5 on * it and use the bottom 4 bytes. + * The result is in network byte order. */ u_int32 addr2refid(sockaddr_u *addr) diff --git a/ntpd/ntp_proto.c b/ntpd/ntp_proto.c index 55177915d..82ca05e4a 100644 --- a/ntpd/ntp_proto.c +++ b/ntpd/ntp_proto.c @@ -2291,10 +2291,10 @@ clock_select(void) */ if (peer->stratum == sys_orphan) { u_int32 localmet; - u_int32 peermet; + u_int32 peermet; - localmet = peer->dstadr->addr_refid; - peermet = addr2refid(&peer->srcadr); + localmet = ntohl(peer->dstadr->addr_refid); + peermet = ntohl(addr2refid(&peer->srcadr)); if (peermet < localmet && peermet < orphmet) { typeorphan = peer;