If no L4 protocol follows IPv6, set the IPv6 Next-Header field to 0x3B (IPv6-No-Next-Header) instead of leaving it at 0 which is interpreted as IPv6-Hop-By-Hop by the recipient and subsequent failure in parsing the frame
This commit is contained in:
parent
e2a4431418
commit
f4f5214b7a
@ -262,10 +262,17 @@ QVariant Ip6Protocol::fieldData(int index, FieldAttrib attrib,
|
|||||||
case FieldValue:
|
case FieldValue:
|
||||||
case FieldFrameValue:
|
case FieldFrameValue:
|
||||||
case FieldTextValue:
|
case FieldTextValue:
|
||||||
if (data.is_override_next_header())
|
if (data.is_override_next_header()) {
|
||||||
nextHdr = data.next_header();
|
nextHdr = data.next_header();
|
||||||
else
|
}
|
||||||
|
else {
|
||||||
nextHdr = payloadProtocolId(ProtocolIdIp);
|
nextHdr = payloadProtocolId(ProtocolIdIp);
|
||||||
|
if ((nextHdr == 0)
|
||||||
|
&& next
|
||||||
|
&& (next->protocolIdType() == ProtocolIdNone)) {
|
||||||
|
nextHdr = 0x3b; // IPv6 No-Next-Header
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
nextHdr = 0; // avoid the 'maybe used unitialized' warning
|
nextHdr = 0; // avoid the 'maybe used unitialized' warning
|
||||||
|
Loading…
Reference in New Issue
Block a user