From traister@manta.mojozone.org  Sun Dec 14 12:47:57 1997
Received: from manta.mojozone.org (root@dffl0-5.gate.net [199.227.254.68])
          by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id MAA08656
          for <FreeBSD-gnats-submit@freebsd.org>; Sun, 14 Dec 1997 12:47:52 -0800 (PST)
          (envelope-from traister@manta.mojozone.org)
Received: (from traister@localhost)
	by manta.mojozone.org (8.8.7/8.8.7) id PAA02369;
	Sun, 14 Dec 1997 15:29:46 -0500 (EST)
Message-Id: <199712142029.PAA02369@manta.mojozone.org>
Date: Sun, 14 Dec 1997 15:29:46 -0500 (EST)
From: Joe Traister <traister@mojozone.org>
Reply-To: traister@mojozone.org
To: FreeBSD-gnats-submit@freebsd.org
Subject: net.inet.icmp.bmcastecho doesn't work
X-Send-Pr-Version: 3.2

>Number:         5294
>Category:       kern
>Synopsis:       [PATCH] net.inet.icmp.bmcastecho doesn't work
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 14 12:50:01 PST 1997
>Closed-Date:    Thu May 28 15:52:49 PDT 1998
>Last-Modified:  Thu May 28 15:54:56 PDT 1998
>Originator:     Joe Traister
>Release:        FreeBSD 2.2.5-RELEASE i386
>Organization:
None
>Environment:

	2.2.5-RELEASE

>Description:

	The net.inet.icmp.bmcastecho sysctl variable doesn't stop the system
	from replying to ICMP echo or timestamp requests sent to a broadcast
	address.

>How-To-Repeat:

	sysctl -w net.inet.icmp.bmcastecho=0
	ping broadcast address of network and note that system still
	replies.

>Fix:

--- ip_icmp.c.dist	Sat Dec 13 23:23:36 1997
+++ ip_icmp.c	Sun Dec 14 15:17:48 1997
@@ -377,8 +377,8 @@
 
 	case ICMP_ECHO:
 		if (!icmpbmcastecho
-		    && (m->m_flags & (M_MCAST | M_BCAST)) != 0
-		    && IN_MULTICAST(ntohl(ip->ip_dst.s_addr))) {
+		    && ((m->m_flags & (M_MCAST | M_BCAST)) != 0
+		        || IN_MULTICAST(ntohl(ip->ip_dst.s_addr)))) {
 			icmpstat.icps_bmcastecho++;
 			break;
 		}
@@ -387,8 +387,8 @@
 
 	case ICMP_TSTAMP:
 		if (!icmpbmcastecho
-		    && (m->m_flags & (M_MCAST | M_BCAST)) != 0
-		    && IN_MULTICAST(ntohl(ip->ip_dst.s_addr))) {
+		    && ((m->m_flags & (M_MCAST | M_BCAST)) != 0
+		        || IN_MULTICAST(ntohl(ip->ip_dst.s_addr)))) {
 			icmpstat.icps_bmcasttstamp++;
 			break;
 		}
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->suspended 
State-Changed-By: phk 
State-Changed-When: Tue May 19 22:51:51 PDT 1998 
State-Changed-Why:  
awaiting committer 
State-Changed-From-To: suspended->closed 
State-Changed-By: danny 
State-Changed-When: Thu May 28 15:52:49 PDT 1998 
State-Changed-Why:  
Similar patch applied by David Greenman. 
>Unformatted:
