Page MenuHomeFreeBSD

Update the fragment reassembly code's handling of overlapping fragments to conform to RFC 8200.
AbandonedPublic

Authored by jtl on Aug 22 2018, 5:31 PM.

Details

Summary

Update the fragment reassembly code's handling of overlapping fragments to conform to RFC 8200.

RFC 8200 specifies that "[i]f any of the fragments being reassembled overlap with any other fragments being reassembled for the same packet, reassembly of that packet must be abandoned and all the fragments that have been received for that packet must be discarded, and no ICMP error messages should be sent."

It goes on to make an optional exception for exact duplicates.

Diff Detail

Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 19057
Build 18688: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Aug 23 2018, 12:29 AM

Ignoring the unrelated noise removing the #if 0 block the functional changes seem fine.

sys/netinet6/frag6.c
538

Removing this block has nothing to do with the commit but I am happy it's been done (as stated on the other review). Want to just get it out of the noise?

548

Thanks for the RFC reference!!! :)))

bz requested changes to this revision.Jul 31 2019, 12:30 PM

I changed my mind...

sys/netinet6/frag6.c
519

Just saying, this is a bad idea of a use-after-free (here and below) as ip6af just got freed before used for a comparison. I'll deal with it.

This revision now requires changes to proceed.Jul 31 2019, 12:30 PM