P.ArulChandran writes:
 >  By analyzing the packets from FreeBSD in firebug log, I could see that
 > unfragmented packets are sent as fragmented packets, with inappropriate
 > values in the packet header. Even if the packets are fragmented, the
 > 'lf' field is not set correctly. To comply with Section 4.2 of RFC
 > 2734, FreeBSD should set 'lf' to correct values to indicate, whether
 > the packet is fragmented or unfragmented.

I just read the RFC and it looks like we're both at fault.  According
to the RFC:

   A RESERVED object has no defined meaning and SHALL be zeroed by its
   originator or, upon development of a future standard, set to a
   value specified by such a standard. The recipient of a RESERVED object
   SHALL NOT check its value.

Emperically it would seem that FreeBSD is not zeroing the reserved
fields like it should.  Further, since zeroing the reserved fields
fixes interoperability, it would seem that MacOSX is not ignoring them
like it should.  It is fun when different implementations collide in
the field ;)

 >   In any case, Mac OS X should add more saftey checks to prevent panics
 > from corrupted packets.

Yes, and we should zero the reserved fields.  Doing so seems to fix
interoperability with unpatched versions of MacOSX.  See the attached
patch. 

Thanks for letting me know what was going on and making this so easy
to fix..

Drew

Attachment: fwip.diff
Description: full rfc2734 compliance

_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to