Hey all,

I found a bug in icmp.c for IPv4 in LWIP 1.4.1 (but it is also present in git 
master):

When a client sends an ICMP echo request with ID 0, Sequence 0 and either no 
data or any amount of 0x00 Bytes as data, the checksum in the reply by LWIP is 
wrong (off-by-one).

Expected checksum is 0xffff in that case, observed is 0x0000.
So the client does not see that reply as valid and determines the LWIP device 
as unreachable.
Most "usual" ping applications do send a payload that is not only NULL bytes, 
so this probably slipped by ;o)

I opened an issue on my github fork of LWIP and fixed it there:
https://github.com/tabascoeye/lwip/issues/17
https://github.com/tabascoeye/lwip/commit/32c32d8e2681e1f456ad487ac9f4159f7e765d57

do you guys agree on this fix?

Cheers,
Fabian
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to