View Single Post
  #9 (permalink)  
Old August 13th, 2009
Lovric Lovric is offline
Join Date: August 1st, 2009
Posts: 11
Lovric is flying high
Default 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
Reply With Quote