1.1 --- a/RELEASE_NOTES Tue Jan 31 09:21:49 2012 -0800
1.2 +++ b/RELEASE_NOTES Sat Feb 04 13:54:15 2012 +0100
1.3 @@ -26,6 +26,7 @@
1.4 ----------
1.5 - bug 1319 - Fix Ipv6RawSocketImpl Icmpv6 filter
1.6 - bug 1318 - Asserts for IPv6 malformed packets
1.7 + - bug 1357 - IPv6 fragmentation fails due to checks about malformed extensions
1.8
1.9 Known issues
1.10 ------------
2.1 --- a/src/internet/model/ipv6-l3-protocol.cc Tue Jan 31 09:21:49 2012 -0800
2.2 +++ b/src/internet/model/ipv6-l3-protocol.cc Sat Feb 04 13:54:15 2012 +0100
2.3 @@ -969,15 +969,16 @@
2.4 if (ipv6Extension)
2.5 {
2.6 uint8_t nextHeaderStep = 0;
2.7 + uint8_t curHeader = nextHeader;
2.8 nextHeaderStep = ipv6Extension->Process (p, nextHeaderPosition, ip, dst, &nextHeader, isDropped);
2.9 nextHeaderPosition += nextHeaderStep;
2.10
2.11 - NS_ASSERT_MSG (nextHeaderStep != 0, "Zero-size IPv6 Option Header, aborting");
2.12 -
2.13 if (isDropped)
2.14 {
2.15 return;
2.16 }
2.17 + NS_ASSERT_MSG (nextHeaderStep != 0 || curHeader == Ipv6Header::IPV6_EXT_FRAGMENTATION,
2.18 + "Zero-size IPv6 Option Header, aborting" << *packet );
2.19 }
2.20 else
2.21 {