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.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Nov 13, 4:23 PM
Unknown Object (File)
Oct 14 2024, 12:03 AM
Unknown Object (File)
Oct 3 2024, 9:44 PM
Unknown Object (File)
Oct 1 2024, 10:08 PM
Unknown Object (File)
Oct 1 2024, 12:03 PM
Unknown Object (File)
Sep 28 2024, 6:55 AM
Unknown Object (File)
Sep 19 2024, 5:07 PM
Unknown Object (File)
Sep 19 2024, 12:01 PM
Subscribers

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 Passed
Unit
No 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