TCP checksum is bad Yes, it seems that the TCP checksum is not the real cause the problem.
After looking deeper in the source and doing some more tests, I see an interoperability issue in PHEX and Jtella.
The Gnutella RFC 0.6 says in section 2.3:
"Servents SHOULD remove any GGEP blocks from Ping, Pong and Push
messages before sending those messages to hosts that have not
indicated GGEP support."
Here, PHEX has not seen that Jtella-0.8 doesn't support GGEP, but sends the GGEP extension anyway. This causes Jtella to discard the PONG message due to a wrong payload exceeding 14 bytes.
AFter modifying some code in JTella, the PONG message coming from PHEX is now accepted, but I guess that a correction should also been done in PHEX, to avoid sending GGEP extensions to servents that doo not support this feature.
______________
Ivan Lovric
ESECO SYSTEMS |