Subject: bin/3709: bogus dhcpd warnings about short icmp packets
To: None <gnats-bugs@gnats.netbsd.org>
From: None <andreas@planix.com>
List: netbsd-bugs
Date: 06/04/1997 16:47:06
>Number:         3709
>Category:       bin
>Synopsis:       bogus dhcpd warnings about short icmp packets
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    bin-bug-people (Utility Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jun  4 13:50:01 1997
>Last-Modified:
>Originator:     Andreas Wrede
>Organization:
Andreas Wrede              Planix, Inc.
andreas@planix.com         Networking, System Administration, Consulting
http://www.planix.com      Toronto, Ontario, Canada
>Release:        <NetBSD-current source date> 970604
>Environment:
	
System: NetBSD woffi 1.2E NetBSD 1.2E (WOFFI) #1: Sun May 25 11:17:33 EDT 1997 root@woffi:/local1/src/netbsd-current/src/sys/arch/i386/compile/WOFFI i386


>Description:
	
dhcpd report a short icmp packet whenever an icmp packet is received 
that is shorter that the sum of struct ip and struct icfrom.
>How-To-Repeat:
	
Start dhcpd and ping a host in your local network.
>Fix:
	
Apply the following patch:

*** src/usr.sbin/dhcp/common/icmp.c.orig	Tue Jun  3 07:27:43 1997
--- src/usr.sbin/dhcp/common/icmp.c	Wed Jun  4 16:15:39 1997
***************
*** 149,155 ****
  		warn ("icmp_echoreply: %m");
  		return;
  	}
! 	if (status < (sizeof (struct ip)) + (sizeof *icfrom)) {
  		warn ("icmp_echoreply: short packet");
  		return;
  	}
--- 149,155 ----
  		warn ("icmp_echoreply: %m");
  		return;
  	}
! 	if (status < (sizeof (struct ip)) + (sizeof icfrom -> icmp_type)) {
  		warn ("icmp_echoreply: short packet");
  		return;
  	}
>Audit-Trail:
>Unformatted:
The dhcpd server reports "icmp_echoreply: short packet" for (almost) all icmp packet seen.