Hello again, in the current Freenet-code, the realRun-method of the AnnounceSender class contains a check whether opennet is disabled [1]. However, (if I understood the code correctly and) if opennet is disabled, no Instance of the AnnounceSender class will ever be created at this node (incoming announce requests are already rejected in the handleAnnounceRequest-method of the NodeDispatcher-class [2]), which renders the check mentioned above obsolete. Therefore it may be removed for the sake of code simplicity. I know, it's just 4 lines but I think it's worth mentioning.
While trying to run Freenet in a local testbed without connection to the "real" Opennet, I encountered a problem which keeps nodes in opennet-mode from connecting to each other. More precisely, my testbed currently consists of 3 nodes: a seed node S and two opennet nodes O1,O2. When O1 sends an announce request (with HTL 18) to S while O2 is not connected to S, S accepts and also wants O1 as a peer, thus S sends an AnnouncementReply together with its noderef to O1. After S has sent its ref, it sends a FNPRouteNotFound to O1 as no more peers are available. However, the packets received by O1 are handled in a different order than they were sent by S, so that the FNPRouteNotFound-message gets processed earlier than the last message of the noderef-transfer, thereby closing the connection to S and causing the noderef- transfer to fail. I encountered an analogous case when O2 was also connected to S, where a noderef-transmission from O2 to O1 via S was aborted because the FNPRouteNotFound-message from O2 was processed earlier than the last bulk transfer packet. Do you know what might lead to this reordering? Both S, O1 and O2 are running on the same machine but with different ports, so I wouldn't expect the OS to reorder packets. If you need more information (logfiles etc.), I would be glad to help. Martin [1] https://github.com/freenet/fred/blob/71a788164a896d6e5b6af0dfe0f35da5a6927633/src/freenet/node/AnnounceSender.java#L139 [2] https://github.com/freenet/fred/blob/71a788164a896d6e5b6af0dfe0f35da5a6927633/src/freenet/node/NodeDispatcher.java#L648 _______________________________________________ Devl mailing list Devl@freenetproject.org https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl