diff options
Diffstat (limited to 'share/security/patches/EN-06:02/net.patch')
-rw-r--r-- | share/security/patches/EN-06:02/net.patch | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/share/security/patches/EN-06:02/net.patch b/share/security/patches/EN-06:02/net.patch deleted file mode 100644 index 32cc9ba746..0000000000 --- a/share/security/patches/EN-06:02/net.patch +++ /dev/null @@ -1,141 +0,0 @@ -Index: sys/netinet/ip_output.c -=================================================================== -RCS file: /home/cvs/src/sys/netinet/ip_output.c,v -retrieving revision 1.242.2.8 -diff -u -r1.242.2.8 ip_output.c ---- sys/netinet/ip_output.c 31 Jan 2006 16:06:05 -0000 1.242.2.8 -+++ sys/netinet/ip_output.c 25 Aug 2006 15:07:44 -0000 -@@ -1162,6 +1162,9 @@ - return (EINVAL); - } - -+ if (inp == NULL) -+ return (EINVAL); -+ - switch (sopt->sopt_dir) { - case SOPT_SET: - switch (sopt->sopt_name) { -Index: sys/netinet6/in6.c -=================================================================== -RCS file: /home/cvs/src/sys/netinet6/in6.c,v -retrieving revision 1.51.2.8 -diff -u -r1.51.2.8 in6.c ---- sys/netinet6/in6.c 9 Mar 2006 11:59:03 -0000 1.51.2.8 -+++ sys/netinet6/in6.c 25 Aug 2006 15:07:56 -0000 -@@ -1720,20 +1720,55 @@ - - /* we could do in(6)_socktrim here, but just omit it at this moment. */ - -+ if (newhost && nd6_need_cache(ifp) != 0) { -+ /* set the rtrequest function to create llinfo */ -+ ia->ia_ifa.ifa_rtrequest = nd6_rtrequest; -+ } -+ - /* - * Special case: - * If a new destination address is specified for a point-to-point - * interface, install a route to the destination as an interface -- * direct route. -+ * direct route. In addition, if the link is expected to have neighbor -+ * cache entries, specify RTF_LLINFO so that a cache entry for the -+ * destination address will be created. -+ * created - * XXX: the logic below rejects assigning multiple addresses on a p2p -- * interface that share a same destination. -+ * interface that share the same destination. - */ - plen = in6_mask2len(&ia->ia_prefixmask.sin6_addr, NULL); /* XXX */ - if (!(ia->ia_flags & IFA_ROUTE) && plen == 128 && - ia->ia_dstaddr.sin6_family == AF_INET6) { -- if ((error = rtinit(&(ia->ia_ifa), (int)RTM_ADD, -- RTF_UP | RTF_HOST)) != 0) -+ int rtflags = RTF_UP | RTF_HOST; -+ struct rtentry *rt = NULL, **rtp = NULL; -+ -+ if (nd6_need_cache(ifp) != 0) { -+ rtflags |= RTF_LLINFO; -+ rtp = &rt; -+ } -+ -+ error = rtrequest(RTM_ADD, (struct sockaddr *)&ia->ia_dstaddr, -+ (struct sockaddr *)&ia->ia_addr, -+ (struct sockaddr *)&ia->ia_prefixmask, -+ ia->ia_flags | rtflags, rtp); -+ if (error != 0) - return (error); -+ if (rt != NULL) { -+ struct llinfo_nd6 *ln; -+ -+ RT_LOCK(rt); -+ ln = (struct llinfo_nd6 *)rt->rt_llinfo; -+ if (ln != NULL) { -+ /* -+ * Set the state to STALE because we don't -+ * have to perform address resolution on this -+ * link. -+ */ -+ ln->ln_state = ND6_LLINFO_STALE; -+ } -+ RT_REMREF(rt); -+ RT_UNLOCK(rt); -+ } - ia->ia_flags |= IFA_ROUTE; - } - if (plen < 128) { -@@ -1744,11 +1779,8 @@ - } - - /* Add ownaddr as loopback rtentry, if necessary (ex. on p2p link). */ -- if (newhost) { -- /* set the rtrequest function to create llinfo */ -- ia->ia_ifa.ifa_rtrequest = nd6_rtrequest; -+ if (newhost) - in6_ifaddloop(&(ia->ia_ifa)); -- } - - return (error); - } -Index: sys/netinet6/nd6.c -=================================================================== -RCS file: /home/cvs/src/sys/netinet6/nd6.c,v -retrieving revision 1.48.2.12 -diff -u -r1.48.2.12 nd6.c ---- sys/netinet6/nd6.c 29 Mar 2006 21:05:11 -0000 1.48.2.12 -+++ sys/netinet6/nd6.c 25 Aug 2006 15:08:02 -0000 -@@ -512,6 +512,19 @@ - ln->ln_asked++; - nd6_llinfo_settimer(ln, (long)ndi->retrans * hz / 1000); - nd6_ns_output(ifp, dst, dst, ln, 0); -+ } else if (rt->rt_ifa != NULL && -+ rt->rt_ifa->ifa_addr->sa_family == AF_INET6 && -+ (((struct in6_ifaddr *)rt->rt_ifa)->ia_flags & IFA_ROUTE)) { -+ /* -+ * This is an unreachable neighbor whose address is -+ * specified as the destination of a p2p interface -+ * (see in6_ifinit()). We should not free the entry -+ * since this is sort of a "static" entry generated -+ * via interface address configuration. -+ */ -+ ln->ln_asked = 0; -+ ln->ln_expire = 0; /* make it permanent */ -+ ln->ln_state = ND6_LLINFO_STALE; - } else { - (void)nd6_free(rt, 0); - ln = NULL; -Index: sys/vm/uma_core.c -=================================================================== -RCS file: /home/cvs/src/sys/vm/uma_core.c,v -retrieving revision 1.119.2.15 -diff -u -r1.119.2.15 uma_core.c ---- sys/vm/uma_core.c 14 Feb 2006 03:37:58 -0000 1.119.2.15 -+++ sys/vm/uma_core.c 25 Aug 2006 15:08:12 -0000 -@@ -2417,8 +2417,7 @@ - * If nothing else caught this, we'll just do an internal free. - */ - zfree_internal: -- uma_zfree_internal(zone, item, udata, SKIP_DTOR, ZFREE_STATFAIL | -- ZFREE_STATFREE); -+ uma_zfree_internal(zone, item, udata, SKIP_DTOR, ZFREE_STATFREE); - - return; - } |