components/ntp/patches/92-in6.patch
author Brian Utterback <brian.utterback@oracle.com>
Wed, 24 Dec 2014 11:56:52 -0800
changeset 3572 2f22f425382c
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:
3572
2f22f425382c 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
2f22f425382c 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 
2f22f425382c 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.
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     4
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     5
--- ntpd/ntp_io.c
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     6
+++ ntpd/ntp_io.c
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     7
@@ -3450,19 +3450,18 @@ read_network_packet(
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     8
 	*/
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
     9
 
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    10
 	// temporary hack...
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    11
-#ifndef HAVE_SOLARIS_PRIVS
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    12
 	if (AF_INET6 == itf->family) {
2f22f425382c 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",
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    14
 			stoa(&rb->recv_srcadr),
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    15
-			IN6_IS_ADDR_LOOPBACK(&rb->recv_srcadr),
2f22f425382c 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),
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    17
 			stoa(&itf->sin),
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    18
-			!IN6_IS_ADDR_LOOPBACK(&itf->sin)
2f22f425382c 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)
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    20
 			));
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    21
 	}
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    22
 
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    23
 	if (   AF_INET6 == itf->family
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    24
-	    && IN6_IS_ADDR_LOOPBACK(&rb->recv_srcadr)
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    25
-	    && !IN6_IS_ADDR_LOOPBACK(&itf->sin)
2f22f425382c 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)
2f22f425382c 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)
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    28
 	   ) {
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    29
 		packets_dropped++;
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    30
 		DPRINTF(1, ("DROPPING that packet\n"));
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    31
@@ -3470,7 +3469,6 @@ read_network_packet(
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    32
 		return buflen;
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    33
 	}
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    34
 	DPRINTF(1, ("processing that packet\n"));
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    35
-#endif
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    36
 
2f22f425382c 20248611 Update ntp to 4.2.8
Brian Utterback <brian.utterback@oracle.com>
parents:
diff changeset
    37
 	/*
2f22f425382c 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,