Date: Sun, 21 Jan 2001 21:25:25 +0100 (CET) From: Jesper Skriver <jesper@skriver.dk> To: FreeBSD-gnats-submit@freebsd.org Subject: kern/24512: Sent ICMP unreach when packet not for us is received, and forwarding is disabled Message-ID: <200101212025.f0LKPPB00717@tam.skriver.dk>
next in thread | raw e-mail | index | archive | help
>Number: 24512 >Category: kern >Synopsis: Sent ICMP unreach when packet not for us is received, and forwarding is disabled >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Jan 21 12:30:01 PST 2001 >Closed-Date: >Last-Modified: >Originator: Jesper Skriver <jesper@skriver.dk> >Release: FreeBSD 5.0-CURRENT i386 >Organization: >Environment: System: FreeBSD tam 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Sun Jan 21 20:46:42 CET 2001 root@tam:/usr/obj/usr/src/sys/TAM2 i386 >Description: Sent a ICMP unreachable instead of dropping it silent, if we receive a packet not for us, and forwarding disabled. >How-To-Repeat: >Fix: Apply this diff --- sys/netinet/ip_input.c.old Sun Jan 21 19:09:58 2001 +++ sys/netinet/ip_input.c Sun Jan 21 20:39:39 2001 @@ -124,6 +124,10 @@ &ip_keepfaith, 0, "Enable packet capture for FAITH IPv4->IPv6 translater daemon"); +int ip_sent_unreach = 1; +SYSCTL_INT(_net_inet_ip, OID_AUTO, sent_unreach, CTLFLAG_RW, &ip_sent_unreach, + 0, "Sent ICMP unreach when packet not for us rx, and forwarding disabled"); + #ifdef DIAGNOSTIC static int ipprintfs = 0; #endif @@ -575,7 +579,14 @@ */ if (ipforwarding == 0) { ipstat.ips_cantforward++; - m_freem(m); + /* + * If we receive a packet not for us, and forwarding disabled + * sent a ICMP host unreachable back to the source. + */ + if (ip_sent_unreach != 0) + icmp_error(m, ICMP_UNREACH, ICMP_UNREACH_HOST, 0, 0); + else + m_freem(m); } else ip_forward(m, 0); #ifdef IPFIREWALL_FORWARD >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101212025.f0LKPPB00717>