Hi,
I noticed today in my logs something like:
1.2.3.4 sent an invalid ICMP error to a broadcast address.
And i though that it would be nice to make it report what code/type was
it. So here goes:
2.5 version:
diff -Nru linux-2.5.69.bak/net/ipv4/icmp.c linux-2.5.68/net/ipv4/icmp.c
--- linux-2.5.69.bak/net/ipv4/icmp.c 2003-05-17 14:56:11.000000000 +0200
+++ linux-2.5.69/net/ipv4/icmp.c 2003-05-23 12:15:45.000000000 +0200
@@ -663,8 +659,10 @@
inet_addr_type(iph->daddr) == RTN_BROADCAST) {
if (net_ratelimit())
printk(KERN_WARNING "%u.%u.%u.%u sent an invalid ICMP "
+ "type %u, code %u "
"error to a broadcast.\n",
- NIPQUAD(skb->nh.iph->saddr));
+ NIPQUAD(skb->nh.iph->saddr),
+ icmph->type, icmph->code);
goto out;
}
2.4 Version:
diff -Nru linux.bak/net/ipv4/icmp.c linux/net/ipv4/icmp.c
--- linux.bak/net/ipv4/icmp.c 2003-04-30 15:57:40.000000000 +0200
+++ linux/net/ipv4/icmp.c 2003-05-23 12:20:46.000000000 +0200
@@ -625,8 +595,9 @@
if (inet_addr_type(iph->daddr) == RTN_BROADCAST)
{
if (net_ratelimit())
- printk(KERN_WARNING "%u.%u.%u.%u sent an invalid ICMP error to a broadcast.\n",
- NIPQUAD(skb->nh.iph->saddr));
+ printk(KERN_WARNING "%u.%u.%u.%u sent an invalid ICMP type %u, code %u error to a broadcast.\n",
+ NIPQUAD(skb->nh.iph->saddr),
+ icmph->type, icmph->code);
goto out;
}
}
None of the people on the CC: list maintain the networking
code, I have no idea where you've obtained that outdated
contact information. Eric hasn't done networking work for
at least 4 or 5 years, and it's been a similarly long time
since I've ever used that old rutgers.edu address for myself.
Also, linux-kernel is not the place for networking patches
and discussion, linux-net and netdev are.
--
David S. Miller <[email protected]>
On Sun, May 25, 2003 at 09:14:04PM -0700, David S. Miller wrote:
> None of the people on the CC: list maintain the networking
> code, I have no idea where you've obtained that outdated
> contact information. Eric hasn't done networking work for
> at least 4 or 5 years, and it's been a similarly long time
> since I've ever used that old rutgers.edu address for myself.
net/README:
---- snip ----
ipv4 [email protected],[email protected]
ipv6 [email protected],[email protected]
---- snip ----
probably this file should be removed completly - it's horribly outdated
and we have MAINTAINERS for that purpose..
From: Christoph Hellwig <[email protected]>
Date: Mon, 26 May 2003 06:56:02 +0100
net/README:
...
probably this file should be removed completly - it's horribly outdated
and we have MAINTAINERS for that purpose..
Oh yes, let's kill that thing :-)
On Fri, 23 May 2003, Maciej Soltysiak wrote:
> if (net_ratelimit())
> printk(KERN_WARNING "%u.%u.%u.%u sent an invalid ICMP "
> + "type %u, code %u "
> "error to a broadcast.\n",
> - NIPQUAD(skb->nh.iph->saddr));
> + NIPQUAD(skb->nh.iph->saddr),
> + icmph->type, icmph->code);
> if (net_ratelimit())
> - printk(KERN_WARNING "%u.%u.%u.%u sent an invalid ICMP error to a broadcast.\n",
> - NIPQUAD(skb->nh.iph->saddr));
> + printk(KERN_WARNING "%u.%u.%u.%u sent an invalid ICMP type %u, code %u error to a broadcast.\n",
> + NIPQUAD(skb->nh.iph->saddr),
> + icmph->type, icmph->code);
Perhaps make this a static inline, icmp_warn_invalid() or similar.
- James
--
James Morris
<[email protected]>