Subject: Re: New life for Sun Ray 1s
To: Martin Husemann <martin@duskware.de>
From: Tony 'Nicoya' Mantler <nicoya@apia.dhs.org>
List: port-sparc
Date: 06/22/2002 15:32:01
At 4:16 AM -0500 6/22/02, Martin Husemann wrote:
>> As I recall, the Krups sends out a DHCP packet which is much longer than
>> normal, and is subsequently rejected by the standard ISC DHCP server.
>
>I didn't tcpdump it recently, but I certainly have no patch for the krups
>firmware installed (it came to me booting JavaOS) and I run stock 1.6_Beta1
>dhcpd on this server). There is no trace of anything broken in the logs:
[...]

The Krups javastation sends out a 1514-byte (including ethernet headers)
dhcp packet, and I really have no idea why.

I just did some more checking on this, and it would appear that the
mishandling in the ISC DHCP server is localized to the linux packet filter
version of the read/write code, which uses a 1500 byte buffer to read the
packets without checking that an entire packet has been read, while the bpf
version sizes the buffer according to some ioctls, obviously getting a
buffer >= 1514 bytes.

It's hard for me to say which end is more broken. There shouldn't be any
reason for the javastation to send a 1514-byte DHCPDISCOVER packet, nor
should there be any reason for ISC DHCP to mishandle a 1514-byte packet.
Unfortunatley, RFC 2131 does not appear to enforce any sort of maximum size
on a DHCPDISCOVER packet, though hopefully this is limited in practice by
the media's MTU.


Cheers - Tony 'Nicoya' Mantler :)


--
Tony "Nicoya" Mantler - Renaissance Nerd Extraordinaire - nicoya@apia.dhs.org
Winnipeg, Manitoba, Canada           --           http://nicoya.feline.pp.se/