From: Miroslav Lichvar Date: Fri, 23 Jan 2015 13:31:41 +0000 (+0100) Subject: cmdmon: use system values for loopback addresses X-Git-Tag: 2.0-pre1~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ee27c6ef6ac3ef56d918445cc70ae3add21a06c;p=thirdparty%2Fchrony.git cmdmon: use system values for loopback addresses --- diff --git a/cmdmon.c b/cmdmon.c index 0db4f1fd..dabba79b 100644 --- a/cmdmon.c +++ b/cmdmon.c @@ -1654,17 +1654,15 @@ read_from_cmd_socket(void *anything) UTI_SockaddrToIPAndPort(&where_from.u, &remote_ip, &remote_port); + /* Check if it's a loopback address (127.0.0.1 or ::1) */ switch (remote_ip.family) { case IPADDR_INET4: - localhost = (remote_ip.addr.in4 == 0x7f000001UL); + localhost = remote_ip.addr.in4 == INADDR_LOOPBACK; break; #ifdef FEAT_IPV6 case IPADDR_INET6: - /* Check for ::1 */ - for (localhost = 0; localhost < 16; localhost++) - if (remote_ip.addr.in6[localhost] != 0) - break; - localhost = (localhost == 15 && remote_ip.addr.in6[localhost] == 1); + localhost = !memcmp(remote_ip.addr.in6, &in6addr_loopback, + sizeof (in6addr_loopback)); break; #endif default: