Author: ae
Date: Thu Feb 20 21:02:24 2014
New Revision: 262257
URL: http://svnweb.freebsd.org/changeset/base/262257

Log:
  MFC r261835:
    Drop packets to multicast address whose scop field contains the
    reserved value 0.
  
  Sponsored by: Yandex LLC

Modified:
  stable/9/sys/netinet6/ip6_input.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/netinet6/ip6_input.c
==============================================================================
--- stable/9/sys/netinet6/ip6_input.c   Thu Feb 20 21:01:59 2014        
(r262256)
+++ stable/9/sys/netinet6/ip6_input.c   Thu Feb 20 21:02:24 2014        
(r262257)
@@ -558,7 +558,18 @@ ip6_input(struct mbuf *m)
                in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_addrerr);
                goto bad;
        }
-
+       if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst) &&
+           IPV6_ADDR_MC_SCOPE(&ip6->ip6_dst) == 0) {
+               /*
+                * RFC4291 2.7:
+                * Nodes must not originate a packet to a multicast address
+                * whose scop field contains the reserved value 0; if such
+                * a packet is received, it must be silently dropped.
+                */
+               IP6STAT_INC(ip6s_badscope);
+               in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_addrerr);
+               goto bad;
+       }
 #ifdef ALTQ
        if (altq_input != NULL && (*altq_input)(m, AF_INET6) == 0) {
                /* packet is dropped by traffic conditioner */
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to