Fixed a bug in IPv4 pseudoIP cksum calculation which would cause invalid TCP and UDP cksums in certain cases
This commit is contained in:
parent
956455137c
commit
7327fbb58d
@ -622,6 +622,9 @@ quint32 Ip4Protocol::protocolFrameCksum(int streamIndex,
|
||||
sum += fieldData(ip4_proto, FieldValue, streamIndex).toUInt() & 0x00FF;
|
||||
sum += (fieldData(ip4_totLen, FieldValue, streamIndex).toUInt() & 0xFFFF) - 20;
|
||||
|
||||
while(sum>>16)
|
||||
sum = (sum & 0xFFFF) + (sum >> 16);
|
||||
|
||||
// Above calculation done assuming 'big endian'
|
||||
// - so convert to host order
|
||||
//return qFromBigEndian(sum);
|
||||
|
Loading…
Reference in New Issue
Block a user