components/ntp/patches/92-in6.patch
author Brian Utterback <brian.utterback@oracle.com>
Wed, 24 Dec 2014 12:00:33 -0800
branchs11-update
changeset 3573 7e043dae7c72
permissions -rw-r--r--
20248611 Update ntp to 4.2.8 15608765 SUNBT6908332 ntpd(v4) fails with link local IPv6 addresses. 15797761 SUNBT7176468 ntpd(1m) man page contains typos 17626608 There There is is a typo in SmfValueNTP.html 19365356 buffer overrun in tokenize() 20231654 ntp fails to build, bad arc4random 20244925 problem in SERVICE/NTP
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3573
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     1
The bug for this issue is NTP community bug 2707. This patch has been
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     2
submitted to the community. This patch may be removed when NTP is
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     3
upgraded to any version that has bug 2702 fixed in it.
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     4
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     5
--- ntpd/ntp_io.c
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     6
+++ ntpd/ntp_io.c
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     7
@@ -3450,19 +3450,18 @@ read_network_packet(
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     8
 	*/
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     9
 
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    10
 	// temporary hack...
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    11
-#ifndef HAVE_SOLARIS_PRIVS
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    12
 	if (AF_INET6 == itf->family) {
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    13
 		DPRINTF(1, ("Got an IPv6 packet, from <%s> (%d) to <%s> (%d)\n",
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    14
 			stoa(&rb->recv_srcadr),
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    15
-			IN6_IS_ADDR_LOOPBACK(&rb->recv_srcadr),
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    16
+			IN6_IS_ADDR_LOOPBACK(&rb->recv_srcadr.sa6.sin6_addr),
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    17
 			stoa(&itf->sin),
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    18
-			!IN6_IS_ADDR_LOOPBACK(&itf->sin)
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    19
+			!IN6_IS_ADDR_LOOPBACK(&itf->sin.sa6.sin6_addr)
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    20
 			));
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    21
 	}
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    22
 
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    23
 	if (   AF_INET6 == itf->family
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    24
-	    && IN6_IS_ADDR_LOOPBACK(&rb->recv_srcadr)
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    25
-	    && !IN6_IS_ADDR_LOOPBACK(&itf->sin)
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    26
+	    && IN6_IS_ADDR_LOOPBACK(&rb->recv_srcadr.sa6.sin6_addr)
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    27
+	    && !IN6_IS_ADDR_LOOPBACK(&itf->sin.sa6.sin6_addr)
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    28
 	   ) {
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    29
 		packets_dropped++;
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    30
 		DPRINTF(1, ("DROPPING that packet\n"));
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    31
@@ -3470,7 +3469,6 @@ read_network_packet(
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    32
 		return buflen;
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    33
 	}
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    34
 	DPRINTF(1, ("processing that packet\n"));
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    35
-#endif
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    36
 
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    37
 	/*
7e043dae7c72 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    38
 	 * Got one.  Mark how and when it got here,